#include using namespace std; #define REP(i,n) for(int i=0; i<(n); i++) #define REP2(i,x,n) for(int i=x; i<(n); i++) #define ALL(n) begin(n),end(n) struct cww{cww(){ios::sync_with_stdio(false);cin.tie(0);}}star; vector> memo( 100 + 1, vector( 10000 + 1, -1 ) ); int N, total, res; vector vc; bool dfs( int i, int x ) { if( i == 0 ) { return x == 0; } if( x < 0 ) { return false; } int &res = memo[ i ][ x ]; if( res != -1 ) { return res; } return ( res = dfs( i - 1, x ) || dfs( i - 1, x - vc[ i - 1 ] ) ); } int main() { cin >> N; vc.resize( N ); for( auto &x : vc ) { cin >> x; } total = accumulate( ALL( vc ), 0 ); cout << ( dfs( N - 1, total / 2 ) && total % 2 == 0 ? "possible" : "impossible" ) << endl; return 0; }