/*bool vis[MAX_N] ; int dir[4]={-1,1,2,-2}; int st=123456789,ed=876543219; int a[9]; int ans=0; int sum(){ int res=0; for(int i=0;i<9;i++){ res*=10; res+=a[i]; } return res; }*/
bool vis[10][10]; int dx[4]={1,0,-1,0}; int dy[4]={0,1,0,-1}; int ans=0; voiddfs(int x,int y){ if(x<=1||x>=7||y<=1||y>=7){ ans++; return ; } for(int i=0;i<=4;i++){ int nx=x+dx[i]; int x2=8-nx; int ny=y+dy[i]; int y2=8-ny; if(nx>=1&&nx<=7&&ny>=1&&ny<=7&&!vis[nx][ny]){ vis[nx][ny]=1; vis[x2][y2]=1; dfs(nx,ny); vis[nx][ny]=0; vis[x2][y2]=0; } } }