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