import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class Main {
    public static void main(String[] args) {
        TestCase testCase = readFromInput();

        final int result = process(testCase);

        output(result);
    }

    private static TestCase readFromInput() {
        Scanner sc = new Scanner(System.in);

        int s = sc.nextInt();

        sc.close();
        return new TestCase(s);
    }

    public static int process(TestCase testCase) {
        int s = testCase.s;
        Set<Integer> appeared = new HashSet<>();
        int count = 1;

        while (!appeared.contains(s)) {
            count++;
            appeared.add(s);

            boolean isOdd = (s % 2) != 0;
            if (isOdd) {
                s = handleOdd(s);
            } else {
                s = handleEven(s);
            }
        }
        return count;
    }

    private static int handleOdd(int s) {
        return 3 * s + 1;
    }

    private static int handleEven(int s) {
        return s / 2;
    }

    private static void output(int result) {
        System.out.println(result);
    }

    public static class TestCase {
        final int s;

        public TestCase(int s) {
            this.s = s;
        }
    }
}

/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz