package main import "fmt" func main() { var N int fmt.Scan(&N) var current = 1 var count int for count = 0; current != N; count++ { current = tap(current, N) } fmt.Println(count) } func tap(current, target int) int { var NUM int if current*2 <= target { NUM = current * 2 } else { for i, j := current-1, 1; i > 0; i, j = i-1, j+1 { if j+i*2 <= target { NUM = j + i*2 break } } } return NUM }