using System; using System.Linq; namespace Uzumaki { public class Program { public static void Main(string[] args) { var N = int.Parse(Console.ReadLine()); var res = new int[N, N].ToJaggedArray(); res[0][0] = 1; Func isInside = (tx, ty) => 0 <= tx && tx < N && 0 <= ty && ty < N; var d = 0; var dx = new[] { 1, 0, -1, 0 }; var dy = new[] { 0, 1, 0, -1 }; var x = 0; var y = 0; for(var i = 2; i <= N * N; i++) { for(var j = 0; j < 2; j++, d++) { var nx = x + dx[d % 4]; var ny = y + dy[d % 4]; if(isInside(nx, ny) && res[ny][nx] == 0) { res[y = ny][x = nx] = i; break; } } } foreach(var r in res) { Console.WriteLine(string.Join(" ", r.Select(i => i.ToString("000")))); } } } public static class ExMethod { public static T[][] ToJaggedArray(this T[,] src) { var x = src.GetLength(1); var y = src.GetLength(0); var ret = new T[y][]; for(var i = 0; i < y; i++) { ret[i] = new T[x]; for(var j = 0; j < x; j++) { ret[i][j] = src[i, j]; } } return ret; } } }