#!/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),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()
