#include #include #include #include #include #include #include using namespace std; int N; int C; int a[101]; int _open[101]; int _close[101]; string ss[300]; void do1() { for(int i=1;i<=100;++i) a[i]^=1; } void do2() { for(int i=2;i<=N;i+=2) a[i]^=1; } void do3() { for(int i=1;i<=N;i+=2) a[i]^=1; } void do4() { for(int i=1;i<=N;i+=3) a[i]^=1; } int cnt=0; int check() { for(int i=1;i<=N;++i){ if(_open[i]==1&&a[i]==0)return 1; if(_close[i]==1&&a[i]==1)return 1; } return 0; } void dfs(int c) { if(c==C) { if(check()==0) { ss[cnt]=""; for(int i=0; i4) { C%=2; if (C==1) { C=3; } else { C=4; } } dfs(0); sort(ss,ss+cnt); cout<