#include <bits/stdc++.h>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <cstring>
#include <chrono>
#include <complex>
using namespace std;

#define endl "\n"
#define ll long long int
#define vi vector<int>
#define vll vector<ll>
#define vvi vector < vi >
#define pii pair<int,int>
#define pll pair<long long, long long>
#define bug(n) cout<<#n<<": "<<n<<endl
#define all(c) c.begin(),c.end()
#define mp(x,y) make_pair(x,y)
#define mem(a,val) memset(a,val,sizeof(a))
#define sz(x) (int)((x).size())
#define eb emplace_back
#define pb push_back
#define ppb pop_back
#define pf push_front
#define ppf pop_front
#define f first
#define s second
#define ppc __builtin_popcount
#define ppcll __builtin_popcountll
#define fastio std::ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(0)

const long long INF=1e18;
const int32_t M=1e9+7;
const int32_t MM=998244353;

bool findPartiion(vector<ll> arr)
{
    int sum = 0;
    int i, j;
    int n = arr.size();
 
    // Calculate sum of all elements
    for (i = 0; i < n; i++)
        sum += arr[i];
 
    if (sum % 2 != 0)
        return false;
 
    bool part[sum / 2 + 1];
 
    // Initialze the part array
    // as 0
    for (i = 0; i <= sum / 2; i++) {
        part[i] = 0;
    }
 
    // Fill the partition table in bottom up manner
 
    for (i = 0; i < n; i++) {
        // the element to be included
        // in the sum cannot be
        // greater than the sum
        for (j = sum / 2; j >= arr[i];
             j--) { // check if sum - arr[i]
            // could be formed
            // from a subset
            // using elements
            // before index i
            if (part[j - arr[i]] == 1 || j == arr[i])
                part[j] = 1;
        }
    }
 
    return part[sum / 2];
}


void solve(){

    ll n{}, idx{};
    cin >> n;

    vector<ll>a(n,0);

    for(int i{}; i<n; ++i){
        cin >> a[i];
    }

    auto res = findPartiion(a);

    if(!res){

        cout << "0" << endl;
    }
    else{

        res = true;
        while(res){

            ll tmp = a[idx];
            a[idx] = 0;

            res = findPartiion(a);

            if(res){

                a[idx] = tmp;
                idx++;
            }
        }
        cout << "1\n" << (idx+1) << endl;
    }

}

signed main()
{
    fastio;
    int T{1};
    // cin>>T;
    // cin.ignore(); must be there when using getline(cin, s)
    while(T--)
    {
        solve();
    }
    return 0;
}
