#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define FOR(i,a,b) for(int i=(a); i<(b); ++i) #define REP(i,n) for(int i=1; i<=(n); ++i) #define pb push_back #define INF 1000000001 #define EPS 10e-9 #define P 1000000007 typedef vector vi; typedef pair pii; #define st first #define nd second typedef long long ll; typedef unsigned long long ull; #define ISDEBUG 1 #define dprintf if(ISDEBUG) printf void PTAB(const vi& t) {FOR(i,0,t.size()) printf("%d ", t[i]); puts("");} #define DPTAB if(ISDEBUG) PTAB int ins[10],outs[10],a[10]; int m[10][10]; int n; vi od; void fillodw() { od.resize(23); FOR(i,1,23) FOR(j,1,23) if((i*j)%23==1) od[i]=j; } void printprogram() { for(int f=0;f=0;--g) m[f][g]=(m[f][g+1]*ins[f])%23; for(int f=0;ff;--g) if(m[f][f]==0) swaprow(f,g); else break; for(int g=f+1;g=0;--f) { for(int g=f+1;g