#include<bits/stdc++.h>
using namespace std;
const int MAXN=125005;
const long long mod=2702200927022011;
long long dp[MAXN],fdp[MAXN],A[MAXN];
bool ck[MAXN];
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n;
cin>>n;
dp[0]=1;
int sum=0;
bool cc=true;
for(int i=1;i<=n;i++)
{
cin>>A[i];
sum+=A[i],cc&=(A[i]%2==A[1]%2);
for(int j=sum;j>=A[i];j--) dp[j]=(dp[j]+dp[j-A[i]])%mod;
}
for(int i=A[1]%2;i<=sum;i+=2) ck[i]=true;
if((sum&1)||!dp[sum/2]||!cc) return cout<<0,0;
for(int i=1;i<=n;i++)
{
for(int j=0;j<=sum;j++) fdp[j]=dp[j];
for(int j=A[i];j<=sum;j++) fdp[j]=(fdp[j]-fdp[j-A[i]]+mod)%mod;
for(int j=A[1]%2;j<=sum;j+=2) ck[j]&=(fdp[(sum-A[i]+j)/2]>0);
}
vector<int> ans;
for(int i=0;i<=sum;i++) if(ck[i]) ans.push_back(i);
cout<<ans.size()<<"\n";
for(auto v:ans) cout<<v<<" ";
}