






class        a       :



      """simple docstring"""


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

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




      def       UpperCAmelCase ( self   :     List[str]						, __lowercase   :     int						, __lowercase   :     list   )				-> None:
        # mark start vertex as visited
        __UpperCAmelCase				:      Optional[Any]	 =    True

        print(__lowercase						, end=""" """   )

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


if __name__ == "__main__":
       a						:			Optional[Any]     	=					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




'''simple docstring'''

import sys
import webbrowser

import requests
from bsa import BeautifulSoup
from fake_useragent import UserAgent

if __name__ == "__main__":
     print("""Googling.....""")
     snake_case									=    """https://www.google.com/search?q=""" + """ """.join(sys.argv[1:])
     snake_case									=    requests.get(url, headers={"""UserAgent""": UserAgent().random})
     # res.raise_for_status()
     with open("""project1a.html""", """wb""") as out_file:  # only for knowing the class
          for data in res.iter_content(1_00_00):
               out_file.write(data)
     snake_case									=    BeautifulSoup(res.text, """html.parser""")
     snake_case									=    list(soup.select(""".eZt8xd"""))[:5]

     print(len(links))
     for link in links:
          if link.text == "Maps":
               webbrowser.open(link.get("""href"""))
          else:
               webbrowser.open(f'https://google.com{link.get("href")}')





