#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 2e5+5;
const int INF = 0x3f3f3f3f;
const double P = sqrt(2.0)-1;

int f[N],a[N];
bool path[105][N];

inline bool bg(int n,int sum){
	int p = sum/2;
	for(int i = 0;i <= p;++i) f[i] = INF;
	f[0] = 0;
	
	for(int i = 1;i <= n;++i){
		for(int j = p;j >= a[i];--j){
			if(f[j-a[i]]+1 < f[j]){
				f[j] = f[j-a[i]]+1;
				path[i][j] = 1;
			}
		}
	}
	
	return f[p] == INF;
}

int ans[N];

int main()
{
	int n,sum = 0;
	scanf("%d",&n);
	for(int i = 1;i <= n;++i) scanf("%d",&a[i]),sum += a[i];
	
	if(sum & 1){
		printf("0\n");
		return 0;
	}
	if(bg(n,sum)){
		printf("0\n");
		return 0;
	}
	
	int p = sum/2;
	
	for(int i = 1;i <= n;++i){
		if(a[i] & 1){
			printf("1\n%d\n",i);
			return 0;
		}
	}
	
	int now = -1;
	for(int i = p-1;i >= 0;--i){
		if(sum-i*2 > p || sum-i*2 > 2000) break;
		if(f[i] == INF && f[sum-i*2] != INF){
			if(now == -1) now = sum-i*2;
			else if(f[sum-i*2] < f[now]) now = sum-i*2;
		}
	}
	
	int cnt = 0;
	for(int i = n;i >= 1;--i){
		if(path[i][now]){
			if(path[i][now]){
				ans[++cnt] = i;
				now -= a[i];
			}
		}
	}
	printf("%d\n",cnt);
	for(int i = 1;i <= cnt;++i) printf("%d%c",ans[i],i == cnt ?'\n' :' ');
	return 0;
} 