//----------------------------
#define FOR(i,j,n) for (int i=(j);i<(n);i++)
#define REP(i,n) for (int i=0;i<(n);i++)
#define REPN(i,n) for (int i=(n);i>=0;i--)
#define I(n) scanf("%d", &(n))
#define LL(n) scanf("%lld", &(n))
#define pb(n) push_back((n))
#define mp(i,j) make_pair((i),(j))
#include <bits/stdc++.h>
using namespace std;

//------------------------------typedef集
typedef vector<int> vi;
typedef pair<int,int> pi;
typedef vector<pi> vpi;
typedef vector<vi> vvi;
typedef vector<vpi> vvpi;
typedef vector<vvi> vvvi;
typedef long long ll;

int n,a[60];
int box[5];
ll x=1;

int main(){
    I(n);
    REP(i,n){
        I(a[i]);
        box[a[i]+2]++;
    }
    int ret = 0;
    ret += box[4];

    if (box[0] & 1){
        if (box[1]){
            ret += box[0] + 1;
            cout << ret << endl;
            bool flag = true;
            REP(i,n){
                if (a[i] == 2 || a[i] == -2) cout << i+1 << endl;
                if (flag && a[i] == -1) {
                    cout << i+1 << endl;
                    flag = false;
                }
            }
        } else {
            box[0]--;
            ret += box[0];
            cout << ret << endl;
            REP(i,n){
                if (a[i] == 2) cout << i+1 << endl;
                if (a[i] == -2 && box[0]) {
                    cout << i+1 << endl;
                    box[0]--;
                }
            }
        }
    } else {
        ret += box[0];
        cout << ret << endl;
        REP(i,n){
            if (a[i] == 2 || a[i] == -2) cout << i+1 << endl;
        }
    }
}

