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

int main()
{
    iostream::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);

    int n;
    cin >> n;
    vector<int> dementori(n);
    for (int i = 0; i < n; i++) {
        cin >> dementori[i];
    }

    // rucno sortiranje po abs()
    // mozda sam trebao da naucim lambda funkciju
    // ups
    bool moze = false;
    while (!moze) {
        for (int i = 0; i < n - 1; i++) {
            if ((abs(dementori[i]) < abs(dementori[i + 1])) || (abs(dementori[i]) == abs(dementori[i + 1]) && dementori[i] > 0)) {
                int temp = dementori[i + 1];
                dementori[i + 1] = dementori[i];
                dementori[i] = temp;
            }
        }
        moze = true;
        for (int i = 0; i < n - 1; i++) {
            if (abs(dementori[i]) < abs(dementori[i + 1])) {
                moze = false;
            }
        }
    }
    /*
    for (int i : dementori) cout << i << " ";
    dementori.pop_back();
    for (int i : dementori) cout << i << " ";
    */
    int mrtvi = 0;
    string log = "";
    while(dementori.size() > 0 && dementori[dementori.size() - 1] != 0) {
        if (dementori[dementori.size() - 1] > 0 && log[log.size() - 1] != '1') {
            dementori.pop_back();
            mrtvi++;
            log += "1";
        }
        else if (dementori[dementori.size() - 1] < 0 && log[log.size() - 1] != '2') {
            dementori.pop_back();
            mrtvi++;
            log += "2";
        }
        else if (log[log.size() - 1] != '3'){
            log += "3";
            for (int i = 0; i < dementori.size() - 1; i++) {
                dementori[i] -= 1;
            }
        }


        for (int i = 0; i < dementori.size(); i++) (dementori[i] > 0) ? dementori[i] -= 1 : dementori[i] += 1;
        //cout << "\n";
        //for (int i : dementori) cout << i << " ";
    }
    cout << "\n" << mrtvi << "\n" << log;

    return 0;
}