void main(){
  import std.stdio, std.string, std.conv, std.algorithm;

  int n; rd(n);
  auto a=readln.split.to!(int[]);

  int[int] freq;
  for(int i=-2; i<=2; i++) freq[i]=0;
  foreach(b; a) freq[b]+=1;
  int[] s;
  if(freq[-2]&1){
    if(freq[-1]){
      bool done=false;
      foreach(int i, e; a){
        if(done==false && e==-1){
          done=true;
          s~=i;
        }else if(e==-2 || e==2){
          s~=i;
        }
      }      
    }else{
      foreach(int i, e; a){
        if(e==-2){
          if(freq[-2]>1){
            s~=i;
            freq[-2]-=1;
          }
        }else if(e==2){
          s~=i;
        }
      }      
    }
  }else{
    foreach(int i, e; a){
      if(e==-2 || e==2) s~=i;
    }
  }

  writeln(s.length);
  writefln("%(%s\n%)", s.map!(e=>e+1));
}

void rd(T...)(ref T x){
  import std.stdio, std.string, std.conv;
  auto l=readln.split;
  assert(l.length==x.length);
  foreach(i, ref e; x){
    e=l[i].to!(typeof(e));
  }
}

