


from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available, is_vision_available


_UpperCAmelCase			:  Any     ={
    """configuration_pix2struct""": [
        """PIX2STRUCT_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """Pix2StructConfig""",
        """Pix2StructTextConfig""",
        """Pix2StructVisionConfig""",
    ],
    """processing_pix2struct""": ["""Pix2StructProcessor"""],
}

try:
						if not is_vision_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						_UpperCAmelCase			:  List[Any]     =["""Pix2StructImageProcessor"""]


try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						_UpperCAmelCase			:  Tuple     =[
						    """PIX2STRUCT_PRETRAINED_MODEL_ARCHIVE_LIST""",
						    """Pix2StructPreTrainedModel""",
						    """Pix2StructForConditionalGeneration""",
						    """Pix2StructVisionModel""",
						    """Pix2StructTextModel""",
						]

if TYPE_CHECKING:
						from .configuration_pixastruct import (
						    PIX2STRUCT_PRETRAINED_CONFIG_ARCHIVE_MAP,
						    PixaStructConfig,
						    PixaStructTextConfig,
						    PixaStructVisionConfig,
						)
						from .processing_pixastruct import PixaStructProcessor

						try:
												if not is_vision_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .image_processing_pixastruct import PixaStructImageProcessor

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_pixastruct import (
												    PIX2STRUCT_PRETRAINED_MODEL_ARCHIVE_LIST,
												    PixaStructForConditionalGeneration,
												    PixaStructPreTrainedModel,
												    PixaStructTextModel,
												    PixaStructVisionModel,
												)

else:
						import sys

						_UpperCAmelCase			:  Optional[int]     =_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)



def 			lowerCAmelCase (		lowerCAmelCase_ = 1_000_000 )-> int:
				lowerCAmelCase_ :      Dict    				=				1
				lowerCAmelCase_ :      List[Any]    				=				1
				lowerCAmelCase_ :      Optional[Any]    				=				{1: 1}

				for inputa in range(2 ,   lowerCAmelCase_ ):
								lowerCAmelCase_ :      Tuple    				=				0
								lowerCAmelCase_ :      Dict    				=				inputa

								while True:
												if number in counters:
																counter += counters[number]
																break
												if number % 2 == 0:
																number //= 2
																counter += 1
												else:
																lowerCAmelCase_ :      Any    				=				(3 * number) + 1
																counter += 1

								if inputa not in counters:
												lowerCAmelCase_ :      Tuple    				=				counter

								if counter > pre_counter:
												lowerCAmelCase_ :      Optional[int]    				=				inputa
												lowerCAmelCase_ :      Union[str, Any]    				=				counter
				return largest_number


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