#!/usr/bin/python3
import random
def read_integer():
	while True:
		try:
			m=int(input("Dose m:"))
			if m<=10:
				raise ValueError("To m >10")
			return m
		except Exception as e:
			print (f"Error:{e}")
			exit(1)
def generate_complex_2d_list(m):
	return [[
		complex(round(random.uniform(-1,1),2))
		for _ in range(m)
		] for _ in range(m)]
def split_real_imag(matrix):
	real_parts=[]
	imag_parts=[]
	for row in matrix:
		for z in row:
			real_parts.append(z.real)
			imag_parts.append(z.imag)
	return real_parts,imag_parts
def main():
	m=read_integer()
	complex_matrix=generate_complex_2d_list(m)
	#print(complex_matrix)
	for row in complex_matrix:
		print([f"{z.real}+{z.imag}j" for z in row])
	real_parts, imag_parts=split_real_imag(complex_matrix)
	print (f"Max real={max(real_parts)}, Mean imag={sum(imag_parts)/len(imag_parts)}")
if __name__=="__main__":
	main()
