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


using namespace std;

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

    int n; cin >> n;

    vector<int> dementori_iza;
    vector<int> dementori_ispred;

    for (int i = 0; i < n; i++) {
            int k; cin >> k;
            if (k < 0) dementori_iza.push_back(k);
            else dementori_ispred.push_back(k);
    }

    sort(dementori_iza.begin(), dementori_iza.end(), greater<int>());
    sort(dementori_ispred.begin(), dementori_ispred.end());
    int iza_n = dementori_iza.size();
    int ispred_n = dementori_ispred.size();

    string answer = "";
    n = 0;
    int d = 0;
    int ubijeno_ispred = 0, ubijeno_iza = 0;

    while (true) {

        if (ubijeno_ispred == ispred_n and ubijeno_iza == iza_n) break;
        if (ubijeno_ispred < ispred_n) {
            if (dementori_ispred[ubijeno_ispred] - n == d) break;
        }
        else if (ubijeno_iza < iza_n) {
            if (dementori_iza[ubijeno_iza] + n == d) break;
        }
        if (n > 1000000) break;

        if (ubijeno_iza < iza_n and ubijeno_ispred < ispred_n) {
            if (dementori_ispred[ubijeno_ispred] - d <= d - dementori_iza[ubijeno_iza]) {
                if (answer.back() == '1') {
                    answer += '2';
                    ubijeno_iza++;
                }
                else {
                    answer += '1';
                    ubijeno_ispred++;
                }
            }
            else {
                if (answer.back() == '2' and (d - dementori_iza[ubijeno_iza] > 1)) {
                    answer += '1';
                    ubijeno_ispred++;
                }
                else {
                    answer += '3';
                    d++;
                }
            }
        }
        else if (ubijeno_iza == iza_n) {
            if (answer.back() == '1') {
                answer += '2';
            }
            else {
                answer += '1';
                ubijeno_ispred++;
            }
        }
        else {
            if (answer.back() == '2') {
                answer += '3';
                d++;
            }
            else {
                answer += '2';
                ubijeno_iza++;
            }
        }
        n++;
    }

    cout << ubijeno_ispred + ubijeno_iza << endl;
    cout << answer << endl;

    return 0;
}