#include using namespace std; template Value knapsack(Weight maxWeight, const vector& weight, const vector& value, Value init = 0, Function func = plus()) { vector dp(maxWeight + 1, 0); dp[0] = init; for (size_t i = 0; i < weight.size(); ++i) { for (auto w = maxWeight; w >= weight[i]; --w) { dp[w] = max(dp[w], func(dp[w - weight[i]], value[i])); } } return dp[maxWeight]; } int main() { int n; cin >> n; vector w(n); for (int& i : w) cin >> i; static const int sum = accumulate(w.begin(), w.end(), 0); cout << (sum % 2 == 0 && knapsack(sum / 2, w, vector(n, 1), 1, multiplies()) ? "possible" : "impossible") << endl; }