






from __future__ import annotations




def       _a   (							lowerCamelCase__				)  ->      set[int]:
 lowerCamelCase_							:    Optional[int]							=     {1}
 lowerCamelCase_							:    int							=     [1]
 for _ in range(2 ,			depth + 1				):
  lowerCamelCase_							:    str							=     [*previous_coefficients, 0]
  lowerCamelCase_							:    Tuple							=     [0, *previous_coefficients]
  lowerCamelCase_							:    Optional[int]							=     []
  for x, y in zip(lowerCamelCase__ ,			lowerCamelCase__				):
   coefficients.add(x + y				)
   previous_coefficients.append(x + y				)
 return coefficients




def       _a   (							lowerCamelCase__				)  ->      set[int]:
 lowerCamelCase_							:    Optional[int]							=     set()
 for number in unique_coefficients:
  lowerCamelCase_							:    Union[str, Any]							=     2
  lowerCamelCase_							:    Union[str, Any]							=     number
  while divisor**2 <= copy_number:
   lowerCamelCase_							:    Tuple							=     0
   while copy_number % divisor == 0:
    copy_number //= divisor
    multiplicity += 1
   if multiplicity >= 2:
    non_squarefrees.add(lowerCamelCase__				)
    break
   divisor += 1

 return unique_coefficients.difference(lowerCamelCase__				)




def       _a   (							lowerCamelCase__ = 51				)  ->      int:
 lowerCamelCase_							:    List[Any]							=     get_pascal_triangle_unique_coefficients(lowerCamelCase__				)
 lowerCamelCase_							:    int							=     get_squarefrees(lowerCamelCase__				)
 return sum(lowerCamelCase__				)


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








from __future__ import annotations




def       _a   (							lowerCamelCase__				)  ->      list[int]:
 lowerCamelCase_							:    Any							=     [0] * max_one

 for i in range(0 ,			lowerCamelCase__				):
  lowerCamelCase_							:    Union[str, Any]							=     i

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

 return totients




def       _a   (							lowerCamelCase__ ,			lowerCamelCase__				)  ->      bool:
 return sorted(str(lowerCamelCase__				)				) == sorted(str(lowerCamelCase__				)				)




def       _a   (							lowerCamelCase__ = 10_00_00_00				)  ->      int:
 lowerCamelCase_							:    Tuple							=     1  # i
 lowerCamelCase_							:    Union[str, Any]							=     0  # φ(i)
 lowerCamelCase_							:    List[Any]							=     get_totients(max_n + 1				)

 for i in range(2 ,			max_n + 1				):
  lowerCamelCase_							:    Tuple							=     totients[i]

  if i * min_denominator < min_numerator * t and has_same_digits(lowerCamelCase__ ,			lowerCamelCase__				):
   lowerCamelCase_							:    str							=     i
   lowerCamelCase_							:    List[Any]							=     t

 return min_numerator


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