#include using namespace std; #define REP(i,first,last) for (int i=first;i y ? x : y) #define MIN(x,y) (x < y ? x : y) #define prints(str) cout << str << " "; #define printn(str) cout << str << endl; int main(){ int N; cin >> N; vector w_list(N); bitset<10001> dp; int total = 0; REP(i,0,N){ cin >> w_list[i]; total += w_list[i]; } if (total & 1 == 1) { printn("impossible"); return 0; } int half = total >> 1; dp[0] = 1; for (auto w: w_list) { for (int i=10000-w;i>=0;--i) { if (dp[i]) { if (i + w == half) { printn("possible"); return 0; } dp[i + w] = 1; } } } printn("impossible"); }