#!/usr/bin/python3
import random

def read_integer():
	while True:
		try:
			m=int(input("m"))
			if m<=10:
				raise ValueError("m >10")
			return m
		except Exception as e:
			print(f"Error:{e}")
			exit(1)
def gen_com_2d_list(m):
	return [[
	        complex(round(random.uniform(-1,1),2),round(random.uniform(-1,1),2))
	        for _ in range(m)
                ] for _ in range(m) ]

def split(matrix):
	r=[]
	i=[]
	for row in matrix:
		for z in row:
			r.append(z.real)
			i.append(z.imag)
	return r,i
def main():
	m=read_integer()
	complex_matrix=gen_com_2d_list(m)
	#print(complex_matrix)
	for row in complex_matrix:
		print([f"{z.real}+{z.imag}j" for z in row])
	r,i=split(complex_matrix)
	print(f"max r={max(r)} , mean i={sum(i)/len(i)}")
if __name__=="__main__":
	main()
