






'''simple docstring'''


from __future__ import annotations






def 	lowerCAmelCase__      (       SCREAMING_SNAKE_CASE__		):
 if len(__A		) == 0:
  return array

 __a     :						Optional[int]          =    min(__A		), max(__A		)

 # Compute the variables
 __a     :						Optional[int]          =    _max - _min + 1
 __a     :						List[str]          =    [0] * holes_range, [0] * holes_range

 # Make the sorting.
 for i in array:
  __a     :						List[Any]          =    i - _min
  __a     :						Dict          =    i
  holes_repeat[index] += 1

 # Makes the array back by replacing the numbers.
 __a     :						int          =    0
 for i in range(__A		):
  while holes_repeat[i] > 0:
   __a     :						int          =    holes[i]
   index += 1
   holes_repeat[i] -= 1

    # Returns the sorted array.
 return array


if __name__ == "__main__":
  import doctest

  doctest.testmod()
  SCREAMING_SNAKE_CASE_					   =				input("Enter numbers separated by comma:\n")
  SCREAMING_SNAKE_CASE_					   =				[int(x) for x in user_input.split(",")]
  print(pigeon_sort(unsorted))









"""simple docstring"""

import argparse

import torch

from transformers import BertConfig, BertForPreTraining, load_tf_weights_in_bert
from transformers.utils import logging


logging.set_verbosity_info()
def  __snake_case							(	__A      :						Union[str, Any]							,		__A      :						Any							,		__A      :						Dict     )     ->       Tuple:






				'''simple docstring'''
				# Initialise PyTorch model
				SCREAMING_SNAKE_CASE						:							Union[str, Any]							=     BertConfig.from_json_file(__A     )
				print(F"""Building PyTorch model from configuration: {config}"""     )
				SCREAMING_SNAKE_CASE						:							List[Any]							=     BertForPreTraining(__A     )

				# Load weights from tf checkpoint
				load_tf_weights_in_bert(__A							,		__A							,		__A     )

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


if __name__ == "__main__":
							A_						:    int				=      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(
							    '--bert_config_file',
							    default=None,
							    type=str,
							    required=True,
							    help=(
							        'The config json file corresponding to the pre-trained BERT 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.'
							)
							A_						:    str				=      parser.parse_args()
							convert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.bert_config_file, args.pytorch_dump_path)





