


import random







def        lowerCAmelCase_  (      __lowerCamelCase							,			__lowerCamelCase							,			__lowerCamelCase = False			):
       __snake_case	:    dict											=     {i: [] for i in range(UpperCAmelCase__			)}

       # if probability is greater or equal than 1, then generate a complete graph
       if probability >= 1:
              return complete_graph(UpperCAmelCase__			)
       # 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(UpperCAmelCase__			):
              for j in range(i + 1							,			UpperCAmelCase__			):
                     if random.random() < probability:
                            graph[i].append(UpperCAmelCase__			)
                            if not directed:
                                   # if the graph is undirected, add an edge in from j to i, either
                                   graph[j].append(UpperCAmelCase__			)
       return graph







def        lowerCAmelCase_  (      __lowerCamelCase			):
       return {
           i: [j for j in range(UpperCAmelCase__			) if i != j] for i in range(UpperCAmelCase__			)
       }


if __name__ == "__main__":
   import doctest

   doctest.testmod()





from maths.prime_check import is_prime







def        lowerCAmelCase_  (      __lowerCamelCase			):
							if not isinstance(__lowerCamelCase							,			__lowerCamelCase			):
														__snake_case	:    List[str]											=     F'Input value of [number={number}] must be an integer'
														raise TypeError(__lowerCamelCase			)
							if is_prime(__lowerCamelCase			) and is_prime(number + 2			):
														return number + 2
							else:
														return -1


if __name__ == "__main__":
			import doctest

			doctest.testmod()

