#include #include using namespace std; vector> o(int n){ vector> a(n); for(int i=0; in*n){ break; } if(r==0){ r=n-1; } else { r--; } if(c==n-1){ c=0; } else { c++; } if(a[r][c]==-1){ a[r][c]=x; } else { if(r==n-1){ r=0; } else { r++; } if(c==0){ c=n-1; } else { c--; } if(r==n-1){ r=0; } else { r++; } if(a[r][c]==-1) { a[r][c]=x; } } } return a; } vector> f(int n){ vector> a(n); for(int i=0; i> b(n); for(int i=0; i=0; --i){ for(int j=n-1; j>=0; --j){ y++; if(b[i][j]==0) a[i][j]=y; } } return a; } vector> fp(int n){ vector> a(n); for(int i=0; i> b; b=o(nn); for(int i=0; i> c(nn); for(int i=0; inn/2+1; --i) for(int j=0; j>n; vector> m; if(n%2==1) m=o(n); else if(n%4==0) m=f(n); else if(n%4==2) m=fp(n); for(int i=0; i