package main
import "fmt"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param n int整型 
 * @return int整型二维数组
*/
func Matrix( n int ) [][]int {
    // write code here
    num := 1
    left, right, top, bottom := 0,n,0,n
    res := make([][]int, n)
    for i:=0;i<n;i++ {
        res[i] = make([]int, n)
    }
    for left < right && top < bottom {
        for i:=left;i<right;i++ {
            res[top][i] = num
            num++
        }
        top++
        for i:=top;i<bottom;i++ {
            res[i][right-1] = num
            num++
        }
        right--
        for i:=right-1;i>=left;i-- {
            res[bottom-1][i] = num
            num++
        }
        bottom--
        for i:=bottom-1;i>=top;i-- {
            res[i][left] = num
            num++
        }
        left++
    }



    fmt.Println(res)
    return res
}