seed = 0xdeadbeef def mfloor(f): return round(f) - (round(f) > f) def mceil(f): return round(f) + (round(f) < f) def random(): global seed rnd_max = 0x7fff seed = (seed * 214013 + 2531011) % 4294967296 return ((seed // (2*rnd_max + 1)) & rnd_max) / rnd_max def uniform(mini, maxi): return random()*(maxi - mini) + mini def randint(mini,maxi): return round(uniform(mceil(mini), mfloor(maxi))) def choice(l): return l[randint(0, len(l) - 1)]