import argparse

import torch

from transformers import ElectraConfig, ElectraForMaskedLM, ElectraForPreTraining, load_tf_weights_in_electra
from transformers.utils import logging


logging.set_verbosity_info()





def      __lowercase  (		lowerCamelCase      :  List[str]						,						lowerCamelCase      :  Optional[int]						,						lowerCamelCase      :  List[Any]						,						lowerCamelCase      :  Any			):
 # Initialise PyTorch model
 UpperCamelCase_      :		Any				=      ElectraConfig.from_json_file(lowerCamelCase			)
 print(F"Building PyTorch model from configuration: {config}"			)

 if discriminator_or_generator == "discriminator":
  UpperCamelCase_      :		Union[str, Any]				=      ElectraForPreTraining(lowerCamelCase			)
 elif discriminator_or_generator == "generator":
  UpperCamelCase_      :		int				=      ElectraForMaskedLM(lowerCamelCase			)
 else:
  raise ValueError('The discriminator_or_generator argument should be either \'discriminator\' or \'generator\''			)

 # Load weights from tf checkpoint
 load_tf_weights_in_electra(
     lowerCamelCase						,						lowerCamelCase						,						lowerCamelCase						,						discriminator_or_generator=lowerCamelCase			)

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


if __name__ == "__main__":
   a_					      = 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(
       '--config_file',
       default=None,
       type=str,
       required=True,
       help='The config json file corresponding to the pre-trained model. \nThis specifies the model architecture.',
   )
   parser.add_argument(
       '--pytorch_dump_path', default=None, type=str, required=True, help='Path to the output PyTorch model.'
   )
   parser.add_argument(
       '--discriminator_or_generator',
       default=None,
       type=str,
       required=True,
       help=(
           'Whether to export the generator or the discriminator. Should be a string, either \'discriminator\' or '
           '\'generator\'.'
       ),
   )
   a_					      = parser.parse_args()
   convert_tf_checkpoint_to_pytorch(
       args.tf_checkpoint_path, args.config_file, args.pytorch_dump_path, args.discriminator_or_generator
   )




def      __lowercase  (		lowerCamelCase      :  int = 998001			):
 UpperCamelCase_      :		int				=      0
 for i in range(999						,						99						,						-1			):  # 3 digit numbers range from 999 down to 100
  for j in range(999						,						99						,						-1			):
   UpperCamelCase_      :		str				=      str(i * j			)
   if product_string == product_string[::-1] and i * j < n:
    UpperCamelCase_      :		str				=      max(lowerCamelCase						,						i * j			)
 return answer


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



