
'''simple docstring'''







from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_keras_nlp_available,
    is_tensorflow_text_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


__SCREAMING_SNAKE_CASE		:  Any        =      {
    'configuration_gpt2': ['GPT2_PRETRAINED_CONFIG_ARCHIVE_MAP', 'GPT2Config', 'GPT2OnnxConfig'],
    'tokenization_gpt2': ['GPT2Tokenizer'],
}

try:
					if not is_tokenizers_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					__SCREAMING_SNAKE_CASE		:  str        =      ['GPT2TokenizerFast']

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					__SCREAMING_SNAKE_CASE		:  Dict        =      [
					    'GPT2_PRETRAINED_MODEL_ARCHIVE_LIST',
					    'GPT2DoubleHeadsModel',
					    'GPT2ForQuestionAnswering',
					    'GPT2ForSequenceClassification',
					    'GPT2ForTokenClassification',
					    'GPT2LMHeadModel',
					    'GPT2Model',
					    'GPT2PreTrainedModel',
					    'load_tf_weights_in_gpt2',
					]

try:
					if not is_tf_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					__SCREAMING_SNAKE_CASE		:  Optional[Any]        =      [
					    'TF_GPT2_PRETRAINED_MODEL_ARCHIVE_LIST',
					    'TFGPT2DoubleHeadsModel',
					    'TFGPT2ForSequenceClassification',
					    'TFGPT2LMHeadModel',
					    'TFGPT2MainLayer',
					    'TFGPT2Model',
					    'TFGPT2PreTrainedModel',
					]

try:
					if not is_keras_nlp_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					__SCREAMING_SNAKE_CASE		:  List[Any]        =      ['TFGPT2Tokenizer']

try:
					if not is_flax_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					__SCREAMING_SNAKE_CASE		:  str        =      ['FlaxGPT2LMHeadModel', 'FlaxGPT2Model', 'FlaxGPT2PreTrainedModel']

if TYPE_CHECKING:
					from .configuration_gpta import GPT2_PRETRAINED_CONFIG_ARCHIVE_MAP, GPTaConfig, GPTaOnnxConfig
					from .tokenization_gpta import GPTaTokenizer

					try:
										if not is_tokenizers_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .tokenization_gpta_fast import GPTaTokenizerFast

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_gpta import (
										    GPT2_PRETRAINED_MODEL_ARCHIVE_LIST,
										    GPTaDoubleHeadsModel,
										    GPTaForQuestionAnswering,
										    GPTaForSequenceClassification,
										    GPTaForTokenClassification,
										    GPTaLMHeadModel,
										    GPTaModel,
										    GPTaPreTrainedModel,
										    load_tf_weights_in_gpta,
										)

					try:
										if not is_tf_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_tf_gpta import (
										    TF_GPT2_PRETRAINED_MODEL_ARCHIVE_LIST,
										    TFGPTaDoubleHeadsModel,
										    TFGPTaForSequenceClassification,
										    TFGPTaLMHeadModel,
										    TFGPTaMainLayer,
										    TFGPTaModel,
										    TFGPTaPreTrainedModel,
										)

					try:
										if not is_keras_nlp_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .tokenization_gpta_tf import TFGPTaTokenizer

					try:
										if not is_flax_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_flax_gpta import FlaxGPTaLMHeadModel, FlaxGPTaModel, FlaxGPTaPreTrainedModel

else:
					import sys

					__SCREAMING_SNAKE_CASE		:  int        =      _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)

'''simple docstring'''







def 				_snake_case (		lowercase						)       ->       Tuple:
				__a       :     Union[str, Any]								=	[7_0_1, 3_0_1, 1_3_2, 5_7, 2_3, 1_0, 4, 1]
				for gap in gaps:
								for i in range(lowercase			,    len(lowercase						)						):
												__a       :     Tuple								=	collection[i]
												__a       :     Optional[int]								=	i
												while j >= gap and collection[j - gap] > insert_value:
																__a       :     Tuple								=	collection[j - gap]
																j -= gap
												if j != i:
																__a       :     Dict								=	insert_value
				return collection


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

					testmod()
					__SCREAMING_SNAKE_CASE		:  Any        =      input('Enter numbers separated by a comma:\n').strip()
					__SCREAMING_SNAKE_CASE		:  Optional[int]        =      [int(item) for item in user_input.split(',')]
					print(shell_sort(unsorted))