Problem: Rani has challenged Nandu to generate Splendid Matrices. Splendid matrices are square matrices with dimensions 2^n X 2^n filled in a particular manner. To explain this manner, Rani gives Nandu the matrices for n=1, n=2 and n=3 : 

n=1
1 2
3 4

n=2 (spacing for clarity)
1  2  5  6
3  4  7  8
9  10 13 14
11 12 15 16

n=3 (spacing for clarity)
1  2  5  6  17 18 21 22 
3  4  7  8  19 20 23 24 
9  10 13 14 25 26 29 30 
11 12 15 16 27 28 31 32 
33 34 37 38 49 50 53 54 
35 36 39 40 51 52 55 56 
41 42 45 46 57 58 61 62 
43 44 47 48 59 60 63 64

Given n, please help Nandu in generating the Splendid Matrix with dimensions 2^n X 2^n.
Input
A single line consisting of n.
Output
n lines. Each line should consist of n integers separated by single spaces.
Constraints
1 < = n < = 10

SAMPLE INPUT
3

SAMPLE OUTPUT
1 2 5 6 17 18 21 22 
3 4 7 8 19 20 23 24 
9 10 13 14 25 26 29 30 
11 12 15 16 27 28 31 32 
33 34 37 38 49 50 53 54 
35 36 39 40 51 52 55 56 
41 42 45 46 57 58 61 62 
43 44 47 48 59 60 63 64

Solution (in PYTHON):

Solution:
n=input()

base=((1,2),(3,4))

def modify_mat(val,mat):

	mat = list(mat)
	for i in range(0,len(mat)):
		for j in range(0,len(mat[i])):
			mat[i] = list(mat[i])
			mat[i][j] = mat [i][j] +val
			mat[i]=tuple(mat[i])
	# for each in mat:
	# 	for every in each:
	# 		every = every + val
	
	mat = tuple(mat)
	return mat

for i in range(1,n):
	b2=tuple(base)
	b3=tuple(base)
	b4=tuple(base)
	
	value=base[-1][-1]
	b2=modify_mat(value,b2)
	
	value=b2[-1][-1]
	b3=modify_mat(value,b3)
	
	value=b3[-1][-1]
	b4=modify_mat(value,b4)

	base = list(base)

	b3 = list(b3)
	for j in range(0,2**i):
		base[j] = base [j] + b2 [j]
		b3[j] = b3[j] + b4[j]
	
	for each in b3:
		base.append(each)
		
for each in base:
	for every in each:
		print every,
	print