각 종류를 무한히 쓸 수 있을 때 n가지 크기의 물건으로 용량 k를 남김없이 채울 수 있는지 판정한다. k는 10^18까지 커진다.
세계화의 물결은 도둑질이라는 유서 깊은 직업에도 밀려왔다. 아무 데나 침입해서 들 수 있는 만큼 챙겨 달아나는 것으로는 이제 부족하다. 경쟁력을 지키려면 이익을 최적화해야 한다.
새로운 규칙은 다음과 같다.
규칙을 지키기가 만만치 않아서, 상점을 털 만한지 판단해 주는 프로그램을 짜기로 했다.
상점에는 nnn가지 종류의 물건이 있고, iii번 종류의 물건 하나는 공간을 정확히 gig_igi만큼 차지한다. 각 종류를 원하는 개수만큼 가져갈 수 있고, 한 개도 가져가지 않아도 된다. 물건을 골라 크기 kkk인 배낭을 빈 공간 없이 정확히 채울 수 있는지 판단하라.
첫째 줄에 물건 종류의 수 nnn과 배낭의 크기 kkk가 주어진다 (1≤n≤201 \le n \le 201≤n≤20, 1≤k≤10181 \le k \le 10^{18}1≤k≤1018).
둘째 줄에 물건 종류별 크기 g1,…,gng_1, \dots, g_ng1,…,gn이 주어진다 (1≤gi≤1031 \le g_i \le 10^31≤gi≤103).
배낭을 빈 공간 없이 채울 수 있으면 possible을, 그렇지 않으면 impossible을 출력한다.
possible
impossible