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

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

    int brojDementora;
    cin >> brojDementora;

    priority_queue<int, vector<int>, greater<int>> sever, jug;

    for (int i = 0; i < brojDementora; i++) {
        int pozicija;
        cin >> pozicija;
        if (pozicija > 0) sever.push(pozicija);
        else jug.push(-pozicija);
    }

    int vreme = 0;
    int prethodni = -1;
    int ubijeni = 0;
    string potezi;

    while (vreme < 1000000) {
        bool mozeSever = !sever.empty() && sever.top() > vreme;
        bool mozeJug = !jug.empty() && jug.top() > vreme;

        if (!mozeSever && !mozeJug) break;

        int potez = -1;

        if (mozeSever && prethodni != 1 && (!mozeJug || sever.top() <= jug.top())) {
            potez = 1;
            sever.pop();
            ubijeni++;
        }
        else if (mozeJug && prethodni != 2) {
            potez = 2;
            jug.pop();
            ubijeni++;
        }
        else if (prethodni != 3) {
            potez = 3;
        }
        else {
            break;
        }

        potezi.push_back(char('0' + potez));
        prethodni = potez;
        vreme++;
    }

    cout << ubijeni << "\n";
    cout << potezi << "\n";
    return 0;
}