#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define yes cout<<"YES\n"
#define no cout<<"NO\n"
#define pb push_back
#define mp make_pair
#define all(v)  v.begin(),v.end()
#define mxe(a,n) max_element(a,a+n)-a
#define mne(a,n) min_element(a,a+n)-a
#define mod 1000000007
//#define mod 998244353

ll mpow(ll a, ll b){
    a %=mod;
    if(!b)
        return 1;
    ll temp = mpow(a, b/2);
    temp = (temp*temp) % mod;
    if(b%2)
        return (a * temp) % mod;
    return temp;
}
 
ll _pow(ll a, ll b){
    if(!b)
        return 1;
    ll temp = _pow(a, b/2);
    temp = (temp * temp);
    if(b%2)
        return (a * temp);
    return temp;
}

ll gcd(ll a,ll b){
    if(b==0) 
     return a;
    return gcd(b,a%b);
}

ll int fact(ll int n){
    ll int res = 1;
    for (int i = 2; i <= n; i++)
        res = (res * i);//%mod
    return res;
}

ll int nCr(ll int n,ll int r){
    return fact(n) / (fact(r) * fact(n - r));
}

bool isPrime(ll n){
    if (n <= 1)
        return false;
    if (n <= 3)
        return true;
    if (n % 2 == 0 || n % 3 == 0)
        return false;
    for (ll i = 5; i * i <= n; i = i + 6)
        if (n % i == 0 || n % (i + 2) == 0)
            return false;
    return true;
}

bool palin(string s){
	int i=0 , j=s.size()-1;
	while(i<j){
		if(s[i++]!=s[j--]){
			return false;
		}
	}
	return true;
}

ll cl(ll a, ll b){
    if(a%b)
        return 1 + a/b;
    return a/b;
}


int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    
    ll int t;
    t=1;
    //cin>>t;
    while(t--)
    {
        ll int N,i,j,arr[500002],count=0,flag=0,num,temp=0;
        string s;
        vector<ll int> vect;
        vector<pair<ll int,ll int> > vecpair;
        map<ll int,ll int> mapp;
        
        cin>>N;
        
        ll idx;
        for(i=0;i<N;i++)
        {
            cin>>arr[i];
            if(arr[i]%2==1)
            {
               
                idx=i+1;
                flag=1;
            }
        }
        //sort(arr,arr+N);
        //reverse(arr,arr+N);
       ll int sum=0,cn;
        for(i=0;i<N;i++)
        sum+=arr[i];
        //cout<<sum;
        if(sum%2==1)
        {
            cout<<0;
        }
    else
    {
        
        sum/=2;
        bool dp[N+1][sum+1];
        for(i=0;i<=N;i++)
        {
            for(j=0;j<=sum;j++)
            dp[i][j]=false;
        }
        
        for(i=1;i<=N;i++)
        {
            for(j=1;j<=sum;j++)
            {
                if(arr[i-1]>j)
                dp[i][j]=dp[i-1][j];
                else if(arr[i-1]==j)
                dp[i][j]=true;
                else
                {
                    if(dp[i-1][j]==true)
                    dp[i][j]=true;
                    else
                    dp[i][j]=dp[i-1][j-arr[i-1]];
                }
            }
        }
        if(dp[N][sum]==false)
         cout<<0;
         else if(flag==1)
         {
             cout<<1<<endl<<idx;
        }
        else if(N==2)
        {
            cout<<1<<endl<<1;
        }
         else
         {
             for(i=N-1;i>=0;i--)
             {
                 if(dp[i][sum-(arr[i]/2)]==false)
                  {
                      cout<<1<<endl<<i+1;
                      break;
                  }
             }
             
         }
    }
    }

    return 0;
}














