#include #include #include using namespace std; int main(){ int n; vector vec; cin >> n; int tmp; int sum; sum = 0; for(int i=0;i> tmp; sum += tmp; vec.push_back(tmp); } if(sum % 2 == 1){ cout << "impossible" << endl; return 0; } sort(vec.begin(), vec.end()); int a = sum / 2; int b; b = 0; vector< vector > vecs; vector side1; vector side2; side1.push_back(0);//sum side1.push_back(1);//nextIndex side2.push_back(vec[1]);//sum side2.push_back(1);//nextIndex vecs.push_back(side1); vecs.push_back(side2); //覚えたての深さ優先探索を使う while(vecs.size() > 0){ vector side3; side3 = vecs.back(); vecs.pop_back(); if(side3[0] == a){ cout << "possible" << endl; return 0; }else if(side3[0] < a && side3[1] < n){ int index = side3[1]; side3[1]++; vecs.push_back(side3); side3[0] += vec[index]; vecs.push_back(side3); } } cout << "impossible" << endl; return 0; }