using System; using System.Linq; namespace No401{ public class Program{ public static void Main(string[] args){ var N = int.Parse(Console.ReadLine()); var res = new int[N, N].ToJaggedArray(); Func isInside = (tx, ty) => 0 <= tx && tx < N && 0 <= ty && ty < N; var dx = new[]{1, 0, -1, 0}; var dy = new[]{0, 1, 0, -1}; var d = 0; var x = 0; var y = 0; for(var i = 1; i <= N * N; i++){ res[y][x] = i; if(!isInside(x + dx[d], y + dy[d]) || res[y + dy[d]][x + dx[d]] != 0) d = (d + 1) % 4; x += dx[d]; y += dy[d]; } 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; } } }