#include <iostream>

using namespace std;

int main()
{
    int n;
    cin>>n;
    double pozicije[n];
    for(int i =0; i<n; i++){
        cin>>pozicije[i];
    }
    int br=0;
    bool gotovo=false;
    string potezi="";
    int prethodni=0;
    double hari=0;
    while(br<n){
        double najblizi=10^6;
        int naji;
        int najbz=10^6;
        for(int j=0; j<n; j++){
            if(pozicije[j]!=0.0000000000000000067){
                int x= abs(hari-pozicije[j]);
                if(x<najbz){
                    najblizi=pozicije[j];
                    najbz=x;
                    naji=j;
                }
            }
        }

        if(najblizi>hari&&prethodni!=1){
            potezi+="1"; pozicije[naji]=0.0000000000000000067;
            prethodni=1;br++;
        }
        else if(najblizi<hari&&prethodni!=2){
            potezi+="2"; pozicije[naji]=0.0000000000000000067;
            prethodni=2;
            br++;
        }
        else /*if(najblizi<hari&&pozicije[naji]==hari-1)*/{
            potezi+="3";
            prethodni=3;
            hari++;
        }
        for(int j=0; j<n; j++){
            if(pozicije[j]<hari&&pozicije[j]!=0.0000000000000000067) pozicije[j]++;
            else if(pozicije[j]>hari&&pozicije[j]!=0.0000000000000000067) pozicije[j]--;
            if(pozicije[j]==hari){
                gotovo=true;
            }
        }
        if(gotovo==true){break;}

    }
    cout<<br<<endl;
    cout<<potezi<<endl;

    return 0;
}