


"""simple docstring"""


from itertools import product







def  __snake_case       (   UpperCamelCase__ ,			UpperCamelCase__	)      ->		list[int]:







		"""simple docstring"""





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

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

		return totals_frequencies







def  __snake_case       (   )      ->		float:







		"""simple docstring"""





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

		A					       = 0
		A					       = 9
		A					       = 4 * 9
		A					       = 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]	)

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

		A					       = round(UpperCamelCase__ ,			ndigits=7	)

		return rounded_peter_win_probability


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









"""simple docstring"""


from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


UpperCamelCase						:				Dict             =      {
    "configuration_megatron_bert": ["MEGATRON_BERT_PRETRAINED_CONFIG_ARCHIVE_MAP", "MegatronBertConfig"],
}

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	UpperCamelCase						:				Any             =      [
	    "MEGATRON_BERT_PRETRAINED_MODEL_ARCHIVE_LIST",
	    "MegatronBertForCausalLM",
	    "MegatronBertForMaskedLM",
	    "MegatronBertForMultipleChoice",
	    "MegatronBertForNextSentencePrediction",
	    "MegatronBertForPreTraining",
	    "MegatronBertForQuestionAnswering",
	    "MegatronBertForSequenceClassification",
	    "MegatronBertForTokenClassification",
	    "MegatronBertModel",
	    "MegatronBertPreTrainedModel",
	]

if TYPE_CHECKING:
	from .configuration_megatron_bert import MEGATRON_BERT_PRETRAINED_CONFIG_ARCHIVE_MAP, MegatronBertConfig

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_megatron_bert import (
		    MEGATRON_BERT_PRETRAINED_MODEL_ARCHIVE_LIST,
		    MegatronBertForCausalLM,
		    MegatronBertForMaskedLM,
		    MegatronBertForMultipleChoice,
		    MegatronBertForNextSentencePrediction,
		    MegatronBertForPreTraining,
		    MegatronBertForQuestionAnswering,
		    MegatronBertForSequenceClassification,
		    MegatronBertForTokenClassification,
		    MegatronBertModel,
		    MegatronBertPreTrainedModel,
		)

else:
	import sys

	UpperCamelCase						:				Dict             =      _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)





