import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int s = sc.nextInt();

		int cnt =0;
		Map<Integer,Integer> map = new HashMap<>();

		int n = s;
		map.put(0, s);
		for (int i = 1; i < 1000000; i++) {

			if (n%2 == 0) {
				n = n/2;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			} else {
				n = 3*n +1;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			}
		}

		System.out.println(cnt);

	}

} import java.util.HashMap; HashMap java.util import java.util.Map; Map java.util import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int s = sc.nextInt();

		int cnt =0;
		Map<Integer,Integer> map = new HashMap<>();

		int n = s;
		map.put(0, s);
		for (int i = 1; i < 1000000; i++) {

			if (n%2 == 0) {
				n = n/2;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			} else {
				n = 3*n +1;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			}
		}

		System.out.println(cnt);

	}

} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int s = sc.nextInt();

		int cnt =0;
		Map<Integer,Integer> map = new HashMap<>();

		int n = s;
		map.put(0, s);
		for (int i = 1; i < 1000000; i++) {

			if (n%2 == 0) {
				n = n/2;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			} else {
				n = 3*n +1;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			}
		}

		System.out.println(cnt);

	} main {
		Scanner sc = new Scanner(System.in);
		int s = sc.nextInt();

		int cnt =0;
		Map<Integer,Integer> map = new HashMap<>();

		int n = s;
		map.put(0, s);
		for (int i = 1; i < 1000000; i++) {

			if (n%2 == 0) {
				n = n/2;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			} else {
				n = 3*n +1;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			}
		}

		System.out.println(cnt);

	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int s = sc.nextInt(); s sc.nextInt() sc.nextInt sc int cnt =0; cnt 0 Map<Integer,Integer> map = new HashMap<>(); map new HashMap<>() int n = s; n s map.put(0, s) map.put map 0 s for (int i = 1; i < 1000000; i++) {

			if (n%2 == 0) {
				n = n/2;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			} else {
				n = 3*n +1;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			}
		} int i = 1; int i = 1; i 1 i < 1000000 i 1000000 i++ i++ i {

			if (n%2 == 0) {
				n = n/2;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			} else {
				n = 3*n +1;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			}
		} {

			if (n%2 == 0) {
				n = n/2;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			} else {
				n = 3*n +1;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			}
		} if (n%2 == 0) {
				n = n/2;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			} else {
				n = 3*n +1;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			} n%2 == 0 n%2 n 2 0 {
				n = n/2;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			} n = n/2 n n/2 n 2 if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				} map.containsValue(n) map.containsValue map n {
					cnt = map.size()+1;
					break;
				} cnt = map.size()+1 cnt map.size()+1 map.size() map.size map 1 break; map.put(i, n) map.put map i n {
				n = 3*n +1;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			} n = 3*n +1 n 3*n +1 3*n 3 n 1 if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				} map.containsValue(n) map.containsValue map n {
					cnt = map.size()+1;
					break;
				} cnt = map.size()+1 cnt map.size()+1 map.size() map.size map 1 break; map.put(i, n) map.put map i n System.out.println(cnt) System.out.println System.out System System.out cnt String[] args args public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int s = sc.nextInt();

		int cnt =0;
		Map<Integer,Integer> map = new HashMap<>();

		int n = s;
		map.put(0, s);
		for (int i = 1; i < 1000000; i++) {

			if (n%2 == 0) {
				n = n/2;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			} else {
				n = 3*n +1;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			}
		}

		System.out.println(cnt);

	}

} public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int s = sc.nextInt();

		int cnt =0;
		Map<Integer,Integer> map = new HashMap<>();

		int n = s;
		map.put(0, s);
		for (int i = 1; i < 1000000; i++) {

			if (n%2 == 0) {
				n = n/2;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			} else {
				n = 3*n +1;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			}
		}

		System.out.println(cnt);

	}

} Main
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int s = sc.nextInt();

		int cnt =0;
		Map<Integer,Integer> map = new HashMap<>();

		int n = s;
		map.put(0, s);
		for (int i = 1; i < 1000000; i++) {

			if (n%2 == 0) {
				n = n/2;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			} else {
				n = 3*n +1;
				if (map.containsValue(n)){
					cnt = map.size()+1;
					break;
				}
				map.put(i, n);
			}
		}

		System.out.println(cnt);

	}

}
