internal class Program
{
    static void Main(string[] args)
    {
        Console.ReadLine();
        List<int> dementori = Console.ReadLine().Split().Select(int.Parse).ToList();
        bool moze1 = true, moze2 = true, moze3 = true; // 1 = napred 2 = nazad 3 = korak napred
        int x = 1_000_000;
        int brojDementoraRoknutih = 0;
        string s = "";
        while (x > 0)
        {
            int indexNajblizeg = 0;
            for (int i = 1; i < dementori.Count; i++)
                if (Math.Abs(dementori[i]) < Math.Abs(dementori[indexNajblizeg]))
                    indexNajblizeg = i;
            if (dementori[indexNajblizeg] > 0 && moze1)
            {// radimo 1
                dementori.RemoveAt(indexNajblizeg);
                brojDementoraRoknutih++;
                s += "1";
                moze1 = false; moze2 = moze3 = true;
            }
            else if (dementori[indexNajblizeg] < 0 && moze2)
            {//2
                dementori.RemoveAt(indexNajblizeg);
                brojDementoraRoknutih++;
                moze2 = false; moze1 = moze3 = true;
                s += "2";
            }
            else if (dementori[indexNajblizeg] == 0) 
            {
                break;
            }
            else
            {//3
                for (int i = 0; i < dementori.Count; i++)
                {
                    dementori[i] -= 1;
                }
                s += "3";
                moze3 = false; moze1 = moze2 = true;
            }
            for (int i = 0; i < dementori.Count; i++)
            {
                if(dementori[i] > 0) dementori[i] -= 1;
                else if (dementori[i] < 0) dementori[i] += 1;
            }
            x--;
            if (dementori.Count == 0) break;
        }
        Console.WriteLine(brojDementoraRoknutih);
        Console.WriteLine(s);
    }
}