#include<bits/stdc++.h>
using namespace std;
int n, brl, brd, x, potez1, potez2, potez3, ubijeni;
string res;
int drastojanje[200005];
int lrastojanje[200005];
struct slog{
    int poz;

};
slog desni[200005];
slog levi[200005];
bool cmp(slog a, slog b){
    return a.poz < b.poz;
}
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cin >> n;
    for(int i = 1; i <= n; i++){
        cin >> x;
        if(x > 0){
           desni[i].poz = x;
           brd++;
        }
        else {
           levi[i].poz = -x;
           brl++;
        }
    }
    sort(desni+1, desni+n+1, cmp);
    sort(levi+1, levi+n+1, cmp);
    if(brd == n){
        for(int i = 1; i <= brd; i++){
            if(desni[i].poz >= 1 and potez1 < 2){
               res += "1";
               for(int j = 1; j <= n; j++){
                   if(desni[j].poz != 0){
                      desni[j].poz = 0;
                      break;
                   }
               }
               potez1++;
               potez2 = 0;
               potez3 = 0;
               ubijeni++;
            }
            else if(desni[i].poz > 1 and potez2 < 2){
                res+= "2";
                potez2++;
                potez1 = 0;
                potez3 = 0;
            }
            for(int i = 1; i <= brd; i++){
                    if(desni[i].poz != 0){
                       desni[i].poz--;
                    }
            }
        }
    }
    else if(brl == n){
        for(int i = 1; i <= brl; i++){
            if(levi[i].poz >= 1 and potez1 < 2){
               res += "1";
               potez1++;
               potez2 = 0;
               potez3 = 0;
            }
            else if(levi[i].poz > 1 and potez2 < 2){
                res+= "2";
                for(int j = 1; j <= n; j++){
                   if(levi[j].poz != 0){
                      levi[j].poz = 0;
                      break;
                   }
                }
                potez2++;
                potez1 = 0;
                potez3 = 0;
                ubijeni++;
            }
            for(int i = 1; i <= brl; i++){
                    if(levi[i].poz != 0){
                       levi[i].poz--;
                    }
            }
        }
    }
    cout << ubijeni << endl;
    cout << res << endl;
    /*for(int i = 1; i <= n; i++){
        cout << desni[i].poz << endl;
    }*/
    return 0;
}