#include <iostream>
#include <bits/stdc++.h>
#define endl "\n"
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr); cout.tie(nullptr);

    int n; cin >> n;
    vector<int> a(n);
    for(int i=0; i<n; i++)
        cin >> a[i];
    sort(a.begin(), a.end());
    int p1 = -1;
    int p2 = -1;
    for(int i=0; i<n; i++){
        if(a[i] > 0){
            p2 = i;
            break;
        }
    }
    for(int i=n-1; i>=0; i--){
        if(a[i] < 0){
            p1 = i;
            break;
        }
    }
    bool sever;
    bool jug;
    int pozicija = 0;
    int ubijeni = 0;
    int smanjenje = 0;
    string s;
    if(p1 == -1 && p2 != -1){
        sever = true;
        jug = false;
        for(int i=0; i<2*n; i++){
            if(a[p2]-smanjenje == pozicija)
                break;
            else if(sever){
                a[p2] = 0;
                smanjenje++;
                p2++;
                ubijeni++;
                sever = false;
                s += '1';
            }
            else{
                sever = true;
                smanjenje++;
                s += '2';
            }
        }
        cout << ubijeni << endl << s << endl;
    }
    else if(p2 == -1 && p1 != -1){
        jug = true;
        sever = false;
        for(int i=0; i<2*n; i++){
            if(a[p1]+smanjenje == pozicija)
                break;
            else if(jug){
                a[p1] = 0;
                smanjenje++;
                p1--;
                ubijeni++;
                sever = true;
                jug = false;
                s += '2';
            }
            else if(sever){
                pozicija++;
                jug = true;
                sever = false;
                smanjenje++;
                s += '3';
            }
        }
        cout << ubijeni << endl << s << endl;
    }
    else
        cout << n << endl;
    return 0;
}