#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; using namespace atcoder; typedef long long ll; typedef pair P; int main() { int n; cin>>n; int a[200020]; for(int i=0; i<2*n+1; i++) cin>>a[i]; int a1[2][4]={{0,2,1,2},{0,1,2,1}}; bool b1=1, b2=1; for(int i=1; i<2*n+1; i++){ int x=(a[i]-a[0]+3)%3; if(x!=a1[n%2][i%4]){ b1=0; } if(x!=a1[(n%2)^1][i%4]){ b2=0; } } if(b1)cout<<1<> st; auto dfs=[&](auto dfs, vector &v)->void{ if(v.size()==2*n+1){ auto w=v; for(int i=0; i w1; for(int j=1; j<(int)w.size()-1; j++){ if((w[j]-w[j-1]+3)%3==1 && (w[j+1]-w[j]+3)%3==1){ w1.push_back(1); }else if((w[j]-w[j-1]+3)%3==2 && (w[j+1]-w[j]+3)%3==2){ w1.push_back(2); }else{ w1.push_back(0); } } swap(w, w1); } if(w[0]==2){ for(int i=0; i<2*n+1; i++) cout< v0; dfs(dfs, v0); cout<