#include #define rep(i, n) for(long long i = 0; i < n; i++) #define ALL(v) (v).begin(), (v).end() using namespace std; using lint = long long; int main() { int n; cin >> n; vector w(n); rep(i, n) { cin >> w[i]; } int s = accumulate(ALL(w), 0); vector> dp(n + 1, vector(s + 1, false)); dp[0][0] = 1; for (int i = 1; i <= n; i++) { for (int j = 0; j <= s; j++) { dp[i][j] |= dp[i - 1][j]; if (j - w[i - 1] >= 0) { dp[i][j] |= dp[i - 1][j - w[i - 1]]; } } } cout << ((s % 2 == 0 && dp[n][s / 2] == 1) ? "possible" : "impossible") << endl; }