




from ...configuration_utils import PretrainedConfig
from ...utils import logging


__a							     =					logging.get_logger(__name__)

__a							     =					{
    'facebook/xglm-564M': 'https://huggingface.co/facebook/xglm-564M/resolve/main/config.json',
    # See all XGLM models at https://huggingface.co/models?filter=xglm
}

class     __a(	_a  ):






    """simple docstring"""





    lowerCAmelCase         = '''xglm'''
    lowerCAmelCase         = ['''past_key_values''']

    lowerCAmelCase         = {
        '''num_attention_heads''': '''attention_heads''',
        '''hidden_size''': '''d_model''',
        '''num_hidden_layers''': '''num_layers''',
    }





    def __init__( self  ,_SCREAMING_SNAKE_CASE=256_008  ,_SCREAMING_SNAKE_CASE=2_048  ,_SCREAMING_SNAKE_CASE=1_024  ,_SCREAMING_SNAKE_CASE=4_096  ,_SCREAMING_SNAKE_CASE=24  ,_SCREAMING_SNAKE_CASE=16  ,_SCREAMING_SNAKE_CASE="gelu"  ,_SCREAMING_SNAKE_CASE=0.1  ,_SCREAMING_SNAKE_CASE=0.1  ,_SCREAMING_SNAKE_CASE=0.0  ,_SCREAMING_SNAKE_CASE=0.0  ,_SCREAMING_SNAKE_CASE=0.02  ,_SCREAMING_SNAKE_CASE=True  ,_SCREAMING_SNAKE_CASE=True  ,_SCREAMING_SNAKE_CASE=2  ,_SCREAMING_SNAKE_CASE=1  ,_SCREAMING_SNAKE_CASE=0  ,_SCREAMING_SNAKE_CASE=2  ,**_SCREAMING_SNAKE_CASE  ,)					->						Any:
         UpperCAmelCase_     :				Optional[int]  =     vocab_size
         UpperCAmelCase_     :				List[Any]  =     max_position_embeddings
         UpperCAmelCase_     :				Dict  =     d_model
         UpperCAmelCase_     :				Union[str, Any]  =     ffn_dim
         UpperCAmelCase_     :				Dict  =     num_layers
         UpperCAmelCase_     :				Dict  =     attention_heads
         UpperCAmelCase_     :				Any  =     activation_function
         UpperCAmelCase_     :				Optional[int]  =     dropout
         UpperCAmelCase_     :				Tuple  =     attention_dropout
         UpperCAmelCase_     :				str  =     activation_dropout
         UpperCAmelCase_     :				Union[str, Any]  =     layerdrop
         UpperCAmelCase_     :				Tuple  =     init_std
         UpperCAmelCase_     :				int  =     scale_embedding  # scale factor will be sqrt(d_model) if True
         UpperCAmelCase_     :				str  =     use_cache

         super().__init__(
             pad_token_id=_SCREAMING_SNAKE_CASE  ,bos_token_id=_SCREAMING_SNAKE_CASE  ,eos_token_id=_SCREAMING_SNAKE_CASE  ,decoder_start_token_id=_SCREAMING_SNAKE_CASE  ,**_SCREAMING_SNAKE_CASE  ,)




"""simple docstring"""






from itertools import product




def 			snake_case		(		lowerCAmelCase_  ,						lowerCAmelCase_	)						->				list[int]:
  _snake_case   	=      sides_number
  _snake_case   	=      max_face_number * dice_number
  _snake_case   	=      [0] * (max_total + 1)

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

  return totals_frequencies




def 			snake_case		(		)						->				float:
  _snake_case   	=      total_frequency_distribution(
      sides_number=4  ,						dice_number=9	)
  _snake_case   	=      total_frequency_distribution(
      sides_number=6  ,						dice_number=6	)

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

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

  _snake_case   	=      round(lowerCAmelCase_  ,						ndigits=7	)

  return rounded_peter_win_probability


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





