«Хорошей» матрицей размера $N$ называется $N \times N$ матрица из положительных целых чисел, такая что побитовое исключающее ИЛИ (XOR) элементов каждой строки, каждого столбца и обеих диагоналей равно 0.
Точнее, $N \times N$ матрица $A$ называется хорошей матрицей размера $N$, если она удовлетворяет всем следующим условиям. Здесь $x \oplus y$ обозначает побитовое XOR чисел $x$ и $y$, а $\bigoplus_{i=1}^{N} a_i = a_1 \oplus \dots \oplus a_N$.
- $A_{i,j}$ ($1 \le i, j \le N$) — положительное целое число.
- Для каждого $i = 1, 2, \dots, N$, $\bigoplus_{j=1}^{N} A_{i,j} = 0$.
- Для каждого $j = 1, 2, \dots, N$, $\bigoplus_{i=1}^{N} A_{i,j} = 0$.
- $\bigoplus_{i=1}^{N} A_{i,i} = 0$.
- $\bigoplus_{i=1}^{N} A_{i,N-i+1} = 0$.
Дано положительное целое число $N$. Среди всех хороших матриц размера $N$ выведите ту, у которой общая сумма всех элементов $\sum_{1 \le i,j \le N} A_{i,j}$ минимальна. Если хорошей матрицы размера $N$ не существует, сообщите об этом.
Входные данные
Входные данные состоят из одного целого числа $N$ ($1 \le N \le 2 \times 10^3$).
Выходные данные
Если хорошей матрицы размера $N$ не существует, выведите $-1$ на одной строке. Если она существует, выведите минимально возможную общую сумму всех элементов на первой строке. Затем выведите матрицу $A$ в виде $N$ строк, элементы в которых разделены пробелами. То есть $i$-я строка должна содержать элементы $i$-й строки матрицы $A$, разделенные пробелами. Если существует несколько решений, можно вывести любое из них.
Примеры
Входные данные 1
2
Выходные данные 1
4 1 1 1 1
Входные данные 2
Входные данные 2
1
Выходные данные 2
-1
Примечание
Для первого примера побитовое XOR каждой строки, каждого столбца и обеих диагоналей равно 0, поэтому матрица удовлетворяет условиям хорошей матрицы. Также среди всех хороших матриц размера 2 общую сумму всех элементов нельзя сделать меньше 4, поэтому минимальное значение равно 4. Для второго примера хорошей матрицы размера 1 не существует, поэтому выведите $-1$. Побитовое XOR $x \oplus y$ неотрицательных целых чисел $x, y$ определяется следующим образом:
- В двоичном представлении $x \oplus y$ цифра в разряде $2^k$ ($k \ge 0$) равна 1 тогда и только тогда, когда ровно одна из цифр в разряде $2^k$ в двоичных представлениях $x$ и $y$ равна 1; в противном случае она равна 0.
Например, $3 \oplus 5 = 6$ (в двоичном виде $011 \oplus 101 = 110$).