#include #include #include #include #include #include using namespace std; int n; vector w; int half; bool add(int sum, int idx) { if (sum == half) { return true; } else if (sum > half) { return false; } for (int i = idx + 1; i < n; i++) { if(add(sum + w[idx], i)) { return true; } } return false; } int main() { cin >> n; w.assign(n, 0); for (int i = 0; i < n; i++) { cin >> w[i]; } int total = accumulate(w.begin(), w.end(), 0); sort(w.begin(), w.end(), greater()); bool ret = false; if (total % 2 == 0) { half = total / 2; ret = add(0, 0); } cout << (ret ? "possible" : "impossible") << endl; return 0; }