using
System;
class
GFG{
static
int
[,] solve(
int
[,] arr,
int
n)
{
int
[,] ans =
new
int
[n, n];
for
(
int
i = 0; i < n; i++)
{
for
(
int
j = 0; j < n; j++)
{
ans[i, j] = arr[j, (i + j) % n];
}
}
return
ans;
}
static
void
show(
int
[,] arr,
int
n)
{
int
[,] res = solve(arr, n);
for
(
int
i = 0; i < n; i++)
{
for
(
int
j = 0; j < n; j++)
{
Console.Write(res[i, j] +
" "
);
}
Console.WriteLine();
}
}
static
int
[,] makeArray(
int
n)
{
int
[,] arr =
new
int
[n, n];
int
c = 1;
for
(
int
i = 0; i < n; i++)
{
for
(
int
j = 0; j < n; j++)
arr[i, j] = c++;
}
return
arr;
}
static
void
Main()
{
int
n = 5;
int
[,] arr = makeArray(n);
show(arr, n);
}
}