


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,
)


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

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

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				lowerCAmelCase__         =[
				    '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:
				lowerCAmelCase__         =[
				    '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:
				lowerCAmelCase__         =['TFGPT2Tokenizer']

try:
				if not is_flax_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				lowerCAmelCase__         =['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

				lowerCAmelCase__         =_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)









def 	a__ (							A__ = 4_0_0_0_0_0_0							):

			if n <= 1:
						return 0
			SCREAMING_SNAKE_CASE_		:    Dict 		=				0
			SCREAMING_SNAKE_CASE_		:    Optional[int] 		=				2
			SCREAMING_SNAKE_CASE_		:    List[str] 		=				0
			while 4 * b + a <= n:
						SCREAMING_SNAKE_CASE_		,			SCREAMING_SNAKE_CASE_		:    List[str] 		=				b, 4 * b + a
						count += a
			return count + b


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





