#include<cstdio>
using namespace std;
long long s[30]={0};
vis t[30]={0};
int n;
void dfs(int i)
{
if (i==n)
{
long long u=0;
for (int j=1;j<=n;j++)
if (t[j]==1) u=u^s[j];
if (u==0)
{
int w=0;
for (int j=1;j<=n;j++)
if (t[j]==1) w++;
printf("%d\n",w);
for (int j=1;j<=n;j++)
if (t[j]==1) printf("%d ",j);
exit(0);
}
return;
}
else
{
dfs(i++);
t[i]=1;
dfs(i++);
t[i]=0;
}
}
int main()
{
freopen("asm_contribute.in","r",stdin);
freopen("asm_contribute.out","w",stdout);
scanf("%d",&n);
for (int i=1;i<=n;i++)
scanf("%lld",&s[i]);
dfs(1);
return 0;
}