




'''simple docstring'''







def 						snake_case_							(_a	:							int    ,   _a	:							int     ):
    while b:
        UpperCAmelCase       ,     UpperCAmelCase			       =		b, a % b
    return a





def 						snake_case_							(_a	:							int    ,   _a	:							int     ):
    return a if b == 0 else euclidean_gcd_recursive(_a    ,   a % b     )





def 						snake_case_							():
    print(F"euclidean_gcd(3, 5) = {euclidean_gcd(3    ,   5     )}"     )
    print(F"euclidean_gcd(5, 3) = {euclidean_gcd(5    ,   3     )}"     )
    print(F"euclidean_gcd(1, 3) = {euclidean_gcd(1    ,   3     )}"     )
    print(F"euclidean_gcd(3, 6) = {euclidean_gcd(3    ,   6     )}"     )
    print(F"euclidean_gcd(6, 3) = {euclidean_gcd(6    ,   3     )}"     )

    print(F"euclidean_gcd_recursive(3, 5) = {euclidean_gcd_recursive(3    ,   5     )}"     )
    print(F"euclidean_gcd_recursive(5, 3) = {euclidean_gcd_recursive(5    ,   3     )}"     )
    print(F"euclidean_gcd_recursive(1, 3) = {euclidean_gcd_recursive(1    ,   3     )}"     )
    print(F"euclidean_gcd_recursive(3, 6) = {euclidean_gcd_recursive(3    ,   6     )}"     )
    print(F"euclidean_gcd_recursive(6, 3) = {euclidean_gcd_recursive(6    ,   3     )}"     )


if __name__ == "__main__":
   main()










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


_snake_case										=       logging.get_logger(__name__)

_snake_case										=       {
    "google/fnet-base": "https://huggingface.co/google/fnet-base/resolve/main/config.json",
    "google/fnet-large": "https://huggingface.co/google/fnet-large/resolve/main/config.json"
    # See all FNet models at https://huggingface.co/models?filter=fnet
}







class 						lowercase							(   UpperCamelCase__		):
     _a							 =						"fnet"

     def __init__(  self		,     _a=3_2000		,     _a=768		,     _a=12		,     _a=3072		,     _a="gelu_new"		,     _a=0.1		,     _a=512		,     _a=4		,     _a=0.02		,     _a=1e-12		,     _a=False		,     _a=512		,     _a=3		,     _a=1		,     _a=2		,     **_a		,     )						->							int:
           super().__init__(pad_token_id=_a		,     bos_token_id=_a		,     eos_token_id=_a		,     **_a				)

           _A							:     Any			=						vocab_size
           _A							:     str			=						max_position_embeddings
           _A							:     Optional[Any]			=						hidden_size
           _A							:     List[str]			=						num_hidden_layers
           _A							:     List[str]			=						intermediate_size
           _A							:     List[Any]			=						hidden_act
           _A							:     List[str]			=						hidden_dropout_prob
           _A							:     List[str]			=						initializer_range
           _A							:     List[Any]			=						type_vocab_size
           _A							:     List[Any]			=						layer_norm_eps
           _A							:     List[str]			=						use_tpu_fourier_optimizations
           _A							:     str			=						tpu_short_seq_length

