
class 					lowercase__:



	"""simple docstring"""




	def __init__(			self    :     Union[str, Any]			)			->	int:
					lowercase_	    =   {}
	def 		_lowercase    (			self    :     Union[str, Any]			)			->	None:
					print(self.vertex			)
					for i in self.vertex:
									print(SCREAMING_SNAKE_CASE_			,				''' -> '''			,				''' -> '''.join([str(SCREAMING_SNAKE_CASE_			) for j in self.vertex[i]]			)			)
	def 		_lowercase    (			self    :     Dict			,				SCREAMING_SNAKE_CASE_    :     int			,				SCREAMING_SNAKE_CASE_    :     int			)			->	None:
					# check if vertex is already present,
					if from_vertex in self.vertex:
									self.vertex[from_vertex].append(SCREAMING_SNAKE_CASE_			)
					else:
									# else make a new vertex
									lowercase_	    =   [to_vertex]
	def 		_lowercase    (			self    :     str			)			->	None:
					# visited array for storing already visited nodes
					lowercase_	    =   [False] * len(self.vertex			)

					# call the recursive helper function
					for i in range(len(self.vertex			)			):
									if not visited[i]:
													self.dfs_recursive(SCREAMING_SNAKE_CASE_			,				SCREAMING_SNAKE_CASE_			)




	def 		_lowercase    (			self    :     Union[str, Any]			,				SCREAMING_SNAKE_CASE_    :     int			,				SCREAMING_SNAKE_CASE_    :     list			)			->	None:
					# mark start vertex as visited
					lowercase_	    =   True

					print(SCREAMING_SNAKE_CASE_			,				end=''' '''			)

					# Recur for all the vertices that are adjacent to this node
					for i in self.vertex:
									if not visited[i]:
													self.dfs_recursive(SCREAMING_SNAKE_CASE_			,				SCREAMING_SNAKE_CASE_			)


if __name__ == "__main__":
						__a         =   Graph()
						g.add_edge(0, 1)
						g.add_edge(0, 2)
						g.add_edge(1, 2)
						g.add_edge(2, 0)
						g.add_edge(2, 3)
						g.add_edge(3, 3)

						g.print_graph()
						print('DFS:')
						g.dfs()

						# OUTPUT:
						# 0  ->  1 -> 2
						# 1  ->  2
						# 2  ->  0 -> 3
						# 3  ->  3
						# DFS:
						#  0 1 2 3






import pytest

import datasets.config
from datasets.utils.info_utils import is_small_dataset




@pytest.mark.parametrize('''dataset_size'''		,  [None, 400 * 2**20, 600 * 2**20]   )
@pytest.mark.parametrize('''input_in_memory_max_size'''		,  ['''default''', 0, 100 * 2**20, 900 * 2**20]   )
def 							a		(				snake_case__:   int		,  snake_case__:   Dict		,  snake_case__:   Dict   ):


				'''simple docstring'''
				if input_in_memory_max_size != "default":
								monkeypatch.setattr(datasets.config		,  '''IN_MEMORY_MAX_SIZE'''		,  snake_case__   )
				lowercase_	    =   datasets.config.IN_MEMORY_MAX_SIZE
				if input_in_memory_max_size == "default":
								assert in_memory_max_size == 0
				else:
								assert in_memory_max_size == input_in_memory_max_size
				if dataset_size and in_memory_max_size:
								lowercase_	    =   dataset_size < in_memory_max_size
				else:
								lowercase_	    =   False
				lowercase_	    =   is_small_dataset(snake_case__   )
				assert result == expected




