package main import ( "fmt" ) func main() { var N int fmt.Scan(&N) z := make([][]int, N) for i := 0; i < N; i++ { z[i] = make([]int, N) } var row, col int row = N - 1 col = N / 2 z[row][col] = 1 for i := 2; i <= N*N; i++ { if z[(row+1)%N][(col+1)%N] == 0 { row = (row + 1) % N col = (col + 1) % N } else { row = (row - 1 + N) % N } z[row][col] = i } for i := 0; i < N; i++ { for j := 0; j < N; j++ { fmt.Print(z[i][j], " ") } fmt.Println("") } }