#include <bits/stdc++.h>
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("O3")
#pragma GCC target("sse4,avx2,fma,avx")
using namespace std;
#define endl "\n"
#define int long long
#define pii pair<int, int>
#define ff first
#define ss second
#define entire(x) (x).begin(), (x).end()
int32_t main(){
ios::sync_with_stdio(false); cin.tie(nullptr);
int n; cin >> n;
vector<int> a(n);
bitset<250067> init; init[0] = 1;
for (int i = 0; i < n; i++){
cin >> a[i]; init |= init << a[i];
}
int sum = accumulate(entire(a), 0ll);
if (sum % 2 or !init[sum/2]) { cout << 0 << endl; return 0; }
bitset<250067> ans;
for (int i = 1; i <= sum; i++) ans[i] = 1;
for (int idx = 0; idx < n; idx++){
bitset<250067> cur, good; cur[0] = 1;
for (int i = 0; i < n; i++) if (i != idx) cur |= cur << a[i];
for (int i = 1; i <= sum - a[idx]; i++) {
int target = (sum - a[idx] + i);
if (target % 2) continue; target >>= 1;
good[i] = cur[target] | cur[target - i];
} ans &= good;
}
cout << ans.count() << endl;
for (int i = 1; i <= sum; i++) if (ans[i]) cout << i << " ";
cout << endl;
return 0;
}