


'''simple docstring'''




import argparse

import torch

from transformers import OpenAIGPTConfig, OpenAIGPTModel, load_tf_weights_in_openai_gpt
from transformers.utils import CONFIG_NAME, WEIGHTS_NAME, logging


logging.set_verbosity_info()

def 			__UpperCamelCase    (    _A    :				Optional[int]					,   _A    :				Tuple					,   _A    :				List[Any]				)    ->      List[Any]:




	"""simple docstring"""





	if openai_config_file == "":
		lowerCAmelCase					:    List[str]      							= OpenAIGPTConfig()
	else:
		lowerCAmelCase					:    Tuple      							= OpenAIGPTConfig.from_json_file(_A				)
	lowerCAmelCase					:    Optional[Any]      							= OpenAIGPTModel(_A				)

	# Load weights from numpy
	load_tf_weights_in_openai_gpt(_A					,   _A					,   _A				)

	# Save pytorch-model
	lowerCAmelCase					:    int      							= pytorch_dump_folder_path + '/' + WEIGHTS_NAME
	lowerCAmelCase					:    Dict      							= pytorch_dump_folder_path + '/' + CONFIG_NAME
	print(F"Save PyTorch model to {pytorch_weights_dump_path}"				)
	torch.save(model.state_dict()					,   _A				)
	print(F"Save configuration file to {pytorch_config_dump_path}"				)
	with open(_A					,   'w'					,   encoding='utf-8'				) as f:
		f.write(config.to_json_string()				)


if __name__ == "__main__":
				_lowerCAmelCase  :		Any		     =	argparse.ArgumentParser()
				# Required parameters
				parser.add_argument(
				    '--openai_checkpoint_folder_path',
				    default=None,
				    type=str,
				    required=True,
				    help='Path to the TensorFlow checkpoint path.',
				)
				parser.add_argument(
				    '--pytorch_dump_folder_path', default=None, type=str, required=True, help='Path to the output PyTorch model.'
				)
				parser.add_argument(
				    '--openai_config_file',
				    default='',
				    type=str,
				    help=(
				        'An optional config json file corresponding to the pre-trained OpenAI model. \n'
				        'This specifies the model architecture.'
				    ),
				)
				_lowerCAmelCase  :		List[str]		     =	parser.parse_args()
				convert_openai_checkpoint_to_pytorch(
				    args.openai_checkpoint_folder_path, args.openai_config_file, args.pytorch_dump_folder_path
				)




'''simple docstring'''




import math

def 			__UpperCamelCase    (    _A    :				int = 1_00				)    ->      int:




	"""simple docstring"""





	lowerCAmelCase					:    List[Any]      							= sum(i * i for i in range(1					,   n + 1				)				)
	lowerCAmelCase					:    Optional[Any]      							= int(math.pow(sum(range(1					,   n + 1				)				)					,   2				)				)
	return square_of_sum - sum_of_squares


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