#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; bool solve(const vector& w) { int n = w.size(); int sum = accumulate(w.begin(), w.end(), 0); if(sum % 2 != 0) return false; int half = sum / 2; vector dp(half + 1, false); dp[0] = true; for(int i=0; i=0; --j){ if(dp[j]) dp[j+w[i]] = true; } } return dp[half]; } int main() { int n; cin >> n; vector w(n); for(int i=0; i> w[i]; if(solve(w)) cout << "possible" << endl; else cout << "impossible" << endl; return 0; }