#include using namespace std; using ll = long long; #define rep(i,m,n) for(int i=m; i bool chmin(T& a, T b){ if(a > b){a = b; return true;} return false; } template bool chmax(T& a, T b){ if(a < b){a = b; return true;} return false; } template T gcd(T a, T b){ return a % b ? gcd(b, a % b) : b; } template T lcm(T a, T b){ return a / gcd(a, b) * b; } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int N; cin >> N; vector W(N); rep(i, 0, N) cin >> W[i]; int sumW = accumulate(all(W), 0); if(sumW & 1){ cout << "impossible" << endl; return 0; } vector dp(N+1, vector(sumW + 1, false)); dp[0][0] = true; rep(i, 0, N){ rep(j, 0, sumW + 1){ if(!dp[i][j]) continue; if(j + W[i] <= sumW) dp[i+1][j + W[i]] = true; dp[i+1][j] = true; } } cout << (dp[N][sumW / 2] ? "" : "im") << "possible" << endl; return 0; }