//奇数的魔方矩阵 规则就是行减去1 列加上1 越界的话就是换对应的哪一个 如果找到的位置已经访问过了 那么就放在原始位置的下面
/*
import java.util.Scanner;
public class fibonacci {
public static void main(String args[]){
Scanner input=new Scanner(System.in);//作为输入数据的标示
final int maxl=10000;//这里定义是为了数组的动态输入
int[][] vis=new int[maxl][maxl];
int[][] b=new int[maxl][maxl];
while(true){
int n = input.nextInt();
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
b[i][j] = 0;
vis[i][j] = 0;
}
}
int i = 0, j = n / 2;
b[i][j] = 1; vis[i][j] = 1;
for (int k = 2; k <= n * n; k++) {
int nx = i, ny = j;
i++; j--;
if (i >= n) i = 0;
if (j < 0) j = n - 1;
if (vis[i][j] == 1) {
i = nx + 1;j = ny;
}
if (i >= n) i = 0;
b[i][j] = k; vis[i][j] = 1;
}
for (int x = 0; x < n; x++) {
for (int y = 0; y < n; y++)
System.out.print(b[x][y] + " ");
System.out.println();
}
}
}
}
*/
//内旋矩阵
/*
import java.util.Scanner;
public class fibonacci {
public static void main(String args[]){
Scanner input=new Scanner(System.in);//作为输入数据的标示
final int maxl=10000;//这里定义是为了数组的动态输入
//int[][] vis=new int[maxl][maxl];
int[][] b=new int[maxl][maxl];
while(true){//支持连续输入
int n=input.nextInt();
int cnt=1;
for(int i=0;i<n/2;i++){
for(int j=i;j<n-1-i;j++){
b[i][j]=cnt;cnt++;
}
for(int j=i;j<n-1-i;j++){
b[j][n-1-i]=cnt;cnt++;
}
for(int j=n-1-i;j>i;j--){
b[n-1-i][j]=cnt;cnt++;
}
for(int j=n-1-i;j>i;j--){
b[j][i]=cnt;cnt++;
}
}
if(n%2==1) b[n/2][n/2]=cnt;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++)
System.out.print(b[i][j] + " ");
System.out.println();
}
}
}
}
*/