


'''simple docstring'''





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


snake_case							: List[str]      =   logging.get_logger(__name__)

snake_case							: int      =   {
    '''alibaba-damo/mgp-str-base''': '''https://huggingface.co/alibaba-damo/mgp-str-base/resolve/main/config.json''',
}







class  snake_case_     (lowerCamelCase_   ):
					UpperCAmelCase__      :					Any					   =    '''mgp-str'''
					def __init__(   self     :List[Any]    ,__snake_case     :str=[32, 1_28]    ,__snake_case     :int=4    ,__snake_case     :Any=3    ,__snake_case     :int=27    ,__snake_case     :str=38    ,__snake_case     :List[Any]=5_02_57    ,__snake_case     :str=3_05_22    ,__snake_case     :List[str]=7_68    ,__snake_case     :Dict=12    ,__snake_case     :Any=12    ,__snake_case     :List[Any]=4.0    ,__snake_case     :Optional[Any]=True    ,__snake_case     :Optional[Any]=False    ,__snake_case     :List[str]=1E-5    ,__snake_case     :Optional[Any]=0.0    ,__snake_case     :List[str]=0.0    ,__snake_case     :int=0.0    ,__snake_case     :List[str]=False    ,__snake_case     :int=0.02    ,**__snake_case     :List[Any]    ,)      ->					Any:
												super().__init__(**__snake_case   )

												a__    =  image_size
												a__    =  patch_size
												a__    =  num_channels
												a__    =  max_token_length
												a__    =  num_character_labels
												a__    =  num_bpe_labels
												a__    =  num_wordpiece_labels
												a__    =  hidden_size
												a__    =  num_hidden_layers
												a__    =  num_attention_heads
												a__    =  mlp_ratio
												a__    =  distilled
												a__    =  layer_norm_eps
												a__    =  drop_rate
												a__    =  qkv_bias
												a__    =  attn_drop_rate
												a__    =  drop_path_rate
												a__    =  output_aa_attentions
												a__    =  initializer_range








def 							__lowercase     (				__lowerCAmelCase							:       int = 2_0_0     ):
							a__    =  [1, 2, 5, 1_0, 2_0, 5_0, 1_0_0, 2_0_0]
							a__    =  [0] * (pence + 1)
							a__    =  1  # base case: 1 way to make 0 pence

							for coin in coins:
														for i in range(__lowerCAmelCase      ,					pence + 1      ,					1     ):
																					number_of_ways[i] += number_of_ways[i - coin]
							return number_of_ways[pence]


if __name__ == "__main__":
						assert solution(2_00) == 7_36_82




