



from typing import TYPE_CHECKING

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


__snake_case		:int 						=	{
    '''auto_factory''': ['''get_values'''],
    '''configuration_auto''': ['''ALL_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''CONFIG_MAPPING''', '''MODEL_NAMES_MAPPING''', '''AutoConfig'''],
    '''feature_extraction_auto''': ['''FEATURE_EXTRACTOR_MAPPING''', '''AutoFeatureExtractor'''],
    '''image_processing_auto''': ['''IMAGE_PROCESSOR_MAPPING''', '''AutoImageProcessor'''],
    '''processing_auto''': ['''PROCESSOR_MAPPING''', '''AutoProcessor'''],
    '''tokenization_auto''': ['''TOKENIZER_MAPPING''', '''AutoTokenizer'''],
}

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 __snake_case		:Optional[Any] 						=	[
     '''MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING''',
     '''MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING''',
     '''MODEL_FOR_AUDIO_XVECTOR_MAPPING''',
     '''MODEL_FOR_BACKBONE_MAPPING''',
     '''MODEL_FOR_CAUSAL_IMAGE_MODELING_MAPPING''',
     '''MODEL_FOR_CAUSAL_LM_MAPPING''',
     '''MODEL_FOR_CTC_MAPPING''',
     '''MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING''',
     '''MODEL_FOR_DEPTH_ESTIMATION_MAPPING''',
     '''MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING''',
     '''MODEL_FOR_IMAGE_SEGMENTATION_MAPPING''',
     '''MODEL_FOR_INSTANCE_SEGMENTATION_MAPPING''',
     '''MODEL_FOR_MASKED_IMAGE_MODELING_MAPPING''',
     '''MODEL_FOR_MASKED_LM_MAPPING''',
     '''MODEL_FOR_MASK_GENERATION_MAPPING''',
     '''MODEL_FOR_MULTIPLE_CHOICE_MAPPING''',
     '''MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING''',
     '''MODEL_FOR_OBJECT_DETECTION_MAPPING''',
     '''MODEL_FOR_PRETRAINING_MAPPING''',
     '''MODEL_FOR_QUESTION_ANSWERING_MAPPING''',
     '''MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING''',
     '''MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING''',
     '''MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING''',
     '''MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING''',
     '''MODEL_FOR_TABLE_QUESTION_ANSWERING_MAPPING''',
     '''MODEL_FOR_TEXT_ENCODING_MAPPING''',
     '''MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING''',
     '''MODEL_FOR_UNIVERSAL_SEGMENTATION_MAPPING''',
     '''MODEL_FOR_VIDEO_CLASSIFICATION_MAPPING''',
     '''MODEL_FOR_VISION_2_SEQ_MAPPING''',
     '''MODEL_FOR_VISUAL_QUESTION_ANSWERING_MAPPING''',
     '''MODEL_MAPPING''',
     '''MODEL_WITH_LM_HEAD_MAPPING''',
     '''MODEL_FOR_ZERO_SHOT_IMAGE_CLASSIFICATION_MAPPING''',
     '''MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING''',
     '''AutoModel''',
     '''AutoBackbone''',
     '''AutoModelForAudioClassification''',
     '''AutoModelForAudioFrameClassification''',
     '''AutoModelForAudioXVector''',
     '''AutoModelForCausalLM''',
     '''AutoModelForCTC''',
     '''AutoModelForDepthEstimation''',
     '''AutoModelForImageClassification''',
     '''AutoModelForImageSegmentation''',
     '''AutoModelForInstanceSegmentation''',
     '''AutoModelForMaskGeneration''',
     '''AutoModelForTextEncoding''',
     '''AutoModelForMaskedImageModeling''',
     '''AutoModelForMaskedLM''',
     '''AutoModelForMultipleChoice''',
     '''AutoModelForNextSentencePrediction''',
     '''AutoModelForObjectDetection''',
     '''AutoModelForPreTraining''',
     '''AutoModelForQuestionAnswering''',
     '''AutoModelForSemanticSegmentation''',
     '''AutoModelForSeq2SeqLM''',
     '''AutoModelForSequenceClassification''',
     '''AutoModelForSpeechSeq2Seq''',
     '''AutoModelForTableQuestionAnswering''',
     '''AutoModelForTokenClassification''',
     '''AutoModelForUniversalSegmentation''',
     '''AutoModelForVideoClassification''',
     '''AutoModelForVision2Seq''',
     '''AutoModelForVisualQuestionAnswering''',
     '''AutoModelForDocumentQuestionAnswering''',
     '''AutoModelWithLMHead''',
     '''AutoModelForZeroShotImageClassification''',
     '''AutoModelForZeroShotObjectDetection''',
 ]

try:
 if not is_tf_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 __snake_case		:List[Any] 						=	[
     '''TF_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING''',
     '''TF_MODEL_FOR_CAUSAL_LM_MAPPING''',
     '''TF_MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING''',
     '''TF_MODEL_FOR_MASK_GENERATION_MAPPING''',
     '''TF_MODEL_FOR_MASKED_IMAGE_MODELING_MAPPING''',
     '''TF_MODEL_FOR_MASKED_LM_MAPPING''',
     '''TF_MODEL_FOR_MULTIPLE_CHOICE_MAPPING''',
     '''TF_MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING''',
     '''TF_MODEL_FOR_PRETRAINING_MAPPING''',
     '''TF_MODEL_FOR_QUESTION_ANSWERING_MAPPING''',
     '''TF_MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING''',
     '''TF_MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING''',
     '''TF_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING''',
     '''TF_MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING''',
     '''TF_MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING''',
     '''TF_MODEL_FOR_TABLE_QUESTION_ANSWERING_MAPPING''',
     '''TF_MODEL_FOR_TEXT_ENCODING_MAPPING''',
     '''TF_MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING''',
     '''TF_MODEL_FOR_VISION_2_SEQ_MAPPING''',
     '''TF_MODEL_FOR_ZERO_SHOT_IMAGE_CLASSIFICATION_MAPPING''',
     '''TF_MODEL_MAPPING''',
     '''TF_MODEL_WITH_LM_HEAD_MAPPING''',
     '''TFAutoModel''',
     '''TFAutoModelForAudioClassification''',
     '''TFAutoModelForCausalLM''',
     '''TFAutoModelForImageClassification''',
     '''TFAutoModelForMaskedImageModeling''',
     '''TFAutoModelForMaskedLM''',
     '''TFAutoModelForMaskGeneration''',
     '''TFAutoModelForMultipleChoice''',
     '''TFAutoModelForNextSentencePrediction''',
     '''TFAutoModelForPreTraining''',
     '''TFAutoModelForDocumentQuestionAnswering''',
     '''TFAutoModelForQuestionAnswering''',
     '''TFAutoModelForSemanticSegmentation''',
     '''TFAutoModelForSeq2SeqLM''',
     '''TFAutoModelForSequenceClassification''',
     '''TFAutoModelForSpeechSeq2Seq''',
     '''TFAutoModelForTableQuestionAnswering''',
     '''TFAutoModelForTextEncoding''',
     '''TFAutoModelForTokenClassification''',
     '''TFAutoModelForVision2Seq''',
     '''TFAutoModelForZeroShotImageClassification''',
     '''TFAutoModelWithLMHead''',
 ]

try:
 if not is_flax_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 __snake_case		:Optional[int] 						=	[
     '''FLAX_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING''',
     '''FLAX_MODEL_FOR_CAUSAL_LM_MAPPING''',
     '''FLAX_MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING''',
     '''FLAX_MODEL_FOR_MASKED_LM_MAPPING''',
     '''FLAX_MODEL_FOR_MULTIPLE_CHOICE_MAPPING''',
     '''FLAX_MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING''',
     '''FLAX_MODEL_FOR_PRETRAINING_MAPPING''',
     '''FLAX_MODEL_FOR_QUESTION_ANSWERING_MAPPING''',
     '''FLAX_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING''',
     '''FLAX_MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING''',
     '''FLAX_MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING''',
     '''FLAX_MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING''',
     '''FLAX_MODEL_FOR_VISION_2_SEQ_MAPPING''',
     '''FLAX_MODEL_MAPPING''',
     '''FlaxAutoModel''',
     '''FlaxAutoModelForCausalLM''',
     '''FlaxAutoModelForImageClassification''',
     '''FlaxAutoModelForMaskedLM''',
     '''FlaxAutoModelForMultipleChoice''',
     '''FlaxAutoModelForNextSentencePrediction''',
     '''FlaxAutoModelForPreTraining''',
     '''FlaxAutoModelForQuestionAnswering''',
     '''FlaxAutoModelForSeq2SeqLM''',
     '''FlaxAutoModelForSequenceClassification''',
     '''FlaxAutoModelForSpeechSeq2Seq''',
     '''FlaxAutoModelForTokenClassification''',
     '''FlaxAutoModelForVision2Seq''',
 ]


if TYPE_CHECKING:
 from .auto_factory import get_values
 from .configuration_auto import ALL_PRETRAINED_CONFIG_ARCHIVE_MAP, CONFIG_MAPPING, MODEL_NAMES_MAPPING, AutoConfig
 from .feature_extraction_auto import FEATURE_EXTRACTOR_MAPPING, AutoFeatureExtractor
 from .image_processing_auto import IMAGE_PROCESSOR_MAPPING, AutoImageProcessor
 from .processing_auto import PROCESSOR_MAPPING, AutoProcessor
 from .tokenization_auto import TOKENIZER_MAPPING, AutoTokenizer

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_auto import (
      MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING,
      MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING,
      MODEL_FOR_AUDIO_XVECTOR_MAPPING,
      MODEL_FOR_BACKBONE_MAPPING,
      MODEL_FOR_CAUSAL_IMAGE_MODELING_MAPPING,
      MODEL_FOR_CAUSAL_LM_MAPPING,
      MODEL_FOR_CTC_MAPPING,
      MODEL_FOR_DEPTH_ESTIMATION_MAPPING,
      MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING,
      MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING,
      MODEL_FOR_IMAGE_SEGMENTATION_MAPPING,
      MODEL_FOR_INSTANCE_SEGMENTATION_MAPPING,
      MODEL_FOR_MASK_GENERATION_MAPPING,
      MODEL_FOR_MASKED_IMAGE_MODELING_MAPPING,
      MODEL_FOR_MASKED_LM_MAPPING,
      MODEL_FOR_MULTIPLE_CHOICE_MAPPING,
      MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING,
      MODEL_FOR_OBJECT_DETECTION_MAPPING,
      MODEL_FOR_PRETRAINING_MAPPING,
      MODEL_FOR_QUESTION_ANSWERING_MAPPING,
      MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING,
      MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING,
      MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING,
      MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING,
      MODEL_FOR_TABLE_QUESTION_ANSWERING_MAPPING,
      MODEL_FOR_TEXT_ENCODING_MAPPING,
      MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING,
      MODEL_FOR_UNIVERSAL_SEGMENTATION_MAPPING,
      MODEL_FOR_VIDEO_CLASSIFICATION_MAPPING,
      MODEL_FOR_VISION_2_SEQ_MAPPING,
      MODEL_FOR_VISUAL_QUESTION_ANSWERING_MAPPING,
      MODEL_FOR_ZERO_SHOT_IMAGE_CLASSIFICATION_MAPPING,
      MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING,
      MODEL_MAPPING,
      MODEL_WITH_LM_HEAD_MAPPING,
      AutoBackbone,
      AutoModel,
      AutoModelForAudioClassification,
      AutoModelForAudioFrameClassification,
      AutoModelForAudioXVector,
      AutoModelForCausalLM,
      AutoModelForCTC,
      AutoModelForDepthEstimation,
      AutoModelForDocumentQuestionAnswering,
      AutoModelForImageClassification,
      AutoModelForImageSegmentation,
      AutoModelForInstanceSegmentation,
      AutoModelForMaskedImageModeling,
      AutoModelForMaskedLM,
      AutoModelForMaskGeneration,
      AutoModelForMultipleChoice,
      AutoModelForNextSentencePrediction,
      AutoModelForObjectDetection,
      AutoModelForPreTraining,
      AutoModelForQuestionAnswering,
      AutoModelForSemanticSegmentation,
      AutoModelForSeqaSeqLM,
      AutoModelForSequenceClassification,
      AutoModelForSpeechSeqaSeq,
      AutoModelForTableQuestionAnswering,
      AutoModelForTextEncoding,
      AutoModelForTokenClassification,
      AutoModelForUniversalSegmentation,
      AutoModelForVideoClassification,
      AutoModelForVisionaSeq,
      AutoModelForVisualQuestionAnswering,
      AutoModelForZeroShotImageClassification,
      AutoModelForZeroShotObjectDetection,
      AutoModelWithLMHead,
  )

 try:
  if not is_tf_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_tf_auto import (
      TF_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING,
      TF_MODEL_FOR_CAUSAL_LM_MAPPING,
      TF_MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING,
      TF_MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING,
      TF_MODEL_FOR_MASK_GENERATION_MAPPING,
      TF_MODEL_FOR_MASKED_IMAGE_MODELING_MAPPING,
      TF_MODEL_FOR_MASKED_LM_MAPPING,
      TF_MODEL_FOR_MULTIPLE_CHOICE_MAPPING,
      TF_MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING,
      TF_MODEL_FOR_PRETRAINING_MAPPING,
      TF_MODEL_FOR_QUESTION_ANSWERING_MAPPING,
      TF_MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING,
      TF_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING,
      TF_MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING,
      TF_MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING,
      TF_MODEL_FOR_TABLE_QUESTION_ANSWERING_MAPPING,
      TF_MODEL_FOR_TEXT_ENCODING_MAPPING,
      TF_MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING,
      TF_MODEL_FOR_VISION_2_SEQ_MAPPING,
      TF_MODEL_FOR_ZERO_SHOT_IMAGE_CLASSIFICATION_MAPPING,
      TF_MODEL_MAPPING,
      TF_MODEL_WITH_LM_HEAD_MAPPING,
      TFAutoModel,
      TFAutoModelForAudioClassification,
      TFAutoModelForCausalLM,
      TFAutoModelForDocumentQuestionAnswering,
      TFAutoModelForImageClassification,
      TFAutoModelForMaskedImageModeling,
      TFAutoModelForMaskedLM,
      TFAutoModelForMaskGeneration,
      TFAutoModelForMultipleChoice,
      TFAutoModelForNextSentencePrediction,
      TFAutoModelForPreTraining,
      TFAutoModelForQuestionAnswering,
      TFAutoModelForSemanticSegmentation,
      TFAutoModelForSeqaSeqLM,
      TFAutoModelForSequenceClassification,
      TFAutoModelForSpeechSeqaSeq,
      TFAutoModelForTableQuestionAnswering,
      TFAutoModelForTextEncoding,
      TFAutoModelForTokenClassification,
      TFAutoModelForVisionaSeq,
      TFAutoModelForZeroShotImageClassification,
      TFAutoModelWithLMHead,
  )

 try:
  if not is_flax_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_flax_auto import (
      FLAX_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING,
      FLAX_MODEL_FOR_CAUSAL_LM_MAPPING,
      FLAX_MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING,
      FLAX_MODEL_FOR_MASKED_LM_MAPPING,
      FLAX_MODEL_FOR_MULTIPLE_CHOICE_MAPPING,
      FLAX_MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING,
      FLAX_MODEL_FOR_PRETRAINING_MAPPING,
      FLAX_MODEL_FOR_QUESTION_ANSWERING_MAPPING,
      FLAX_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING,
      FLAX_MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING,
      FLAX_MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING,
      FLAX_MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING,
      FLAX_MODEL_FOR_VISION_2_SEQ_MAPPING,
      FLAX_MODEL_MAPPING,
      FlaxAutoModel,
      FlaxAutoModelForCausalLM,
      FlaxAutoModelForImageClassification,
      FlaxAutoModelForMaskedLM,
      FlaxAutoModelForMultipleChoice,
      FlaxAutoModelForNextSentencePrediction,
      FlaxAutoModelForPreTraining,
      FlaxAutoModelForQuestionAnswering,
      FlaxAutoModelForSeqaSeqLM,
      FlaxAutoModelForSequenceClassification,
      FlaxAutoModelForSpeechSeqaSeq,
      FlaxAutoModelForTokenClassification,
      FlaxAutoModelForVisionaSeq,
  )

else:
 import sys

 __snake_case		:List[str] 						=	_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)










from __future__ import annotations

__snake_case		:Union[str, Any] 						=	{1: 1}





def 	__snake_case      (     _UpperCAmelCase							):
    if n in COLLATZ_SEQUENCE_LENGTHS:
        return COLLATZ_SEQUENCE_LENGTHS[n]
    __a					=							n // 2 if n % 2 == 0 else 3 * n + 1
    __a					=							collatz_sequence_length(_UpperCAmelCase							) + 1
    __a					=							sequence_length
    return sequence_length





def 	__snake_case      (     _UpperCAmelCase = 1000000							):
    __a					=							max((collatz_sequence_length(_UpperCAmelCase							), i) for i in range(1  ,					_UpperCAmelCase							)							)
    return result[1]


if __name__ == "__main__":
 print(solution(int(input().strip())))





