Levko loves tables that consist of n rows and n columns very much. He especially loves beautiful tables. A table is beautiful to Levko if the sum of elements in each row and column of the table equals k.

Unfortunately, he doesn't know any such table. Your task is to help him to find at least one of them. 


-----Input-----

The single line contains two integers, n and k (1 ≤ n ≤ 100, 1 ≤ k ≤ 1000).


-----Output-----

Print any beautiful table. Levko doesn't like too big numbers, so all elements of the table mustn't exceed 1000 in their absolute value.

If there are multiple suitable tables, you are allowed to print any of them.


-----Examples-----
Input
2 4

Output
1 3
3 1

Input
4 7

Output
2 1 0 4
4 0 2 1
1 3 3 0
0 3 2 2



-----Note-----

In the first sample the sum in the first row is 1 + 3 = 4, in the second row — 3 + 1 = 4, in the first column — 1 + 3 = 4 and in the second column — 3 + 1 = 4. There are other beautiful tables for this sample.

In the second sample the sum of elements in each row and each column equals 7. Besides, there are other tables that meet the statement requirements.

Difficulty: EASY

Solutions:
(n, k) = map(int, input().split())
for i in range(0, n):
	for j in range(0, n):
		if i == j:
			print(k, end=' ')
		else:
			print(0, end=' ')
	print()


(x, y) = map(int, input().split())
for i in range(x):
	for j in range(x):
		print(y if i == j else 0, end=' ')
	print()


[n, k] = [int(i) for i in input().split()]
for x in range(n):
	for y in range(n):
		if x == y:
			print(k, end=' ')
		else:
			print(0, end=' ')
	print()


from copy import deepcopy
(n, k) = map(int, input().split())

def fill_matrix(n):
	data = []
	q = [0] * n
	for i in range(n):
		data.append(deepcopy(q))
	return data

def E_matrix(matrix):
	for i in range(n):
		matrix[i][i] = k
matrix = fill_matrix(n)
E_matrix(matrix)
for row in matrix:
	sep = ' '
	for col in row:
		print(col, end=sep)
	print('')


(n, k) = map(int, input().split())
for i in range(n):
	result = ''
	for j in range(n):
		if i == j:
			result += str(k)
		else:
			result += str(0)
		result += ' '
	print(result)


(n, k) = map(int, input().split())
a = []
b = []
for i in range(n):
	b = []
	for j in range(n):
		if i == j:
			b.append(k)
		else:
			b.append(0)
	a.append(b)
for i in range(n):
	for j in range(n):
		print(a[i][j], '', end='')
	print()


(s, r) = map(int, input().split())
for i in range(s):
	for j in range(s):
		print(r if i == j else 0, end=' ')
	print()


(n, m) = map(int, input().split())
x = []
for i in range(n):
	for j in range(n):
		if i == j:
			print(m, end=' ')
		else:
			print(0, end=' ')
	print()


(n, k) = map(int, input().split())
a = [[0] * n for x in range(n)]
for i in range(len(a)):
	for j in range(len(a[i])):
		if j == i:
			a[i][j] = k
for x in a:
	st = ''
	for y in x:
		st += str(y) + ' '
	print(st)


(size, k) = map(int, input().split())
for r in range(size):
	for c in range(size):
		if r == c:
			print(k, end=' ')
		else:
			print(0, end=' ')
	print()


temp = list(map(int, input().split()))
n = temp[0]
k = temp[1]
temp = []
my_list = []
for x in range(n):
	temp = [0] * n
	temp[x] = k
	my_list.append(temp)
for x in range(n):
	for y in range(n):
		print(my_list[x][y], end=' ')
	print()


(a, b) = map(int, input().split())
for i in range(a):
	for j in range(a):
		if i == j:
			print(b, end=' ')
		else:
			print(0, end=' ')
	print()


import sys
input = sys.stdin.readline
(n, k) = [int(i) for i in input().split()]
for i in range(n):
	for j in range(n):
		print([0, k][i == j], end=' ')
	print()


import time
import math
from sys import stdin, stdout

def I():
	return int(stdin.readline())

def In():
	return map(int, stdin.readline().split())

def L():
	return list(map(int, stdin.readline().split()))

def Si():
	return sorted(list(map(int, stdin.readline().split())))

def Si():
	return sorted(list(map(int, stdin.readline().split())), reverse=True)

def P(x):
	return stdout.write(str(x))

def Pi(x, y):
	return stdout.write(str(x) + ' ' + str(y))

def solve():
	(n, k) = In()
	for i in range(n):
		for j in range(n):
			P(k if i == j else '0')
			P(' ')
		P('\n')
solve()


(d, v) = map(int, input().split())
list1 = [v] + [0] * (d - 1)
ans = ''
for i in range(d):
	for e in range(d):
		ans += str(list1[e]) + ' '
		if e == d - 1:
			ans += '\n'
			list1.insert(0, list1.pop())
print(ans)


s1 = input()
s = s1.split()
n = int(s[0])
k = int(s[1])
for row in range(n):
	for col in range(n):
		if row == col:
			print(k, end=' ')
		else:
			print('0', end=' ')
	print()


napis = input().split()
ileRzedow = int(napis[0])
jakaSuma = int(napis[1])
for x in range(ileRzedow):
	nowyNapis = '0 ' * x + '{0} '.format(jakaSuma) + '0 ' * (ileRzedow - 1 - x)
	print(nowyNapis)


(N, K) = [int(x) for x in input().split()]
for i in range(1, N + 1):
	for j in range(1, N + 1):
		if i == j:
			print(K, end=' ')
		else:
			print(0, end=' ')
	print('')


import itertools
import math
import random
import time

def timer(f):

	def tmp(*args, **kwargs):
		t = time.time()
		res = f(*args, **kwargs)
		print('Время выполнения функции: %f' % (time.time() - t))
		return res
	return tmp

def genArray(length, lower, upper):
	return [random.randint(lower, upper) for i in range(length)]
(n, k) = map(int, input().split(' '))
s = ''
for i in range(n):
	for j in range(n):
		if i == j:
			s += str(k) + ' '
		else:
			s += '0 '
	s += '\n'
print(s)


s = [int(n) for n in input().split()]
for n in range(s[0]):
	for k in range(s[0]):
		if n == k:
			print(s[1], end=' ')
		else:
			print(0, end=' ')
	print()


i = input().split()
(n, k) = (int(i[0]), int(i[1]))
d = 0
mat = []
last_i = -1
for i in range(n):
	for j in range(n):
		if j == d and i != last_i:
			print(k, end=' ')
			last_i = i
			d += 1
		else:
			print(0, end=' ')
	print()


(n, k) = list(map(int, str(input()).strip().split()))
for i in range(n):
	for j in range(n):
		if j == i:
			print(k, end=' ')
		else:
			print(0, end=' ')
	print('')


(x, y) = map(int, input().split())
d = 0
for i in range(x):
	for j in range(x):
		if j == d:
			print(y, end=' ')
		else:
			print(0, end=' ')
	d += 1
	print(end='\n')


import math
import pprint
(n, k) = map(int, input().split())
for row in range(n):
	for col in range(n):
		if row == col:
			print(k, end=' ')
		else:
			print(0, end=' ')
	print()


arr = input().split()
n = int(arr[0])
k = arr[1]
for i in range(n):
	str = ''
	for j in range(n):
		if i == j:
			str += k
		else:
			str += '0'
		str += ' '
	print(str)


from array import *
(n, k) = map(int, input().split())
ar = [[0 for j in range(n)] for i in range(n)]
for i in range(n):
	ar[i][i] = k
for i in range(n):
	for j in range(n):
		print(ar[i][j], end=' ')
	print()


(n, k) = map(int, input().split())
for i in range(n):
	for j in range(n):
		print('0' if i is not j else str(k), end=' ')
	print()


(n, k) = [int(x) for x in input().split()]
for i in range(n):
	for j in range(n):
		if j != i:
			print('0', end=' ')
		else:
			print(str(k), end=' ')
	print('\n', end='')


from sys import stdout
(n, k) = map(int, input().split())
for i in range(n):
	for j in range(n):
		stdout.write(str(k) + ' ' if i == j else '0 ')
	stdout.write('\n')


l = lambda : map(int, input().split())
(n, k) = l()
for i in range(n):
	print('0 ' * i + str(k), '0 ' * (n - 1 - i))


l = list(map(int, input().split()))
for i in range(l[0]):
	for j in range(l[0]):
		k = 0
		if i == j:
			k = l[1]
		print(k, end=' ')
	print()


a = input().split()
n = int(a[0])
k = int(a[1])
ans = ''
for i in range(n):
	ans = ''
	for j in range(n):
		if i == j:
			ans += str(k) + ' '
		else:
			ans += '0 '
	print(ans)


(n, k) = map(int, input().split())
for row in range(n):
	for col in range(n):
		if row == col:
			print(k, end=' ')
		else:
			print(0, end=' ')
	print()


(r, k) = list(map(int, input().split()))
for i in range(r):
	for j in range(r):
		if i == j:
			print(k, end=' ')
		else:
			print(0, end=' ')
	print()


a = list(input().split(' '))
(n, k) = (int(a[0]), int(a[1]))
for i in range(n):
	res = []
	for j in range(n):
		if i == j:
			print(k, end=' ')
		else:
			print(0, end=' ')
	print('\n', end='')


(n, k) = map(int, input().split())

def create_sq_matrix(size):
	matrix = []
	a = []
	for i in range(0, size):
		for j in range(0, size):
			a.append(0)
		matrix.append(a)
		a = []
	return matrix
a = create_sq_matrix(n)
for i in range(0, len(a)):
	for j in range(0, len(a)):
		if i == j:
			a[i][j] = k
for i in range(0, len(a)):
	for j in range(0, len(a)):
		print(a[i][j], end=' ')
	print()


from sys import stdin, stdout
import math
from itertools import permutations, combinations
from collections import defaultdict
from bisect import bisect_left

def L():
	return list(map(int, stdin.readline().split()))

def In():
	return map(int, stdin.readline().split())

def I():
	return int(stdin.readline())
P = 1000000007
(n, m) = In()
for i in range(n):
	arr = [0] * i + [m] + [0] * (n - 1 - i)
	for j in range(n):
		print(arr[j], end=' ')
	print()


from sys import stdin, stdout
import bisect
import math

def st():
	return list(stdin.readline().strip())

def inp():
	return int(stdin.readline())

def li():
	return list(map(int, stdin.readline().split()))

def mp():
	return map(int, stdin.readline().split())

def pr(n):
	stdout.write(str(n) + '\n')

def soe(limit):
	l = [1] * (limit + 1)
	prime = []
	for i in range(2, limit + 1):
		if l[i]:
			for j in range(i * i, limit + 1, i):
				l[j] = 0
	for i in range(2, limit + 1):
		if l[i]:
			prime.append(i)
	return prime

def segsoe(low, high):
	limit = int(high ** 0.5) + 1
	prime = soe(limit)
	n = high - low + 1
	l = [0] * (n + 1)
	for i in range(len(prime)):
		lowlimit = low // prime[i] * prime[i]
		if lowlimit < low:
			lowlimit += prime[i]
		if lowlimit == prime[i]:
			lowlimit += prime[i]
		for j in range(lowlimit, high + 1, prime[i]):
			l[j - low] = 1
	for i in range(low, high + 1):
		if not l[i - low]:
			if i != 1:
				print(i)

def power(a, n):
	r = 1
	while n:
		if n & 1:
			r = r * a
		a *= a
		n = n >> 1
	return r

def solve():
	(n, k) = mp()
	for i in range(n):
		for j in range(n):
			if i == j:
				print(k, end=' ')
			else:
				print(0, end=' ')
		print()
for _ in range(1):
	solve()


(n, k) = map(int, input().split())
a = '0' * n
a = ' '.join(a)
a = a.split()
for i in range(n):
	a[i] = str(k)
	for j in a:
		print(j, end=' ')
	print()
	a[i] = '0'


(n, k) = input().split()
n = int(n)
k = int(k)
l = []
temp = []
for i in range(n):
	temp = []
	for j in range(n):
		if i == j:
			temp.append(k)
		else:
			temp.append(0)
	l.append(temp)
for i in range(n):
	for j in range(n):
		print(l[i][j], end=' ')
	print()


(n, temp) = map(int, input().split())
val = 0
arr = [[val for i in range(n)] for j in range(n)]
for i in range(n):
	arr[i][i] = temp
for i in range(n):
	for j in range(n):
		print(arr[i][j], end=' ')
	print('')