#include // #include // #include "icld.cpp" using namespace std; using ll = long long int; using vi = vector; using si = set; using vll = vector; using vvi = vector>; using ss = string; using db = double; template using minpq = priority_queue ,greater>; const int dx[4] = {1,0,-1,0}; const int dy[4] = {0,1,0,-1}; #define V vector #define P pair #define PLL pair #define rep(i,s,n) for(int i=(s);i<(int)(n);i++) #define rev(i,s,n) for(int i=(s);i>=(int)(n);i--) #define reciv(v,n) vll (v)((n)); rep(i,0,(n))cin>>v[i] #define all(v) v.begin(),v.end() #define rall(v) v.rbegin(),v.rend() #define ci(x) cin >> x #define cii(x) ll x;cin >> x #define cci(x,y) ll x,y;cin >> x >> y #define co(x) cout << x << endl #define pb push_back #define eb emplace_back #define rz resize #define pu push #define sz(x) int(x.size()) #define vij v[i][j] // ll p = 1e9+7; // ll p = 998244353; // n do -> n*pi/180 #define yn cout<<"Yes"<void chmax(T &x,T y){x=max(x,y);} templatevoid chmin(T &x,T y){x=min(x,y);} int main(){ cii(n); reciv(v,n); ss ok="possible"; ss ng="impossible"; int sum=accumulate(all(v),0); if(sum%2)return co(ng),0; sum/=2; int ma=1e4+3; vi dp(ma,0); dp[0]=1; rep(i,0,n){ rev(j,ma-1,0){ if(dp[j])dp[j+v[i]]=1; } } if(dp[sum])co(ok); else co(ng); }