


"""simple docstring"""





import random


def      _snake_case						(						_snake_case				:			int ,   _snake_case				:			float ,   _snake_case				:			bool = False			):
      lowerCAmelCase					:	dict       =   {i: [] for i in range(_snake_case			)}

      # if probability is greater or equal than 1, then generate a complete graph
      if probability >= 1:
            return complete_graph(_snake_case			)
      # if probability is lower or equal than 0, then return a graph without edges
      if probability <= 0:
            return graph

      # for each couple of nodes, add an edge from u to v
      # if the number randomly generated is greater than probability probability
      for i in range(_snake_case			):
            for j in range(i + 1 ,   _snake_case			):
                  if random.random() < probability:
                        graph[i].append(_snake_case			)
                        if not directed:
                              # if the graph is undirected, add an edge in from j to i, either
                              graph[j].append(_snake_case			)
      return graph


def      _snake_case						(						_snake_case				:			int			):
      return {
          i: [j for j in range(_snake_case			) if i != j] for i in range(_snake_case			)
      }


if __name__ == "__main__":
 import doctest

 doctest.testmod()






"""simple docstring"""





snake_case__		:     List[Any]    				=				'''Tobias Carryer'''

from time import time



class 		snake_case_:






     def __init__(	self  :					Optional[Any]					,				UpperCamelCase_  :					Optional[Any]					,				UpperCamelCase_  :					Tuple					,				UpperCamelCase_  :					Optional[int]					,				UpperCamelCase_  :					Dict=int(time()				)				):  # noqa: B008
           lowerCAmelCase					:	str       =   multiplier
           lowerCAmelCase					:	Optional[int]       =   increment
           lowerCAmelCase					:	Optional[Any]       =   modulo
           lowerCAmelCase					:	Optional[Any]       =   seed






     def      lowerCamelCase__     (	self  :					Union[str, Any]				):
           lowerCAmelCase					:	Optional[int]       =   (self.multiplier * self.seed + self.increment) % self.modulo
           return self.seed


if __name__ == "__main__":
 # Show the LCG in action.
 snake_case__		:     int    				=				LinearCongruentialGenerator(1_664_525, 1_013_904_223, 2 << 31)
 while True:
  print(lcg.next_number())


