#include #include #include using namespace std; bool possibles[101][10001] = { false }; // [index of weights][weight] int main() { int n; cin >> n; vector w(n + 1); for (int i = 0; i < n; ++i) { cin >> w[i + 1]; } int sum = accumulate(w.begin(), w.end(), 0); if (sum % 2 == 1) { cout << "impossible" << endl; return 0; } possibles[0][0] = true; for (int i = 1; i <= n; ++i) { for (int k = 0; k <= sum / 2; ++k) { possibles[i][k] |= possibles[i - 1][k]; possibles[i][k + w[i]] |= possibles[i - 1][k]; } } cout << (possibles[n][sum / 2] ? "possible" : "impossible") << endl; return 0; }