#include using namespace std; int N; int A[32][32]; int L[]={4,1,2,3}; int U[]={1,4,2,3}; int X[]={1,4,3,2}; int f(int n,int y,int x){ if(n&1){ int v=(x+y+n/2+1)%n; int u=(x+v+n/2+1)%n; return v*n+u+1; } if(n&2){ // LUX method int* LUX = y>n/2+2 ? X : (x/2==n/4?x/2==y/2:y>n/2) ? U : L; return f(n/2,y/2,x/2)*4-4+LUX[x&1|(y&1)<<1]; } { int i=y*n+x; return ((y+n/4)/(n/2)^(x+n/4)/(n/2))&1 ? n*n-i : i+1; } } int main() { cin>>N; for(int y=0;y