






def 		A_			(		lowercase_					,       lowercase_	)							->int:







 """simple docstring"""

 SCREAMING_SNAKE_CASE							  =						1.0
 for i in range(1					,       r + 1	):
  ret *= (n + 1 - i) / i
 return round(__lowercase	)





def 		A_			(		lowercase_	)							->int:







 """simple docstring"""

 return choose(8 + n					,       __lowercase	) + choose(9 + n					,       __lowercase	) - 1_0





def 		A_			(		lowercase_	)							->int:







 """simple docstring"""

 return sum(non_bouncy_exact(__lowercase	) for i in range(1					,       n + 1	)	)





def 		A_			(		lowercase_ = 1_0_0	)							->int:







 """simple docstring"""

 return non_bouncy_upto(__lowercase	)


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








import math





def 		A_			(		lowercase_	)							->List[Any]:







 """simple docstring"""

 SCREAMING_SNAKE_CASE							  =						0
 if n % 2 == 0:
  count += 1
  while n % 2 == 0:
   SCREAMING_SNAKE_CASE							  =						int(n / 2	)
    # the n input value must be odd so that
    # we can skip one element (ie i += 2)

 SCREAMING_SNAKE_CASE							  =						3

 while i <= int(math.sqrt(lowercase_	)	):
  if n % i == 0:
   count += 1
   while n % i == 0:
    SCREAMING_SNAKE_CASE							  =						int(n / i	)
  SCREAMING_SNAKE_CASE							  =						i + 2

 # this condition checks the prime
 # number n is greater than 2

 if n > 2:
  count += 1
 return count


if __name__ == "__main__":
      __UpperCAmelCase      				=							5_1_2_4_2_1_8_3
      print(f'The number of distinct prime factors is/are {exact_prime_factor_count(n)}')
      print(f'The value of log(log(n)) is {math.log(math.log(n)):.4f}')




