


"""simple docstring"""



import random
def      UpperCAmelCase     (       _lowercase :   int			,   _lowercase :   float			,   _lowercase :   bool = False	)						-> dict:


	"""simple docstring"""




	lowerCAmelCase_      							=			{i: [] for i in range(_lowercase	)}

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


	"""simple docstring"""




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


if __name__ == "__main__":
		import doctest

		doctest.testmod()



"""simple docstring"""



def      UpperCAmelCase     (       _lowercase :   int = 1_0_0_0	)						-> int:


	"""simple docstring"""




	lowerCAmelCase_							,	lowerCAmelCase_      							=			1, 1
	lowerCAmelCase_      							=			[]
	for i in range(1			,   n + 1	):
		lowerCAmelCase_      							=			prev_numerator + 2 * prev_denominator
		lowerCAmelCase_      							=			prev_numerator + prev_denominator
		if len(str(_lowercase	)	) > len(str(_lowercase	)	):
			result.append(_lowercase	)
		lowerCAmelCase_      							=			numerator
		lowerCAmelCase_      							=			denominator

	return len(_lowercase	)


if __name__ == "__main__":
		print(f"""{solution() = }""")