typedef long long ll; typedef long double ld; #include using namespace std; // #define int long long #include using namespace __gnu_pbds; template using ordered_set = tree, rb_tree_tag, tree_order_statistics_node_update>; // std::cout << *s.find_by_order(1) << std::endl; // 2 signed main(){ // これがないと落ちることがある ios_base::sync_with_stdio(false); cin.tie(0); ll n; cin >> n; vector w(n); ll sum = 0; for (ll i = 0; i < n; i++){ cin >> w[i]; sum += w[i]; } if(sum%2==1){ cout << "impossible" << endl; return 0; } vector> dp(n+1, vector(sum/2+1)); dp[0][0] = true; for (ll i = 0; i < n; i++){ for (ll j = 0; j <= sum/2; j++){ dp[i+1][j] = dp[i][j] || dp[i][j-w[i]]; } } if(dp[n][sum/2]){ cout << "possible" << endl; }else{ cout << "impossible" << endl; } }