




"""simple docstring"""




def 					a__				(       snake_case__ ,				snake_case__ ,				snake_case__ ,				snake_case__       )		->      int:
			if height >= 1:
						move_tower(height - 1 ,				snake_case__ ,				snake_case__ ,				snake_case__       )
						move_disk(snake_case__ ,				snake_case__       )
						move_tower(height - 1 ,				snake_case__ ,				snake_case__ ,				snake_case__       )



def 					a__				(       snake_case__ ,				snake_case__       )		->      Optional[Any]:
			print("""moving disk from""" ,				snake_case__ ,				"""to""" ,				snake_case__       )



def 					a__				(       )		->      List[Any]:
			lowerCamelCase       =      int(input("""Height of hanoi: """       ).strip()       )
			move_tower(snake_case__ ,				"""A""" ,				"""B""" ,				"""C"""       )


if __name__ == "__main__":
					main()









"""simple docstring"""




def 					a__				(       snake_case__ = 1_00_00_00       )		->      int:
			lowerCamelCase       =      1
			lowerCamelCase       =      1
			lowerCamelCase       =      {1: 1}

			for inputa in range(2 ,				snake_case__       ):
						lowerCamelCase       =      0
						lowerCamelCase       =      inputa

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

						if inputa not in counters:
									lowerCamelCase       =      counter

						if counter > pre_counter:
									lowerCamelCase       =      inputa
									lowerCamelCase       =      counter
			return largest_number


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



