from multiprocessing import Process, Queue, freeze_support, Pool
import sys
import time
from fractions import gcd
from collections import Counter


PROCESSES = 10

q = Queue()
out = Queue()

t = 10 ** 5
t = 13


def get_passed_time(cur_time):
    cur_time = time.time() - cur_time
    if cur_time > 60:
        cur_time /= 60
        label = 'mins'
    else:
        label = 'seconds'
    return '%.5s %s' % (cur_time, label)


def f(x):
    # print('hello')
    # x = q.get()
    if gcd(x, t) == 1:
        print(x)
        out.put(x)


def create_set(t):
    init = time.time()
    out = []
    for x in range(1, t):
        if gcd(x, t) == 1:
            out.append(x)
    print('set created in', get_passed_time(init))
    return out

if __name__ == '__main__':
    COUNTER = Counter()

    for x in range(t):
        q.put(x)

    init = time.time()

    with Pool(processes=2) as pool:
        pool.map(f, range(t))

    print('m_set created in', get_passed_time(init))
    create_set(t)
    print(out.qsize())
