

'''simple docstring'''



import copy

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


UpperCAmelCase				: Optional[Any]         =  logging.get_logger(__name__)

UpperCAmelCase				: Any         =  {}







class 		lowerCAmelCase__     (   UpperCamelCase__      ):



 """simple docstring"""



 lowerCAmelCase__						      =   """fsmt_decoder"""
 def __init__(	self      : Optional[Any]      ,							__SCREAMING_SNAKE_CASE      : List[Any]=0      ,							__SCREAMING_SNAKE_CASE      : Dict=0    )						->				List[Any]:


      """simple docstring"""




      super().__init__()
      __SCREAMING_SNAKE_CASE						     =   vocab_size
      __SCREAMING_SNAKE_CASE						     =   bos_token_id







class 		lowerCAmelCase__     (   UpperCamelCase__      ):



 """simple docstring"""



 lowerCAmelCase__						      =   """fsmt"""
 lowerCAmelCase__						      =   {"""num_attention_heads""": """encoder_attention_heads""", """hidden_size""": """d_model"""}
 def __init__(	self      : int      ,							__SCREAMING_SNAKE_CASE      : List[Any]=["en", "de"]      ,							__SCREAMING_SNAKE_CASE      : List[Any]=42_024      ,							__SCREAMING_SNAKE_CASE      : List[str]=42_024      ,							__SCREAMING_SNAKE_CASE      : List[str]="relu"      ,							__SCREAMING_SNAKE_CASE      : Any=1_024      ,							__SCREAMING_SNAKE_CASE      : Optional[int]=200      ,							__SCREAMING_SNAKE_CASE      : Any=1_024      ,							__SCREAMING_SNAKE_CASE      : Dict=4_096      ,							__SCREAMING_SNAKE_CASE      : Dict=12      ,							__SCREAMING_SNAKE_CASE      : Dict=16      ,							__SCREAMING_SNAKE_CASE      : Any=0.0      ,							__SCREAMING_SNAKE_CASE      : Tuple=4_096      ,							__SCREAMING_SNAKE_CASE      : Union[str, Any]=12      ,							__SCREAMING_SNAKE_CASE      : List[Any]=16      ,							__SCREAMING_SNAKE_CASE      : Optional[Any]=0.0      ,							__SCREAMING_SNAKE_CASE      : Optional[int]=0.0      ,							__SCREAMING_SNAKE_CASE      : List[str]=0.1      ,							__SCREAMING_SNAKE_CASE      : str=0.0      ,							__SCREAMING_SNAKE_CASE      : List[Any]=0.02      ,							__SCREAMING_SNAKE_CASE      : Any=2      ,							__SCREAMING_SNAKE_CASE      : Optional[Any]=True      ,							__SCREAMING_SNAKE_CASE      : Optional[Any]=True      ,							__SCREAMING_SNAKE_CASE      : Any=False      ,							__SCREAMING_SNAKE_CASE      : str=5      ,							__SCREAMING_SNAKE_CASE      : int=1.0      ,							__SCREAMING_SNAKE_CASE      : Any=False      ,							__SCREAMING_SNAKE_CASE      : List[Any]=True      ,							__SCREAMING_SNAKE_CASE      : Union[str, Any]=1      ,							__SCREAMING_SNAKE_CASE      : List[Any]=0      ,							__SCREAMING_SNAKE_CASE      : List[Any]=2      ,							__SCREAMING_SNAKE_CASE      : List[Any]=2      ,							**__SCREAMING_SNAKE_CASE      : Union[str, Any]      ,							)						->				int:


      """simple docstring"""




      __SCREAMING_SNAKE_CASE						     =   langs
      __SCREAMING_SNAKE_CASE						     =   src_vocab_size
      __SCREAMING_SNAKE_CASE						     =   tgt_vocab_size
      __SCREAMING_SNAKE_CASE						     =   d_model  # encoder_embed_dim and decoder_embed_dim

      __SCREAMING_SNAKE_CASE						     =   encoder_ffn_dim
      __SCREAMING_SNAKE_CASE						     =   encoder_layers
      __SCREAMING_SNAKE_CASE						     =   encoder_attention_heads
      __SCREAMING_SNAKE_CASE						     =   encoder_layerdrop
      __SCREAMING_SNAKE_CASE						     =   decoder_layerdrop
      __SCREAMING_SNAKE_CASE						     =   decoder_ffn_dim
      __SCREAMING_SNAKE_CASE						     =   decoder_layers
      __SCREAMING_SNAKE_CASE						     =   decoder_attention_heads
      __SCREAMING_SNAKE_CASE						     =   max_position_embeddings
      __SCREAMING_SNAKE_CASE						     =   init_std  # Normal(0, this parameter)
      __SCREAMING_SNAKE_CASE						     =   activation_function

      __SCREAMING_SNAKE_CASE						     =   DecoderConfig(vocab_size=lowerCAmelCase__      ,							bos_token_id=lowerCAmelCase__    )
      if "decoder" in common_kwargs:
           del common_kwargs["decoder"]

      __SCREAMING_SNAKE_CASE						     =   scale_embedding  # scale factor will be sqrt(d_model) if True

      # 3 Types of Dropout
      __SCREAMING_SNAKE_CASE						     =   attention_dropout
      __SCREAMING_SNAKE_CASE						     =   activation_dropout
      __SCREAMING_SNAKE_CASE						     =   dropout

      __SCREAMING_SNAKE_CASE						     =   use_cache
      super().__init__(
          pad_token_id=lowerCAmelCase__      ,							bos_token_id=lowerCAmelCase__      ,							eos_token_id=lowerCAmelCase__      ,							decoder_start_token_id=lowerCAmelCase__      ,							is_encoder_decoder=lowerCAmelCase__      ,							tie_word_embeddings=lowerCAmelCase__      ,							forced_eos_token_id=lowerCAmelCase__      ,							max_length=lowerCAmelCase__      ,							num_beams=lowerCAmelCase__      ,							length_penalty=lowerCAmelCase__      ,							early_stopping=lowerCAmelCase__      ,							**lowerCAmelCase__      ,							)


 def    UpperCAmelCase__	(	self      : List[Any]    )						->				Union[str, Any]:


      """simple docstring"""




      __SCREAMING_SNAKE_CASE						     =   copy.deepcopy(self.__dict__    )
      __SCREAMING_SNAKE_CASE						     =   self.decoder.to_dict()
      __SCREAMING_SNAKE_CASE						     =   self.__class__.model_type
      return output









'''simple docstring'''



def      a__ (						):




     """simple docstring"""


     __SCREAMING_SNAKE_CASE						     =   1

     while True:
          if (
              sorted(str(a__		)		)
              == sorted(str(2 * i		)		)
              == sorted(str(3 * i		)		)
              == sorted(str(4 * i		)		)
              == sorted(str(5 * i		)		)
              == sorted(str(6 * i		)		)
          ):
               return i

          i += 1


if __name__ == "__main__":
  print(solution())






