#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 #define full(c) c.begin(), c.end() #define vector2d(name,type,h,w,init) vector> name(h,vector(w,init)) const int PRIME = 1000000007; const int INT_INF = 2147483647; const long long int LL_INF = 9223372036854775807; const double PI = acos(-1); const double EPS = 0.0001; typedef unsigned long long int ull; typedef long long int ll; using namespace std; int main() { //cin.tie(0); //ios::sync_with_stdio(false); const int INF = 2e9; const int TOP = 10090; int n, sum; cin >> n; vector can(TOP, false); can[0] = true; sum = 0; for (int k = 0; k < n; k++) { int a; cin >> a; for (int i = TOP; i >= a; i--) { if (can[i - a]) can[i] = true; } sum += a; } if (sum % 2 == 0 && can[sum / 2]) cout << "possible" << endl; else cout << "impossible" << endl; return 0; }