#include <bits/stdc++.h>
using namespace std;

#define REP(i,n) for(int i=0;i<(n);i++)
#define ALL(v) v.begin(),v.end()

template<typename T>
void chmin(T &a,T b){
  if(a>b)a=b;
}

signed main(){
  int n;cin>>n;
  string s;cin>>s;
  vector<int> v(n+1);
  REP(i,n+1)cin>>v[i];
  int mn=1000000;
  REP(i,n)chmin(mn,abs(v[i+1]-v[i]));
  cout<<mn<<endl;
  REP(_,mn){
    REP(i,n+1)cout<<v[i]/mn+(_<v[i]%mn)<<" ";cout<<endl;
  }
}

#include <bits/stdc++.h>
using namespace std;

char s[200050];
char t[5]="110";
int check(int i)
{
    int j;
    for(j=0;s[j];j++,i++)
    {
        if(s[j]!=t[i%3]) return 0;
    }
    return 1;
}
int main(){

    int64_t ans=1e10;
    int n;
    cin>>n;
    scanf("%s",s);
    int i;
    for(i=0;i<3;i++)
       if(check(i)) break;

    if(i>=3) ans=0;
    else if(n==1&&s[0]=='1') ans*=2;
    else ans=ans-(i+n-1)/3;
    cout<<ans<<endl;

    return 0;
}