


'''simple docstring'''

from __future__ import annotations

from fractions import Fraction





def __snake_case					(      UpperCAmelCase_						:						int					,				UpperCAmelCase_						:						int		):
 return (
     num != den and num % 10 == den // 10 and (num // 10) / (den % 10) == num / den
 )





def __snake_case					(      UpperCAmelCase_						:						int		):
 lowerCamelCase_      =  []
 lowerCamelCase_      =  11
 lowerCamelCase_      =  int("1" + "0" * digit_len		)
 for num in range(UpperCAmelCase_					,				UpperCAmelCase_		):
  while den <= 99:
   if (num != den) and (num % 10 == den // 10) and (den % 10 != 0):
    if is_digit_cancelling(UpperCAmelCase_					,				UpperCAmelCase_		):
     solutions.append(F'''{num}/{den}'''		)
   den += 1
  num += 1
  lowerCamelCase_      =  10
 return solutions





def __snake_case					(      UpperCAmelCase_						:						int = 2		):
 lowerCamelCase_      =  1.0
 for fraction in fraction_list(UpperCAmelCase_		):
  lowerCamelCase_      =  Fraction(UpperCAmelCase_		)
  result *= frac.denominator / frac.numerator
 return int(UpperCAmelCase_		)


if __name__ == "__main__":
     print(solution())







def 				__lowerCamelCase						( UpperCAmelCase_						:		int = 100_0000						):




      """simple docstring"""





      a						:Any 							=       set(range(3 ,  UpperCAmelCase_ ,  2						)						)
      primes.add(2						)
      for p in range(3 ,  UpperCAmelCase_ ,  2						):
            if p not in primes:
                  continue
            primes.difference_update(set(range(p * p ,  UpperCAmelCase_ ,  UpperCAmelCase_						)						)						)

      a						:Union[str, Any] 							=       [float(UpperCAmelCase_						) for n in range(limit + 1						)]

      for p in primes:
            for n in range(UpperCAmelCase_ ,  limit + 1 ,  UpperCAmelCase_						):
                  phi[n] *= 1 - 1 / p

      return int(sum(phi[2:]						)						)


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





