using
System;
class
GFG
{
static
void
solve(
long
n)
{
long
[,]initial_array =
new
long
[(
int
)n - 1,(
int
)n - 1];
long
[,]final_array =
new
long
[(
int
)n,(
int
)n];
for
(
long
i = 0; i < n - 1; ++i)
initial_array[0,(
int
)i] = i + 1;
for
(
long
i = 1; i < n - 1; ++i)
for
(
long
j = 0; j < n - 1; ++j)
initial_array[(
int
)i,(
int
)j]
= initial_array[(
int
)i - 1,(
int
)((
int
)j + 1) % ((
int
)n - 1)];
for
(
long
i = 0; i < n - 1; ++i)
for
(
long
j = 0; j < n - 1; ++j)
final_array[(
int
)i,(
int
)j] = initial_array[(
int
)i,(
int
)j];
for
(
long
i = 0; i < n; ++i)
final_array[(
int
)i,(
int
)n - 1] = final_array[(
int
)n - 1,(
int
)i] = 0;
for
(
long
i = 0; i < n; ++i)
{
long
t0 = final_array[(
int
)i, (
int
)i];
long
t1 = final_array[(
int
)i, (
int
)n - 1];
long
s = final_array[(
int
)i,(
int
)i];
final_array[(
int
)i,(
int
)i] = final_array[(
int
)i, (
int
)n - 1];
final_array[(
int
)i,(
int
)n - 1] = s;
final_array[(
int
)n - 1,(
int
)i] = t0;
}
for
(
long
i = 0; i < n; ++i)
{
for
(
long
j = 0; j < n; ++j)
Console.Write( final_array[(
int
)i,(
int
)j] +
" "
);
Console.WriteLine();
}
}
public
static
void
Main(String []args)
{
long
n = 5;
solve(n);
}
}