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

using namespace std;

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

    vector<long long> s,j;
    for(long long i=0;i<n;i++)
    {
        long long x;
        cin>>x;
        if(x>0)s.push_back(x);
        else j.push_back(abs(x));
    }

    sort(s.begin(),s.end());
    sort(j.begin(),j.end());

    long long si=0,ji=0,p=0,t=0,z=0,u=0;
    string r="";

    while(t<10000000)
    {
        if(si<s.size()&&s[si]-t-p<=0)
        {
            break;
        }
        if(ji<j.size()&&j[ji]-t+p<=0)
        {
            break;
        }
        if(si==s.size()&&ji==j.size())
        {
            break;
        }

        long long ds=(si<s.size())?s[si]-t-p:2e18;
        long long dj=(ji<j.size())?j[ji]-t+p:2e18;

        if(ds<=dj&&z!=1)
        {
            r+='1';
            si++;
            u++;
            z=1;
        }
        else if(ji<j.size()&&z!=2)
        {
            r+='2';
            ji++;
            u++;
            z=2;
        }
        else if(z!=3)
        {
            r+='3';
            p++;
            z=3;
        }
        else
        {
            if(z!=1)
            {
                r+='1';
                if(si<s.size()){si++;u++;}
                z=1;
            }
            else
            {
                r+='2';
                if(ji<j.size()){ji++;u++;}
                z=2;
            }
        }
        t++;
    }

    cout<<u<<endl<<r<<endl;

    return 0;
}