/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main
(String[] args
) {
int n = 10;
int[][] values = new int[n][n];
for (int i = 0; i < n * n; ++i)
{
int col
= (int) ((Math.
round(r
/ 2) * Math.
pow(-1, r
+ 1)) + (Math.
pow(-1, r
+ 1) * (((r
* (r
+ 1)) - i
) - Math.
abs((r
* (r
+ 1)) - i
)) / 2));
int row
= (int) ((Math.
round(r
/ 2) * Math.
pow(-1, r
)) + (Math.
pow(-1, r
+ 1) * (((r
* (r
+ 1)) - i
) + Math.
abs((r
* (r
+ 1)) - i
)) / 2));
values[row + (n / 2)][col + ((n - 1) / 2)] = (n * n) - i;
}
if (n % 2 == 0)
{
for (int row = 0; row < n; ++row)
{
for (int col = 0; col < n; ++col)
{
System.
out.
print(values
[row
][col
] + "\t"); }
}
}
else
{
for (int row = n - 1; row >= 0; --row)
{
for (int col = n - 1; col >= 0; --col)
{
System.
out.
print(values
[row
][col
] + "\t"); }
}
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpCgl7CgkJaW50IG4gPSAxMDsKCQkKCQlpbnRbXVtdIHZhbHVlcyA9IG5ldyBpbnRbbl1bbl07CgkJCgkJZm9yIChpbnQgaSA9IDA7IGkgPCBuICogbjsgKytpKQoJCXsKCQkJZG91YmxlIHIgPSBNYXRoLmZsb29yKE1hdGguc3FydChpKSk7CgkJCWludCBjb2wgPSAoaW50KSAoKE1hdGgucm91bmQociAvIDIpICogTWF0aC5wb3coLTEsIHIgKyAxKSkKCQkJCQkJCQkrIChNYXRoLnBvdygtMSwgciArIDEpICogKCgociAqIChyICsgMSkpIC0gaSkgLSBNYXRoLmFicygociAqIChyICsgMSkpIC0gaSkpIC8gMikpOwoJCQkKCQkJaW50IHJvdyA9IChpbnQpICgoTWF0aC5yb3VuZChyIC8gMikgKiBNYXRoLnBvdygtMSwgcikpCgkJCQkJCQkJKyAoTWF0aC5wb3coLTEsIHIgKyAxKSAqICgoKHIgKiAociArIDEpKSAtIGkpICsgTWF0aC5hYnMoKHIgKiAociArIDEpKSAtIGkpKSAvIDIpKTsKCQkJCgkJCXZhbHVlc1tyb3cgKyAobiAvIDIpXVtjb2wgKyAoKG4gLSAxKSAvIDIpXSA9IChuICogbikgLSBpOwoJCX0KCQkKCQlpZiAobiAlIDIgPT0gMCkKCQl7CgkJCWZvciAoaW50IHJvdyA9IDA7IHJvdyA8IG47ICsrcm93KQoJCQl7CgkJCQlmb3IgKGludCBjb2wgPSAwOyBjb2wgPCBuOyArK2NvbCkKCQkJCXsKCQkJCQlTeXN0ZW0ub3V0LnByaW50KHZhbHVlc1tyb3ddW2NvbF0gKyAiXHQiKTsKCQkJCX0KCQkJCVN5c3RlbS5vdXQucHJpbnRsbigpOwoJCQl9CgkJfQoJCWVsc2UKCQl7CgkJCWZvciAoaW50IHJvdyA9IG4gLSAxOyByb3cgPj0gMDsgLS1yb3cpCgkJCXsKCQkJCWZvciAoaW50IGNvbCA9IG4gLSAxOyBjb2wgPj0gMDsgLS1jb2wpCgkJCQl7CgkJCQkJU3lzdGVtLm91dC5wcmludCh2YWx1ZXNbcm93XVtjb2xdICsgIlx0Iik7CgkJCQl9CgkJCQlTeXN0ZW0ub3V0LnByaW50bG4oKTsKCQkJfQoJCX0KCQkKCX0KfQ==