import random

A = [0,7,8,15,16,23,24,31]
B = [1,2,3,4,5,6,25,26,27,28,29,30,9,14,17,22]
C = [10,11,12,13,14, 18,19,20,21]


def sample_k(k):
    ret = []
    for _ in range(k):
        while True:
            # select a group
            v = random.random()
            if v < .5:
                g = A
            elif v < .95:
                g = B
            else:
                g = C

            # select a num
            v = random.choice(g)
            if v not in ret[-6:]:
                ret.append(v)
                break
    return ret


print(sample_k(100))
