#include #include int main(int argc, char **argv) { int n = -1; int w = -1; int amount_w = 0; int half_w = 0; std::vector ws; std::cin >> n; for (int i = 0; i < n; i++) { std::cin >> w; amount_w += w; ws.push_back(w); } half_w = amount_w / 2; if (amount_w % 2 != 0) { std::cout << "impossible\n"; return 0; } bool checks[amount_w + 1] = { false }; checks[0] = true; for (int i = 0; i < n; i++) { for (int j = 0; j <= amount_w; j++) { if (!checks[j]) { break; } checks[j + ws.at(i)] = true; } } if (checks[half_w]) { std::cout << "possible\n"; } else { std::cout << "impossible\n"; } return 0; }