#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
    long long n;
    cin >> n;

    vector<long long> pozitivni, negativni;
    for (long long i = 0; i < n; i++) {
        long long x;
        cin >> x;
        if (x > 0)
            pozitivni.push_back(x);
        else
            negativni.push_back(-x);
    }

    sort(pozitivni.begin(), pozitivni.end());
    sort(negativni.begin(), negativni.end());

    long long indPoz = 0, indNeg = 0, vreme = 0, poslednji = 0;
    long long ukupno = 0, pojacanje = 0;
    string rezultat = "";

    while (vreme < 10000000) {
        if (indPoz < pozitivni.size() && pozitivni[indPoz] - vreme - pojacanje <= 0) break;
        if (indNeg < negativni.size() && negativni[indNeg] - vreme + pojacanje <= 0) break;
        if (indPoz == pozitivni.size() && indNeg == negativni.size()) break;

        long long sledeciPoz = (indPoz < pozitivni.size()) ? pozitivni[indPoz] - vreme - pojacanje : 2e18;
        long long sledeciNeg = (indNeg < negativni.size()) ? negativni[indNeg] - vreme + pojacanje : 2e18;

        if (sledeciPoz <= sledeciNeg && poslednji != 1) {
            rezultat += '1';
            indPoz++;
            ukupno++;
            poslednji = 1;
        } 
        else if (indNeg < negativni.size() && poslednji != 2) {
            rezultat += '2';
            indNeg++;
            ukupno++;
            poslednji = 2;
        } 
        else if (poslednji != 3) {
            rezultat += '3';
            pojacanje++;
            poslednji = 3;
        } 
        else {
            if (poslednji != 1) {
                rezultat += '1';
                if (indPoz < pozitivni.size()) {
                    indPoz++;
                    ukupno++;
                }
                poslednji = 1;
            } else {
                rezultat += '2';
                if (indNeg < negativni.size()) {
                    indNeg++;
                    ukupno++;
                }
                poslednji = 2;
            }
        }

        vreme++;
    }

    cout << ukupno << endl;
    cout << rezultat << endl;

    return 0;
}