#include<bits/stdc++.h>

using namespace std;
int n, a[200005],brn,brp,d,res[500005],poz,rd,dy,dx;
int main(){
  cin>>n;
  for(int i=1;i<=n;i++){
    cin>>a[i];
    if(a[i]<0){
      brn++;

    }
    else{
      brp++;
    }
  }
  if(brn==n){
    for(int i=1;i<=brn;i++){
      a[i]*=-1;
    }
    sort(a+1,a+n+1);
    d=1;
    poz=0;
    rd=2;
    dy=2;
    res[1]=2;
    for(int i=dy;i<=brn;i++){
        a[i]--;
    }
    while(d<=brn){
      if(poz==a[dy]){
        break;
      }
      else if(res[rd-1]==2){
        poz++;
        res[rd]=3;
      }
      else{
        res[rd]=2;
        rd++;
        dy++;
        d++;
      }
      if(poz==a[dy]){
        break;
      }
      for(int i=dy;i<=brn;i++){
        a[i]--;
      }
    }
    cout<<d<<endl;
    for(int i=1;i<=rd;i++){
      cout<<res[i];
    }
    cout<<endl;
  }
  else if(brp==n){
    sort(a+1,a+n+1);
    d=1;
    poz=0;
    rd=2;
    dx=2;
    res[1]=1;
    for(int i=dx;i<=brp;i++){
        a[i]--;
    }
    while(d<=brp){
      if(poz==a[dx]){
        break;
      }
      else if(res[rd-1]==1){
        poz++;
        res[rd]=3;
      }
      else{
        res[rd]=1;
        rd++;
        dx++;
        d++;
      }
      if(poz==a[dx]){
        break;
      }
      for(int i=dx;i<=brp;i++){
        a[i]--;
      }

    }
    cout<<d<<endl;
    for(int i=1;i<=rd;i++){
      cout<<res[i];
    }
    cout<<endl;
  }
  return 0;
}