المصفوفة الجيدة ذات الحجم $N$ هي مصفوفة أبعادها $N \times N$ من الأعداد الصحيحة الموجبة بحيث يكون ناتج XOR الكلي لكل صف ولكل عمود ولكلا القطرين مساوياً لـ $0$.
وبشكل أكثر دقة، تُسمى المصفوفة $A$ ذات الأبعاد $N \times N$ مصفوفة جيدة بحجم $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+1)$ يجب أن يحتوي على عناصر الصف $i$ من المصفوفة $A$، مفصولة بمسافات.
إذا كانت هناك عدة حلول، فيمكن طباعة أيٍّ منها.
أمثلة
مثال الإدخال 1
2
مثال الإخراج 1
4 1 1 1 1
مثال الإدخال 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$).