



'''simple docstring'''



from __future__ import annotations


def 							__UpperCAmelCase				(				UpperCamelCase__				:int			)		->						list[int]:
				snake_case__      :   Any      =    [0] * max_one

				for i in range(0   ,				UpperCamelCase__			):
								snake_case__      :   str      =    i

				for i in range(2   ,				UpperCamelCase__			):
								if totients[i] == i:
												for j in range(UpperCamelCase__   ,				UpperCamelCase__   ,				UpperCamelCase__			):
																totients[j] -= totients[j] // i

				return totients


def 							__UpperCAmelCase				(				UpperCamelCase__				:int   ,				UpperCamelCase__				:int			)		->						bool:
				return sorted(str(UpperCamelCase__			)			) == sorted(str(UpperCamelCase__			)			)


def 							__UpperCAmelCase				(				UpperCamelCase__				:int = 1000_0000			)		->						int:
				snake_case__      :   int      =    1  # i
				snake_case__      :   List[Any]      =    0  # φ(i)
				snake_case__      :   List[str]      =    get_totients(max_n + 1			)

				for i in range(2   ,				max_n + 1			):
								snake_case__      :   Optional[int]      =    totients[i]

								if i * min_denominator < min_numerator * t and has_same_digits(UpperCamelCase__   ,				UpperCamelCase__			):
												snake_case__      :   List[Any]      =    i
												snake_case__      :   Optional[int]      =    t

				return min_numerator


if __name__ == "__main__":
				print(F"{solution() = }")









'''simple docstring'''



def 							__UpperCAmelCase				(				UpperCamelCase__				:int   ,				UpperCamelCase__				:list			)		->						list:
				snake_case__      :   List[str]      =    sorted(UpperCamelCase__   ,				key=lambda UpperCamelCase__			: value[2]   ,				reverse=UpperCamelCase__			)

				# Create a list of size equal to the maximum deadline
				# and initialize it with -1
				snake_case__      :   Any      =    max(UpperCamelCase__   ,				key=lambda UpperCamelCase__			: value[1]			)[1]
				snake_case__      :   str      =    [-1] * max_deadline

				# Finding the maximum profit and the count of jobs
				snake_case__      :   List[str]      =    0
				snake_case__      :   Optional[Any]      =    0
				for job in jobs:
								# Find a free time slot for this job
								# (Note that we start from the last possible slot)
								for i in range(job[1] - 1   ,				-1   ,				-1			):
												if time_slots[i] == -1:
																snake_case__      :   Optional[Any]      =    job[0]
																count += 1
																max_profit += job[2]
																break
				return [count, max_profit]


if __name__ == "__main__":
				import doctest

				doctest.testmod()




