#include #include #include #include static int const INF{100000000}; int solve(auto b, auto e, int w, int c) { if(b == e || w == 0) return 0; if(w < c + *b) return solve(next(b), e, w, c); return solve(next(b), e, w - *b, c + *b) + *b; } int main(int, char**) { int n; std::cin >> n; std::vector ws(n); int sum{}; for(int i{}; i < n; ++i) { int t; std::cin >> t; ws[i] = t; sum += t; } if(sum % 2) { std::cout << "impossible" << std::endl; return 0; } sum /= 2; std::sort(begin(ws), end(ws), std::greater()); int v = solve(begin(ws), prev(end(ws)), sum, 0); std::cout << (sum == v ? "possible" : "impossible") << std::endl; return 0; }