from yogi import scan
import random
random.seed(12345)

# -------------------
def do_print(m,pos, cult=True) :
    if cult :
        print("culture:")
        for i in range(len(m)) : print("   ",*m[i])
    print("positions:", *pos)
    print("closest  :", *closest(m, pos))
    print()

# -------------------
test = scan(str)

if test == "TEST1" :
    m = [['.', '.', '.', '.', '.', 'L', '.', '.'],
         ['.', '.', '.', '.', '.', '.', '.', '.'],
         ['.', '.', '.', '.', 'L', '.', '.', 'L'],
         ['.', '.', '.', '.', '.', '.', '.', '.'],
         ['.', '.', '.', '.', '.', '.', '.', '.'],
         ['.', '.', 'L', 'L', '.', '.', '.', '.']
        ]
    pos = [(0,0), (3,4), (0,5), (3,7), (1,6), (4,5)]
    do_print(m,pos)

    m = [['.', '.', '.', '.','L'],
         ['.', '.', '.', '.','.'],
         ['.', '.', '.', '.','.'],
         ['L', '.', '.', '.','.']
        ]
    pos = [(0,1), (3,4), (1,1), (0,4), (1,4)]
    do_print(m,pos)

elif test == "TEST2" :
    m = [['L']]
    pos = [(0,0)]
    do_print(m,pos)

elif test == "TEST3" :
    size = 300
    m = [['.' for j in range(size)] for i in range(size)]
    nL = int(size*size*0.01)
    while nL>0 :
        i,j = random.randrange(size),random.randrange(size)
        if m[i][j]!='L' :
            m[i][j]='L'
            nL -= 1

    pos = []
    for i in range(1000) :
        p = (random.randrange(0,len(m)),random.randrange(0,len(m[0])))
        pos.append(p)
    do_print(m,pos, cult=False)
    