#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ull = unsigned long long; int main() { int n; cin >> n; vector W(n); vector all_num; for(auto&& x : W) { cin >> x; } ull sum = accumulate(W.begin(),W.end(),0); if(sum & 1) { cout << "impossible" << endl; return 0; } else { sum /=2; } for(int i = 0; i < n; ++i) { int max_size = all_num.size(); for(int j =0; j < max_size; ++j) { all_num.emplace_back(all_num.at(j) + W.at(i)); } all_num.emplace_back(W.at(i)); sort(all_num.begin(),all_num.end()); all_num.erase(unique(all_num.begin(),all_num.end()),all_num.end()); } if(find(all_num.begin(),all_num.end(),sum) != all_num.end()) { cout << "possible" << endl; } else { cout << "impossible" << endl; } return 0; }