






class 							a_ :


							'''simple docstring'''






							def __init__(		self   )					->					Optional[Any]:
														'''simple docstring'''

														lowerCAmelCase_										=     []
														lowerCAmelCase_										=     0
														lowerCAmelCase_										=     0

							def __str__(		self   )					->					Tuple:
														'''simple docstring'''

														lowerCAmelCase_										=     '''<''' + str(self.entries   )[1:-1] + '''>'''
														return printed

							def      _lowercase       (		self			,			lowercase_   )					->					List[str]:
														'''simple docstring'''

														self.entries.append(UpperCamelCase__   )
														lowerCAmelCase_										=     self.length + 1

							def      _lowercase       (		self   )					->					Tuple:
														'''simple docstring'''

														lowerCAmelCase_										=     self.length - 1
														lowerCAmelCase_										=     self.entries[self.front]
														# self.front-=1
														# self.entries = self.entries[self.front:]
														lowerCAmelCase_										=     self.entries[1:]
														return dequeued

							def      _lowercase       (		self			,			lowercase_   )					->					Any:
														'''simple docstring'''

														for _ in range(UpperCamelCase__   ):
																					self.put(self.get()   )

							def      _lowercase       (		self   )					->					Optional[Any]:
														'''simple docstring'''

														return self.entries[0]






							def      _lowercase       (		self   )					->					Tuple:
														'''simple docstring'''

														return self.length





'''simple docstring'''
import bsa
import requests




def 					_UpperCamelCase		(    SCREAMING_SNAKE_CASE__       )   ->				dict[str, str]:


		'''simple docstring'''


		return {
		    "name": soup.ha.a.text,
		    "genre": soup.find('''span'''      ,    class_='''genre'''       ).text.strip(),
		    "rating": soup.strong.text,
		    "page_link": F'https://www.imdb.com{soup.a.get("href"       )}',
		}




def 					_UpperCamelCase		(    SCREAMING_SNAKE_CASE__ = 5       )   ->				tuple:


		'''simple docstring'''


		snake_case   :    List[Any]			       =		int(float(SCREAMING_SNAKE_CASE__       )       )
		if num_movies < 1:
				return ()
		snake_case   :    int			       =		(
		    '''https://www.imdb.com/search/title?title_type='''
		    F'feature&sort=num_votes,desc&count={num_movies}'
		)
		snake_case   :    Optional[Any]			       =		bsa.BeautifulSoup(requests.get(SCREAMING_SNAKE_CASE__       ).content      ,    '''html.parser'''       )
		return tuple(
		    get_movie_data_from_soup(SCREAMING_SNAKE_CASE__       )
		    for movie in source.find_all('''div'''      ,    class_='''lister-item mode-advanced'''       )       )


if __name__ == "__main__":
						import json

						lowercase__		    =	int(input("How many movies would you like to see? "))
						print(
						    ", ".join(
						        json.dumps(movie, indent=4) for movie in get_imdb_top_movies(num_movies)
						    )
						)


