

'''simple docstring'''






from itertools import product


def 	_A  (					A__  ,       A__   ):






 """simple docstring"""



 __lowercase													=				sides_number
 __lowercase													=				max_face_number * dice_number
 __lowercase													=				[0] * (max_total + 1)

 __lowercase													=				1
 __lowercase													=				range(A__  ,       max_face_number + 1   )
 for dice_numbers in product(A__  ,       repeat=A__   ):
  __lowercase													=				sum(A__   )
  totals_frequencies[total] += 1

 return totals_frequencies


def 	_A  (					):






 """simple docstring"""



 __lowercase													=				total_frequency_distribution(
     sides_number=4  ,       dice_number=9   )
 __lowercase													=				total_frequency_distribution(
     sides_number=6  ,       dice_number=6   )

 __lowercase													=				0
 __lowercase													=				9
 __lowercase													=				4 * 9
 __lowercase													=				6
 for peter_total in range(A__  ,       max_peter_total + 1   ):
  peter_wins_count += peter_totals_frequencies[peter_total] * sum(
      colin_totals_frequencies[min_colin_total:peter_total]   )

 __lowercase													=				(4**9) * (6**6)
 __lowercase													=				peter_wins_count / total_games_number

 __lowercase													=				round(A__  ,       ndigits=7   )

 return rounded_peter_win_probability


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




'''simple docstring'''






def 	_A  (					A__ = 1000000   ):






 """simple docstring"""



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

 __lowercase													=				[float(A__   ) for n in range(limit + 1   )]

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

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


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

