




'''simple docstring'''


class      A       :







							def __init__(    self			:    int				,     lowerCAmelCase_			:    Union[str, Any]				,     lowerCAmelCase_			:    Dict				,     lowerCAmelCase_			:    List[str]   )     ->				Dict:


														"""simple docstring"""


														_a      	=							name
														_a      	=							value
														_a      	=							weight







							def __repr__(    self			:    Dict   )     ->				int:


														"""simple docstring"""


														return F'{self.__class__.__name__}({self.name}, {self.value}, {self.weight})'







							def   __lowerCAmelCase     (    self			:    Any   )     ->				Optional[Any]:


														"""simple docstring"""


														return self.value







							def   __lowerCAmelCase     (    self			:    Any   )     ->				List[Any]:


														"""simple docstring"""


														return self.name







							def   __lowerCAmelCase     (    self			:    Optional[Any]   )     ->				Union[str, Any]:


														"""simple docstring"""


														return self.weight







							def   __lowerCAmelCase     (    self			:    List[Any]   )     ->				Optional[int]:


														"""simple docstring"""


														return self.value / self.weight



def 						snake_case_       (UpperCamelCase			:    Tuple					,		UpperCamelCase			:    Optional[int]					,		UpperCamelCase			:    Optional[int] ):





							'''simple docstring'''


							_a      	=							[]
							for i in range(len(UpperCamelCase ) ):
														menu.append(Things(name[i]					,		value[i]					,		weight[i] ) )
							return menu
def 						snake_case_       (UpperCamelCase			:    Union[str, Any]					,		UpperCamelCase			:    List[str]					,		UpperCamelCase			:    List[Any] ):





							'''simple docstring'''


							_a      	=							sorted(UpperCamelCase					,		key=UpperCamelCase					,		reverse=UpperCamelCase )
							_a      	=							[]
							_a	,				_a      	=							0.0, 0.0
							for i in range(len(UpperCamelCase ) ):
														if (total_cost + items_copy[i].get_weight()) <= max_cost:
																					result.append(items_copy[i] )
																					total_cost += items_copy[i].get_weight()
																					total_value += items_copy[i].get_value()
							return (result, total_value)
def 						snake_case_       ():





							'''simple docstring'''




if __name__ == "__main__":
				import doctest

				doctest.testmod()


"""simple docstring"""




def 				_UpperCAmelCase		(							lowerCamelCase__      ,	lowerCamelCase__  ):





		"""simple docstring"""




		return abs(lowerCamelCase__  ) if a == 0 else greatest_common_divisor(b % a      ,	lowerCamelCase__  )







def 				_UpperCAmelCase		(							lowerCamelCase__      ,	lowerCamelCase__  ):





		"""simple docstring"""




		while y:  # --> when y=0 then loop will terminate and return x as final GCD.
				lowerCAmelCase__ ,       lowerCAmelCase__   = y, x % y
		return abs(lowerCamelCase__  )







def 				_UpperCAmelCase		(							):





		"""simple docstring"""




		try:
				lowerCAmelCase__   = input("""Enter two integers separated by comma (,): """  ).split(""","""  )
				lowerCAmelCase__   = int(nums[0]  )
				lowerCAmelCase__   = int(nums[1]  )
				print(
				    f"""greatest_common_divisor({num_a}, {num_a}) = """
				    f"""{greatest_common_divisor(lowerCamelCase__      ,	lowerCamelCase__  )}"""  )
				print(f"""By iterative gcd({num_a}, {num_a}) = {gcd_by_iterative(lowerCamelCase__      ,	lowerCamelCase__  )}"""  )
		except (IndexError, UnboundLocalError, ValueError):
				print("""Wrong input"""  )


if __name__ == "__main__":
			main()




