#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define MAX_MOD 1000000007 #define REP(i,n) for(long long i = 0;i < n;++i) #define LONG_INF 100000000000000 int possible[200][20000] = {}; int main() { int n; cin >> n; int ans = 0; vector d; for (int i = 0;i < n;++i) { int cm; cin >> cm; ans += cm; d.push_back(cm); } if (ans % 2 == 1) { cout << "impossible" << endl; return 0; } ans /= 2; possible[0][0] = 1; for (int i = 1;i <= n;++i) { for (int q = 0;q <= ans;++q) { possible[i][q] = max(possible[i][q], possible[i - 1][q]); if (d[i - 1] + q <= ans) { possible[i][q + d[i - 1]] = max(possible[i][q + d[i - 1]], possible[i - 1][q]); } } } if (possible[n][ans] == true) { cout << "possible" << endl; return 0; } else { cout << "impossible" << endl; return 0; } }