def lehmer_prng(seed):
    """
    Implementation of the lehmer random number generator
    :params seed: the seed to generate number with
    :returns: the generated integer from the seed using lehmer
    """
    tmp = seed * 0x4a39b70d
    m1 = ((tmp >> 32) ^ tmp)
    tmp = m1 * 0x12fad5c9
    m2 = ((tmp >> 32) ^ tmp)
    return m2