using System.Collections.Generic;
public static void Main()
var solution = new Solution();
var arr = solution.PrettyPrint(inputValue);
foreach (var arrRow in arr)
foreach (var arrColumn in arrRow)
Console.Write(arrColumn);
public List<List<int>> PrettyPrint(int A)
var arr = new int[num, num];
var result = new List<List<int>>();
for (var i = 0; i < arr.GetLength(0); i++)
var list = new List<int>();
for (var j = 0; j < arr.GetLength(0); j++)
private void FillArray(int level, int maxLevel, int[,] arr)
var value = maxLevel - level;
for (var i = level; i < arr.GetLength(0)-level; i++)
var leftAndTopCornerIndex = level;
arr[leftAndTopCornerIndex, i] = value;
arr[i, leftAndTopCornerIndex] = value;
var rightAndButtomCornerIndex = arr.GetLength(0) - level - 1;
arr[rightAndButtomCornerIndex, i] = value;
arr[i, rightAndButtomCornerIndex] = value;
FillArray(level + 1, maxLevel, arr);