
class        _SCREAMING_SNAKE_CASE	:
      def __init__(      self			):
          snake_case__    =					{}
      def A_      (      self			):
          print(self.vertex			)
          for i in self.vertex:
              print(lowerCamelCase		,						" -> "		,						" -> ".join([str(lowerCamelCase			) for j in self.vertex[i]]			)			)
      def A_      (      self		,						lowerCamelCase		,						lowerCamelCase			):
          # check if vertex is already present,
          if from_vertex in self.vertex:
              self.vertex[from_vertex].append(lowerCamelCase			)
          else:
              # else make a new vertex
              snake_case__    =					[to_vertex]
      def A_      (      self			):
          # visited array for storing already visited nodes
          snake_case__    =					[False] * len(self.vertex			)

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



      def A_      (      self		,						lowerCamelCase		,						lowerCamelCase			):
          # mark start vertex as visited
          snake_case__    =					True

          print(lowerCamelCase		,						end=" "			)

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


if __name__ == "__main__":
     __magic_name__  							=	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





def 						SCREAMING_SNAKE_CASE__     (   __lowerCAmelCase     ,		__lowerCAmelCase     ,		__lowerCAmelCase				):
    return round(float(moles / volume				) * nfactor				)





def 						SCREAMING_SNAKE_CASE__     (   __lowerCAmelCase     ,		__lowerCAmelCase     ,		__lowerCAmelCase				):
    return round(float((moles * 0.0_821 * temperature) / (volume)				)				)





def 						SCREAMING_SNAKE_CASE__     (   __lowerCAmelCase     ,		__lowerCAmelCase     ,		__lowerCAmelCase				):
    return round(float((moles * 0.0_821 * temperature) / (pressure)				)				)





def 						SCREAMING_SNAKE_CASE__     (   __lowerCAmelCase     ,		__lowerCAmelCase     ,		__lowerCAmelCase				):
    return round(float((pressure * volume) / (0.0_821 * moles)				)				)


if __name__ == "__main__":
     import doctest

     doctest.testmod()



