#include #define MOD 1000000007 #define INF (1<<30) #define INFL (1<<62) #define pe(str) return cout<<(str)<=0;i--) #define rep(i,a,b) for(int i=(a);i<(b);i++) #define rrep(i,a,b) for(int i=(b);i>=(a);i--) #define bw(a,b,c) (((a)<=(b))&&((b)<=(c))) #define hello cout<<"hello"<>n #define EPS 1e-6 #define EPSIN(a,b) ((b)-EPS<=(a)&&(a)<=(b)+EPS) using namespace std; typedef long long ll; typedef unsigned long long ull; typedef long double ld; typedef pair pii; typedef complex point; template void dump(InputIterator first,InputIterator last,char delim=' '){ for(InputIterator it=first;it!=last;it++){ if(it!=first)cout< void swp(T &a,T &b){ T t=a; a=b; b=t; } template int h(T first,string t){ T it=first; int c=0; for(int i=0;i>n; re(i,n)cin>>a[i]; int dp[n+1][n*100+1]; re(i,n+1)dp[i][0]=1; re(i,n*100+1)dp[0][i]=0; int k=accumulate(a,a+n,0); if(k&1)pe("Impossible"); k/=2; for(int i=1;i<=n;i++){ for(int j=1;j<=n*100+1;j++){ dp[i][j]=dp[i-1][j]; if(j-a[i-1]>=0)dp[i][j]=dp[i][j]||dp[i-1][j-a[i-1]]; } } pe(dp[n][k]?"Possible":"Impossible"); return 0; }