def  snake_case  (       snake_case__			:int)						->   int:
       _A        =  [1]

       _A   ,  _A   ,  _A        =  0, 0, 0
       _A        =  ugly_nums[ia] * 2
       _A        =  ugly_nums[ia] * 3
       _A        =  ugly_nums[ia] * 5

       for _ in range(1   ,	snake_case__):
              _A        =  min(snake_case__   ,	snake_case__   ,	snake_case__)
              ugly_nums.append(snake_case__)
              if next_num == next_a:
                     ia += 1
                     _A        =  ugly_nums[ia] * 2
              if next_num == next_a:
                     ia += 1
                     _A        =  ugly_nums[ia] * 3
              if next_num == next_a:
                     ia += 1
                     _A        =  ugly_nums[ia] * 5
       return ugly_nums[-1]


if __name__ == "__main__":
    from doctest import testmod

    testmod(verbose=True)
    print(F'''{ugly_numbers(200) = }''')





import argparse

import torch

from ...utils import logging
from . import AlbertConfig, AlbertForPreTraining, load_tf_weights_in_albert


logging.set_verbosity_info()






def  snake_case  (       snake_case__			:int   ,	snake_case__			:List[str]   ,	snake_case__			:Union[str, Any])						->   str:
       # Initialise PyTorch model
       _A        =  AlbertConfig.from_json_file(snake_case__)
       print(F'''Building PyTorch model from configuration: {config}''')
       _A        =  AlbertForPreTraining(snake_case__)

       # Load weights from tf checkpoint
       load_tf_weights_in_albert(snake_case__   ,	snake_case__   ,	snake_case__)

       # Save pytorch-model
       print(F'''Save PyTorch model to {pytorch_dump_path}''')
       torch.save(model.state_dict()   ,	snake_case__)


if __name__ == "__main__":
    _SCREAMING_SNAKE_CASE										=						argparse.ArgumentParser()
    # Required parameters
    parser.add_argument(
        '--tf_checkpoint_path', default=None, type=str, required=True, help='Path to the TensorFlow checkpoint path.'
    )
    parser.add_argument(
        '--albert_config_file',
        default=None,
        type=str,
        required=True,
        help=(
            'The config json file corresponding to the pre-trained ALBERT model. \n'
            'This specifies the model architecture.'
        ),
    )
    parser.add_argument(
        '--pytorch_dump_path', default=None, type=str, required=True, help='Path to the output PyTorch model.'
    )
    _SCREAMING_SNAKE_CASE										=						parser.parse_args()
    convert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.albert_config_file, args.pytorch_dump_path)




