#include <bits/stdc++.h>
using namespace std;
const int mxN = 10005;
int a[105];
bitset<mxN> pref[105], suff[105];
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
int n, sum = 0;
cin >> n;
pref[0][0] = suff[n + 1][0] = 1;
for(int i = 1; i <= n; ++i){
cin >> a[i];
sum += a[i];
}
for(int i = 1; i <= n; ++i){
pref[i] = pref[i - 1], suff[n - i + 1] = suff[n - i + 2];
pref[i] |= pref[i - 1] << a[i];
suff[n - i + 1] |= suff[n - i + 2] << a[n - i + 1];
}
if(sum & 1 || !pref[n][sum / 2]){
cout << "0\n";
}else{
map<int, int> freq;
for(int i = 1; i <= n; ++i){
bitset<mxN> res = suff[i + 1];
for(int j = 0; j < mxN; ++j){
if(pref[i - 1][j]){
res |= suff[i + 1] << j;
}
}
int rem = sum - a[i];
for(int j = 0; j < mxN; ++j){
if(res[j] && j * 2 <= rem){
freq[rem - j * 2] += 1;
}
}
}
vector<int> ans;
for(auto [u, cnt] : freq){
if(cnt == n){
ans.push_back(u);
}
}
sort(ans.begin(), ans.end());
cout << (int) ans.size() << "\n";
for(auto it : ans){
cout << it << " ";
}
}
return 0;
}