dxy = [(1,0),(0,1),(-1,0),(0,-1)] N = int(raw_input()) assert 1 <= N <= 30 whirlnumber = [[True]*(N+2) for i in xrange(N+2)] for i in xrange(N*N): whirlnumber[i/N+1][i%N+1] = False x = y = 1 di = 0 for i in xrange(N**2): whirlnumber[y][x] = "%03d" % (i+1) nx = x+dxy[di][0] ny = y+dxy[di][1] if whirlnumber[ny][nx]: di = (di + 1) % 4 nx = x+dxy[di][0] ny = y+dxy[di][1] x,y = nx,ny for i in xrange(1,N+1): print " ".join(whirlnumber[i][1:N+1])