#include<bits/stdc++.h>
typedef long long ll;
using namespace std;


int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int N;
    cin >> N;
    vector<int> pos(N);
    for(int i = 0;i< N;i++) cin >> pos[i];
    sort(pos.begin(), pos.end());
    int l,d;
    for(int i = 0;i < N;i++){
        if(pos[i] > 0){
            d = i;
            l = i-1;
            i = N;
        }
    }
    int demon = 0;
    int poz_i = 0;
    string s = "";
    bool desno_p = true;
    bool levo_p = true;
    int br_p = 0;
    while(l > -1 || d < N){
        if((desno_p) && ((pos[d] <= abs(pos[l])) || l == -1) && (d!=N)){
            demon += 1;
            s+= '1';
            d += 1;
            br_p += 1;
            levo_p = true;
            desno_p = false;
        }
        else if((levo_p) && ((abs(pos[l]) < pos[d]) || d==N) && (l = -1)){
            demon+= 1;
            s+='2';
            l -= 1;
            br_p += 1;
            levo_p = false;
            desno_p = true;
        }
        else if((l == -1) && !desno_p){
            desno_p = true;
            levo_p = false;
            br_p += 1;
            s += '2';
        }
        else if((d == N) && (!levo_p)){
            levo_p = true;
            desno_p = true;
            br_p += 1;
            poz_i += 1;
            s+='3';
        }

        if((pos[l]+br_p >= poz_i) || (pos[d]-br_p <= poz_i)){
            break;
        }

    }
    cout << demon << '\n';
    cout << s;
    return 0;
}