



from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


UpperCamelCase_									=   {'''configuration_umt5''': ['''UMT5Config''', '''UMT5OnnxConfig''']}


try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      UpperCamelCase_									=   [
          '''UMT5EncoderModel''',
          '''UMT5ForConditionalGeneration''',
          '''UMT5ForQuestionAnswering''',
          '''UMT5Model''',
          '''UMT5PreTrainedModel''',
      ]

if TYPE_CHECKING:
      from .configuration_umta import UMTaConfig, UMTaOnnxConfig

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_umta import (
                UMTaEncoderModel,
                UMTaForConditionalGeneration,
                UMTaForQuestionAnswering,
                UMTaModel,
                UMTaPreTrainedModel,
            )
else:
      import sys

      UpperCamelCase_									=   _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())))





