Ma trận kỳ ảo

Xem dạng PDF

Gửi bài giải

Điểm: 100,00 (OI)
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Người đăng:
Dạng bài
Ngôn ngữ cho phép
C++, Pascal, Python

Trong toán vui, một ma trận kỳ ảo bậc ~n~ (còn gọi là ma phương hay hình vuông ma thuật) là một cách sắp xếp ~n^2~ số, thường là các số nguyên phân biệt, trong một bảng vuông sao cho tổng ~n~ số trên mỗi hàng, cột, và đường chéo đều bằng nhau. Ma trận kỳ ảo chuẩn chứa các số nguyên từ ~1~ đến ~n^2~.

Tuy nhiên, để tăng tính thú vị của bài toán này, Onid định nghĩa lại một ma trận kỳ ảo như sau: Một ma trận kỳ ảo có tổng các số trong mỗi hàng, mỗi cột, các đường chéo chính đều bằng nhau và bằng một số nguyên dương ~S~.

Hãy in ra một ma trận kỳ ảo có kích thước ~n \times n~.

Input

Một dòng duy nhất chứa hai số nguyên dương ~n, S~ ~(n \le 1000, \ n~ là số lẻ~; \ S \le 10^9, \ S \ \vdots \ n)~.

Output

In ra ~n~ dòng, mỗi dòng ~n~ số thoả mãn ma trận ~n \times n~ là một ma trận kỳ ảo. Nếu có nhiều ma trận thoả mãn, in ra một ma trận bất kỳ.

Examples

Input
5 65
Output
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9

Scoring

  • Nếu ma trận của bạn thoả mãn là một ma trận kỳ ảo và các số trong ma trận đôi một phân biệt, bạn sẽ nhận được ~100\%~ số điểm của test đó.
  • Nếu ma trận của bạn thoả mãn là một ma trận kỳ ảo, nhưng các số trong ma trận đôi một không phân biệt, bạn sẽ nhận được ~25\%~ số điểm của test đó.
  • Các trường hợp còn lại bạn sẽ không nhận được điểm.