



'''simple docstring'''






from itertools import product


def  snake_case_     (					_lowerCAmelCase  :						int   ,      _lowerCAmelCase  :						int  )      ->   list[int]:
							UpperCAmelCase :       Union[str, Any] 							=		sides_number
							UpperCAmelCase :       Optional[Any] 							=		max_face_number * dice_number
							UpperCAmelCase :       Tuple 							=		[0] * (max_total + 1)

							UpperCAmelCase :       Optional[int] 							=		1
							UpperCAmelCase :       Union[str, Any] 							=		range(_lowerCAmelCase   ,      max_face_number + 1  )
							for dice_numbers in product(_lowerCAmelCase   ,      repeat=_lowerCAmelCase  ):
														UpperCAmelCase :       Optional[Any] 							=		sum(_lowerCAmelCase  )
														totals_frequencies[total] += 1

							return totals_frequencies


def  snake_case_     (					)      ->   float:
							UpperCAmelCase :       str 							=		total_frequency_distribution(
							    sides_number=4   ,      dice_number=9  )
							UpperCAmelCase :       int 							=		total_frequency_distribution(
							    sides_number=6   ,      dice_number=6  )

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

							UpperCAmelCase :       Optional[int] 							=		(4**9) * (6**6)
							UpperCAmelCase :       Union[str, Any] 							=		peter_wins_count / total_games_number

							UpperCAmelCase :       Dict 							=		round(_lowerCAmelCase   ,      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_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


UpperCamelCase__:   str								=			{
    "configuration_lxmert": ["LXMERT_PRETRAINED_CONFIG_ARCHIVE_MAP", "LxmertConfig"],
    "tokenization_lxmert": ["LxmertTokenizer"],
}

try:
						if not is_tokenizers_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						UpperCamelCase__:   int								=			["LxmertTokenizerFast"]

try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						UpperCamelCase__:   Union[str, Any]								=			[
						    "LxmertEncoder",
						    "LxmertForPreTraining",
						    "LxmertForQuestionAnswering",
						    "LxmertModel",
						    "LxmertPreTrainedModel",
						    "LxmertVisualFeatureEncoder",
						    "LxmertXLayer",
						]

try:
						if not is_tf_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						UpperCamelCase__:   int								=			[
						    "TF_LXMERT_PRETRAINED_MODEL_ARCHIVE_LIST",
						    "TFLxmertForPreTraining",
						    "TFLxmertMainLayer",
						    "TFLxmertModel",
						    "TFLxmertPreTrainedModel",
						    "TFLxmertVisualFeatureEncoder",
						]


if TYPE_CHECKING:
						from .configuration_lxmert import LXMERT_PRETRAINED_CONFIG_ARCHIVE_MAP, LxmertConfig
						from .tokenization_lxmert import LxmertTokenizer

						try:
												if not is_tokenizers_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .tokenization_lxmert_fast import LxmertTokenizerFast

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_lxmert import (
												    LxmertEncoder,
												    LxmertForPreTraining,
												    LxmertForQuestionAnswering,
												    LxmertModel,
												    LxmertPreTrainedModel,
												    LxmertVisualFeatureEncoder,
												    LxmertXLayer,
												)

						try:
												if not is_tf_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_tf_lxmert import (
												    TF_LXMERT_PRETRAINED_MODEL_ARCHIVE_LIST,
												    TFLxmertForPreTraining,
												    TFLxmertMainLayer,
												    TFLxmertModel,
												    TFLxmertPreTrainedModel,
												    TFLxmertVisualFeatureEncoder,
												)

else:
						import sys

						UpperCamelCase__:   Tuple								=			_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)





