import random




def       _snake_case	(   lowerCAmelCase							:   Dict   , lowerCAmelCase							:   Tuple   , lowerCAmelCase							:   Dict = False	):
		"""simple docstring"""







		SCREAMING_SNAKE_CASE_  :		dict				      =    {i: [] for i in range(lowerCAmelCase	)}

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




def       _snake_case	(   lowerCAmelCase							:   int	):
		"""simple docstring"""







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


if __name__ == "__main__":
		import doctest

		doctest.testmod()








'''simple docstring'''







from collections.abc import Sequence





def  SCREAMING_SNAKE_CASE_       (UpperCamelCase				,			UpperCamelCase      )      ->       float:
							return sum(c * (x**i) for i, c in enumerate(UpperCamelCase      )      )





def  SCREAMING_SNAKE_CASE_       (UpperCamelCase				,			UpperCamelCase      )      ->       float:
							lowerCamelCase__					:	str         =       0.0
							for coeff in reversed(UpperCamelCase      ):
														lowerCamelCase__					:	Optional[int]         =       result * x + coeff
							return result


if __name__ == "__main__":
			_A	:			Any         =(0.0, 0.0, 5.0, 9.3, 7.0)
			_A	:			Optional[Any]         =10.0
			print(evaluate_poly(poly, x))
			print(horner(poly, x))

