

from itertools import product






def 					lowerCamelCase_     (							UpperCAmelCase_							:     int							,       UpperCAmelCase_							:     int	)						->				list[int]:




	'''simple docstring'''




	_UpperCamelCase   :		int			=						sides_number
	_UpperCamelCase   :		List[Any]			=						max_face_number * dice_number
	_UpperCamelCase   :		Any			=						[0] * (max_total + 1)

	_UpperCamelCase   :		Dict			=						1
	_UpperCamelCase   :		int			=						range(UpperCAmelCase_							,       max_face_number + 1	)
	for dice_numbers in product(UpperCAmelCase_							,       repeat=UpperCAmelCase_	):
		_UpperCamelCase   :		str			=						sum(UpperCAmelCase_	)
		totals_frequencies[total] += 1

	return totals_frequencies






def 					lowerCamelCase_     (							)						->				float:




	'''simple docstring'''




	_UpperCamelCase   :		Optional[int]			=						total_frequency_distribution(
	    sides_number=4							,       dice_number=9	)
	_UpperCamelCase   :		Optional[Any]			=						total_frequency_distribution(
	    sides_number=6							,       dice_number=6	)

	_UpperCamelCase   :		Dict			=						0
	_UpperCamelCase   :		Tuple			=						9
	_UpperCamelCase   :		int			=						4 * 9
	_UpperCamelCase   :		Union[str, Any]			=						6
	for peter_total in range(UpperCAmelCase_							,       max_peter_total + 1	):
		peter_wins_count += peter_totals_frequencies[peter_total] * sum(
		    colin_totals_frequencies[min_colin_total:peter_total]	)

	_UpperCamelCase   :		int			=						(4**9) * (6**6)
	_UpperCamelCase   :		Tuple			=						peter_wins_count / total_games_number

	_UpperCamelCase   :		str			=						round(UpperCAmelCase_							,       ndigits=7	)

	return rounded_peter_win_probability


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







import logging

from transformers.configuration_utils import PretrainedConfig


lowerCAmelCase__								=		logging.getLogger(__name__)







class 	lowercase    (				_lowercase							):


		"""simple docstring"""




		a__					       =  "masked_bert"


		def __init__(				self	,       __snake_case=3_05_22	,       __snake_case=7_68	,       __snake_case=12	,       __snake_case=12	,       __snake_case=30_72	,       __snake_case="gelu"	,       __snake_case=0.1	,       __snake_case=0.1	,       __snake_case=5_12	,       __snake_case=2	,       __snake_case=0.0_2	,       __snake_case=1e-12	,       __snake_case=0	,       __snake_case="topK"	,       __snake_case="constant"	,       __snake_case=0.0	,       **__snake_case	,       ):
			super().__init__(pad_token_id=__snake_case	,       **__snake_case)

			_UpperCamelCase   :		List[Any]			=						vocab_size
			_UpperCamelCase   :		Union[str, Any]			=						hidden_size
			_UpperCamelCase   :		Optional[int]			=						num_hidden_layers
			_UpperCamelCase   :		Any			=						num_attention_heads
			_UpperCamelCase   :		int			=						hidden_act
			_UpperCamelCase   :		str			=						intermediate_size
			_UpperCamelCase   :		str			=						hidden_dropout_prob
			_UpperCamelCase   :		Any			=						attention_probs_dropout_prob
			_UpperCamelCase   :		Tuple			=						max_position_embeddings
			_UpperCamelCase   :		Dict			=						type_vocab_size
			_UpperCamelCase   :		str			=						initializer_range
			_UpperCamelCase   :		List[Any]			=						layer_norm_eps
			_UpperCamelCase   :		Tuple			=						pruning_method
			_UpperCamelCase   :		Tuple			=						mask_init
			_UpperCamelCase   :		Dict			=						mask_scale




