#include <iostream>
#include <vector>
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int d;
    cin>>d;
    vector <int> p,n;
    for (int i=0;i<d;i++)
    {
        int x;
        cin>>x;
        if (x>0)
            p.push_back(x);
        else
            n.push_back(x);
    }
    if (p.size()>0) sort(p.begin(),p.end());
    if (n.size()>0) sort(n.rbegin(),n.rend());
    int br=0,p1=0,n1=0;
    string rez;
    int i=0,napred=0;
    while(br<d && rez.length()<1000000)
    {
        int l=rez.length();
        if (l==0)
        {
            if (n1>=n.size() || (p1<p.size() && p[p1]<=(n[n1]*(-1))))
            {
                p1++;
                rez="1";
                br++;
            }
            else
            {
                n1++;
                rez="2";
                br++;
            }
        }
        else
        {
            if ((p1<p.size() && p[p1]-i<=napred) || (n1<n.size() && n[n1]+i>=napred))
            {
                break;
            }
            if (rez[l-1]=='1' || rez[l-1]=='3')
            {
                rez+='2';
                if (n1<n.size())
                {
                    br++;
                    n1++;
                }
            }
            else if (rez[l-1]=='2')
            {
                if ((n1<n.size() && n[n1]+i==napred-1) || p1>=p.size())
                {
                    rez+='3';
                    napred++;
                }
                else
                {
                    rez+='1';
                    p1++;
                    br++;
                }
            }
        }
        i++;
    }
    cout<<br<<'\n'<<rez;
}