



from abc import ABC, abstractmethod
from argparse import ArgumentParser



class 				__snake_case						(     UpperCamelCase_						):




							@staticmethod
							@abstractmethod
							def    UpperCAmelCase__			(       A_     :       ArgumentParser):
									raise NotImplementedError()







							@abstractmethod
							def    UpperCAmelCase__			(       self     :       List[str]):
									raise NotImplementedError()










A__  :  Any								=					'''Tobias Carryer'''

from time import time



class 				__snake_case						:




							def __init__(       self     :       Any				,				A_     :       Tuple				,				A_     :       Dict				,				A_     :       Tuple				,				A_     :       str=int(time())):  # noqa: B008
									lowerCAmelCase_			:     int									= multiplier
									lowerCAmelCase_			:     int									= increment
									lowerCAmelCase_			:     str									= modulo
									lowerCAmelCase_			:     str									= seed







							def    UpperCAmelCase__			(       self     :       int):
									lowerCAmelCase_			:     Optional[int]									= (self.multiplier * self.seed + self.increment) % self.modulo
									return self.seed


if __name__ == "__main__":
						# Show the LCG in action.
						A__  :  Union[str, Any]								=					LinearCongruentialGenerator(166_4525, 10_1390_4223, 2 << 31)
						while True:
												print(lcg.next_number())





