/*
                                               THE GRIMMEST OF Aint REAPER
                                                DEATH SHAint BE UPON YOU
                                                             .""--.._
                                                           []      `'--.._
                                                           ||__           `'-,
                                                         `)||_ ```'--..       \
                                     _                    /|//}        ``--._  |
                                  .'` `'.                /////}              `\/
                                 /  .""".\              //{///
                                /  /_  _`\\            // `||
                                | |(_)(_)||          _//   ||
                                | |  /\  )|        _///\   ||
                                | |L====J |       / |/ |   ||
                               /  /'-..-' /    .'`  \  |   ||
                              /   |  :: | |_.-`      |  \  ||
                             /|   `\-::.| |          \   | ||
                           /` `|   /    | |          |   / ||
                         |`    \   |    / /          \  |  ||
                        |       `\_|    |/      ,.__. \ |  ||
                        /                     /`    `\ ||  ||
                       |           .         /        \||  ||
                       |                     |         |/  ||
                       /         /           |         (   ||
                      /          .           /          )  ||
                     |            \          |             ||
                    /             |          /             ||
                   |\            /          |              ||
                   \ `-._       |           /              ||
                    \ ,//`\    /`           |              ||
                     ///\  \  |             \              ||
                    |||| ) |__/             |              ||
                    |||| `.(                |              ||
                    `\\` /`                 /              ||
                       /`                   /              ||
                      /                     |              ||
                     |                      \              ||
                    /                        |             ||
                  /`                          \            ||
                /`                            |            ||
                `-.___,-.      .-.        ___,'            ||
                         `---'`   `'----'`
*/
#include <bits/stdc++.h>
//#include<cstdio>
//#include<cstring>
//#include<algorithm>
//#include<iostream>
//#include<string>
//#include<vector>
//#include<stack>
//#include<bitset>
//#include<cstdlib>
//#include<cmath>
//#include<set>
//#include<list>
//#include<deque>
//#include<map>
//#include<queue>

#define rep(i, a, n) for (int  i=a;i<=n;i++)
#define per(i, a, n) for (int  i=a;i>=n;i--)
#define IOS ios::sync_with_stdio(false);cin.tie(0); cout.tie(0)
//#pragma GCC optimize(3)//O3
//#pragma GCC optimize(2)//O2
//#define endl "\n"
#define Mod(x) x % mod
#define toNum(x) x -'0'
#define fi first
#define se second
#define mm(a, b) memset(a,b, sizeof(a));
#define dbg(x) cout << #x << "=" << x << endl;
using namespace std;
typedef long long ll;
//typedef unsigned long long ull;
typedef pair<int, int> PII;
const int maxn = 3e6 + 10;
const int mod = 1e9 + 7;
const int N = 1e6 + 10;
const int INF = 0x3f3f3f3f;
#define cf int  t;cin>>t;while (t--) solve();
#define tty template <typename T>
tty T gcd (T a, T b) {while (b ^= a ^= b ^= a %= b);  return a;}
inline char nc() {static char buf[1000000], *p1 = buf, *p2 = buf;return p1 == p2 && (p2 = (p1 = buf) + fread (buf, 1, 1000000, stdin), p1 == p2) ? EOF : *p1++;}
//#define nc getchar
tty inline void read(T &sum) {char ch = nc();T tf = 0;sum = 0;while((ch < '0' || ch > '9') && (ch != '-')) ch = nc();tf = ((ch == '-') && (ch = nc()));while(ch >= '0' && ch <= '9') sum = sum * 10+ (ch - 48), ch = nc();(tf) && (sum = -sum);}
tty inline void write(T x){if(x==0) {putchar('0');return;} char F[200];T tmp=x>0?x:-x ;if(x<0)putchar('-') ;T cnt=0 ;while(tmp>0){F[cnt++]=tmp%10+'0';tmp/=10;}while(cnt>0)putchar(F[--cnt]) ;}

//大随机数
tty inline T ra(T z,T y){mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());return uniform_int_distribution<T>(z, y)(rng);}

//exgcd
tty T niyuan(T a, T b, T &x, T &y) {if (!b) {x = 1,y=0;return a;}T d = niyuan(b, a % b, x, y);T t = x;x=y;y=t-(a/b)*y;return d;}
tty T ax_bmodn(T a,T b,T n,T &g,T &x,T &y) {if (!n) { g = a, x = 1, y = 0; }else {ax___bmodn(n, a % n, g, y, x);y -= x * (a / n);}return x *= (b / g);}

//mod
tty inline T dmod(const string& s,T mod){T len = s.size();T ans = 0;for (T i = 0; i < len; i++)ans = (int)(((long long)ans * 10 + s[i] - '0') % mod); return ans;}
tty inline T ksc(T a,T b,T mod){T ans = 0;while( b > 0 ){if( b&1 ) ans = (ans + a) % mod;a = ( a + a ) % mod;b >>= 1;}return ans;}
tty inline T ksm(T x,T n,T mod){T ans = 1;while (n > 0){if (n & 1)ans = ans*x%mod;x = x*x%mod;n >>= 1;}return ans;}
tty inline T mod_jia(T a,T b,T mod){return (a%mod+b%mod)%mod;}
tty inline T mod_jian(T a,T b,T mod){return (a%mod+mod-b%mod)%mod;}
tty inline T mod_cheng(T a,T b,T mod){return (a%mod*b%mod)%mod;}
tty inline T C(T n,T m,T mod) {if (m > n) return 0;T ans = 1;for (T i = 1; i <= m; i++) {T a = (n + i - m) % mod;T b = i % mod;ans = ans * (a * ksm(b, mod - 2,mod) % mod) % mod;}return ans;}

//RMQ
tty inline void rmqmin(T f[][20],T n){for (int i = 1; i <= n; i++)cin >> f[i][0];for (int j = 1; j <= 20; j++)for (int i = 1; i <= n; i++)if (i + (1 << j) - 1 <= n)f[i][j] = min(f[i][j - 1], f[i + (1 << (j-1))][j - 1]);}
tty inline T zymin(T f[][20],T z,T y){int x=int (log(y-z+1)/log(2));return min(f[z][x],f[y-(1<<x)+1][x]);}
tty inline void rmqmax(T f[][20], T n) {for (int i = 1; i <= n; i++)cin >> f[i][0];for (int j = 1; j <= 20; j++)for (int i = 1; i <= n; i++)if (i + (1 << j) - 1 <= n)f[i][j] = max(f[i][j - 1], f[i + (1 << (j - 1))][j - 1]);}
tty inline T zymax(T f[][20],T z,T y){int x=int (log(y-z+1)/log(2));return max(f[z][x],f[y-(1<<x)+1][x]);}

//旋转公式
tty inline T rotatex(T x,T y,T ang,T ox=0,T oy=0){return (x-ox)*cos(ang)-(y-oy)*sin(ang)+ox;}
tty inline T rotatey(T x,T y,T ang,T ox=0,T oy=0){return (x-ox)*sin(ang)+(y-oy)*cos(ang)+oy;}

//快速幂
ll qpow(ll x,ll y) {ll ans=1;while(y){if(y&1)ans=ans*x%mod;y=y/2;x=x*x%mod;}return ans;}
//-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

int n, m, sum, cnk,vis, maxx, minn = INF, u, l, r, pre, op, p, k, z, ok, x, y, temp, q, sum1, sum2, A, B, cnt, ask, t, nums, len, b;
int a[2010];
int dp[101][200001];
void solve()
{
    cin >> n;
    rep(i,1,n){
        cin >> a[i];
        sum+=a[i];
        for(int j=a[i];j<=2000*n;j++) {
            dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - a[i]] + a[i]);
        }
    }
    if((sum&1) || (dp[n][sum/2]!=sum/2)) {
        cout<<0;
        return;
    }
    cout<<1<<endl;
    rep(i,1,n){
        if(a[i]&1 || dp[n][(sum-a[i])/2]!=(sum-a[i])/2){
            cout<<i;
            return;
        }
    }
    return;
}
signed main()
{

//    cf;
    solve();
    return 0;
}




//
//friend bool operator <(node s1,node s2){
//    return s1.x>s2.x;
//}
