


from itertools import product



def 	lowerCAmelCase       (						lowerCAmelCase_       ,      lowerCAmelCase_       )->       Optional[Any]:
				lowerCAmelCase_       :					List[Any]			 = sides_number
				lowerCAmelCase_       :					Any			 = max_face_number * dice_number
				lowerCAmelCase_       :					Dict			 = [0] * (max_total + 1)

				lowerCAmelCase_       :					Optional[int]			 = 1
				lowerCAmelCase_       :					Dict			 = range(snake_case__       ,      max_face_number + 1       )
				for dice_numbers in product(snake_case__       ,      repeat=snake_case__       ):
								lowerCAmelCase_       :					Optional[Any]			 = sum(snake_case__       )
								totals_frequencies[total] += 1

				return totals_frequencies



def 	lowerCAmelCase       (						)->       Any:
				lowerCAmelCase_       :					Optional[Any]			 = total_frequency_distribution(
				    sides_number=4       ,      dice_number=9       )
				lowerCAmelCase_       :					Tuple			 = total_frequency_distribution(
				    sides_number=6       ,      dice_number=6       )

				lowerCAmelCase_       :					List[str]			 = 0
				lowerCAmelCase_       :					List[Any]			 = 9
				lowerCAmelCase_       :					Any			 = 4 * 9
				lowerCAmelCase_       :					Optional[Any]			 = 6
				for peter_total in range(snake_case__       ,      max_peter_total + 1       ):
								peter_wins_count += peter_totals_frequencies[peter_total] * sum(
								    colin_totals_frequencies[min_colin_total:peter_total]       )

				lowerCAmelCase_       :					Optional[Any]			 = (4**9) * (6**6)
				lowerCAmelCase_       :					str			 = peter_wins_count / total_games_number

				lowerCAmelCase_       :					Tuple			 = round(snake_case__       ,      ndigits=7       )

				return rounded_peter_win_probability


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

import logging

from transformers.configuration_utils import PretrainedConfig


__a  			=					logging.getLogger(__name__)
class  lowercase__(				UpperCAmelCase							):



	"""simple docstring"""




	a			:Optional[int]         =	'masked_bert'
	def __init__(       self  :			Optional[int]       ,							SCREAMING_SNAKE_CASE_  :			List[Any]=3_0_5_2_2       ,							SCREAMING_SNAKE_CASE_  :			List[str]=7_6_8       ,							SCREAMING_SNAKE_CASE_  :			Optional[int]=1_2       ,							SCREAMING_SNAKE_CASE_  :			Any=1_2       ,							SCREAMING_SNAKE_CASE_  :			str=3_0_7_2       ,							SCREAMING_SNAKE_CASE_  :			Union[str, Any]="gelu"       ,							SCREAMING_SNAKE_CASE_  :			Optional[int]=0.1       ,							SCREAMING_SNAKE_CASE_  :			List[str]=0.1       ,							SCREAMING_SNAKE_CASE_  :			Tuple=5_1_2       ,							SCREAMING_SNAKE_CASE_  :			str=2       ,							SCREAMING_SNAKE_CASE_  :			Dict=0.02       ,							SCREAMING_SNAKE_CASE_  :			Any=1e-12       ,							SCREAMING_SNAKE_CASE_  :			Any=0       ,							SCREAMING_SNAKE_CASE_  :			Optional[int]="topK"       ,							SCREAMING_SNAKE_CASE_  :			Dict="constant"       ,							SCREAMING_SNAKE_CASE_  :			Optional[Any]=0.0       ,							**SCREAMING_SNAKE_CASE_  :			Optional[int]       ,							)       ->     Optional[Any]:
					super().__init__(pad_token_id=SCREAMING_SNAKE_CASE_       ,							**SCREAMING_SNAKE_CASE_       )

					lowercase_       =					vocab_size
					lowercase_       =					hidden_size
					lowercase_       =					num_hidden_layers
					lowercase_       =					num_attention_heads
					lowercase_       =					hidden_act
					lowercase_       =					intermediate_size
					lowercase_       =					hidden_dropout_prob
					lowercase_       =					attention_probs_dropout_prob
					lowercase_       =					max_position_embeddings
					lowercase_       =					type_vocab_size
					lowercase_       =					initializer_range
					lowercase_       =					layer_norm_eps
					lowercase_       =					pruning_method
					lowercase_       =					mask_init
					lowercase_       =					mask_scale




