'''simple docstring'''




import argparse

import torch

from transformers import NystromformerConfig, NystromformerForMaskedLM






def __lowerCAmelCase				(							UpperCamelCase__       )			->					Any:
    if "model" in orig_key:
        __lowerCamelCase						=						orig_key.replace('''model.'''       ,						''''''       )
    if "norm1" in orig_key:
        __lowerCamelCase						=						orig_key.replace('''norm1'''       ,						'''attention.output.LayerNorm'''       )
    if "norm2" in orig_key:
        __lowerCamelCase						=						orig_key.replace('''norm2'''       ,						'''output.LayerNorm'''       )
    if "norm" in orig_key:
        __lowerCamelCase						=						orig_key.replace('''norm'''       ,						'''LayerNorm'''       )
    if "transformer" in orig_key:
        __lowerCamelCase						=						orig_key.split('''.'''       )[0].split('''_'''       )[-1]
        __lowerCamelCase						=						orig_key.replace(f"""transformer_{layer_num}"""       ,						f"""encoder.layer.{layer_num}"""       )
    if "mha.attn" in orig_key:
        __lowerCamelCase						=						orig_key.replace('''mha.attn'''       ,						'''attention.self'''       )
    if "mha" in orig_key:
        __lowerCamelCase						=						orig_key.replace('''mha'''       ,						'''attention'''       )
    if "W_q" in orig_key:
        __lowerCamelCase						=						orig_key.replace('''W_q'''       ,						'''self.query'''       )
    if "W_k" in orig_key:
        __lowerCamelCase						=						orig_key.replace('''W_k'''       ,						'''self.key'''       )
    if "W_v" in orig_key:
        __lowerCamelCase						=						orig_key.replace('''W_v'''       ,						'''self.value'''       )
    if "ff1" in orig_key:
        __lowerCamelCase						=						orig_key.replace('''ff1'''       ,						'''intermediate.dense'''       )
    if "ff2" in orig_key:
        __lowerCamelCase						=						orig_key.replace('''ff2'''       ,						'''output.dense'''       )
    if "ff" in orig_key:
        __lowerCamelCase						=						orig_key.replace('''ff'''       ,						'''output.dense'''       )
    if "mlm_class" in orig_key:
        __lowerCamelCase						=						orig_key.replace('''mlm.mlm_class'''       ,						'''cls.predictions.decoder'''       )
    if "mlm" in orig_key:
        __lowerCamelCase						=						orig_key.replace('''mlm'''       ,						'''cls.predictions.transform'''       )
    if "cls" not in orig_key:
        __lowerCamelCase						=						'''nystromformer.''' + orig_key

    return orig_key






def __lowerCAmelCase				(							UpperCamelCase__       ,						UpperCamelCase__       )			->					int:
    for key in orig_state_dict.copy().keys():
        __lowerCamelCase						=						orig_state_dict.pop(UpperCamelCase__       )

        if ("pooler" in key) or ("sen_class" in key) or ("conv.bias" in key):
            continue
        else:
            __lowerCamelCase						=						val

    __lowerCamelCase						=						orig_state_dict['''cls.predictions.decoder.bias''']
    __lowerCamelCase						=						(
        torch.arange(config.max_position_embeddings       ).expand((1, -1)       ) + 2
    )

    return orig_state_dict






def __lowerCAmelCase				(							UpperCamelCase__       ,						UpperCamelCase__       ,						UpperCamelCase__       )			->					Dict:
    __lowerCamelCase						=						torch.load(UpperCamelCase__       ,						map_location='''cpu'''       )['''model_state_dict''']
    __lowerCamelCase						=						NystromformerConfig.from_json_file(UpperCamelCase__       )
    __lowerCamelCase						=						NystromformerForMaskedLM(UpperCamelCase__       )

    __lowerCamelCase						=						convert_checkpoint_helper(UpperCamelCase__       ,						UpperCamelCase__       )

    model.load_state_dict(UpperCamelCase__       )
    model.eval()
    model.save_pretrained(UpperCamelCase__       )

    print(f"""Checkpoint successfuly converted. Model saved at {pytorch_dump_path}"""       )


if __name__ == "__main__":
  __UpperCAmelCase  							=argparse.ArgumentParser()
  # Required parameters
  parser.add_argument(
      "--pytorch_model_path", default=None, type=str, required=True, help="Path to Nystromformer pytorch checkpoint."
  )
  parser.add_argument(
      "--config_file",
      default=None,
      type=str,
      required=True,
      help="The json file for Nystromformer model config.",
  )
  parser.add_argument(
      "--pytorch_dump_path", default=None, type=str, required=True, help="Path to the output PyTorch model."
  )
  __UpperCAmelCase  							=parser.parse_args()
  convert_nystromformer_checkpoint(args.pytorch_model_path, args.config_file, args.pytorch_dump_path)

'''simple docstring'''




__UpperCAmelCase  							=1_0**8






def __lowerCAmelCase				(							UpperCamelCase__       )			->					bool:
    if n % 10 == 0:
        return False
    __lowerCamelCase						=						str(UpperCamelCase__       )
    return s == s[::-1]






def __lowerCAmelCase				(							)			->					int:
    __lowerCamelCase						=						set()
    __lowerCamelCase						=						1
    __lowerCamelCase						=						5
    while sum_squares < LIMIT:
        __lowerCamelCase						=						first_square + 1
        while sum_squares < LIMIT:
            if is_palindrome(UpperCamelCase__       ):
                answer.add(UpperCamelCase__       )
            last_square += 1
            sum_squares += last_square**2
        first_square += 1
        __lowerCamelCase						=						first_square**2 + (first_square + 1) ** 2

    return sum(UpperCamelCase__       )


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