While resting on the ship after the "Russian Code Cup" a boy named Misha invented an interesting game. He promised to give his quadrocopter to whoever will be the first one to make a rectangular table of size n × m, consisting of positive integers such that the sum of the squares of numbers for each row and each column was also a square.

Since checking the correctness of the table manually is difficult, Misha asks you to make each number in the table to not exceed 10^8.


-----Input-----

The first line contains two integers n and m (1 ≤ n, m ≤ 100)  — the size of the table. 


-----Output-----

Print the table that meets the condition: n lines containing m integers, separated by spaces. If there are multiple possible answers, you are allowed to print anyone. It is guaranteed that there exists at least one correct answer.


-----Examples-----
Input
1 1

Output
1
Input
1 2

Output
3 4

Source: codeforces | Difficulty: VERY_HARD
Tags: Constructive algorithms

Mathematics

Probability


Solutions:
class InputHandlerObject(object):
	inputs = []

	def getInput(self, n=0):
		res = ''
		inputs = self.inputs
		if not inputs:
			inputs.extend(input().split(' '))
		if n == 0:
			res = inputs[:]
			inputs[:] = []
		while n > len(inputs):
			inputs.extend(input().split(' '))
		if n > 0:
			res = inputs[:n]
			inputs[:n] = []
		return res
InputHandler = InputHandlerObject()
g = InputHandler.getInput
(n, m) = [int(x) for x in g()]

def sqr(n):
	if n == 1:
		return [1]
	if n == 2:
		return [4, 3]
	if n % 2:
		return [(n + 1) // 2, 2] + [1] * (n - 2)
	return [(n - 2) // 2] + [1] * (n - 1)
a = sqr(n)
b = sqr(m)
for i in range(n):
	res = [str(a[i] * x) for x in b]
	print(' '.join(res))