class Solution(object):
    def val(self, n, x, y):
        px=n-1-abs(2*x-n+1)
        py=n-1-abs(2*y-n+1)
        v=min(px,py)
        if v>=n-1:
            return n*n
        v/=2
        passv=(n-v)*v*4
        if px>=py:
            if y<=(n-1)/2:
                return passv+x-y+1
            else:
                return passv+2*(n-2*v-1)-x+y+1
        else:
            if x>=n/2:
                return passv-x+y+2*(n-2*v-1)+1
            else:
                return passv+x-y+(n-2*v-1)*4+1
    def dump(self, mat):
        for vs in mat:
            print ["="%v for v in vs]
    def generateMatrix(self, n):
        """
        :type n: int
        :rtype: List[List[int]]
        """
        ret=[]
        for i in xrange(n):
            item=[]
            for j in xrange(n):
                #print i,j,self.val(n,j,i)
                item.append(self.val(n,j,i))
            ret.append(item)
        return ret