import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
 


public class Main {
	static int a1[]= {0,-1,0,1};
	static int b1[]= {-1,0,1,0};
	private static Scanner sc = new Scanner(System.in);
	//result = Math.pow(num1, num3)
	//StringBuffer str = new StringBuffer(hoge1);
	//String hoge2 = str.reverse().toString();
	//map.containsKey(A)

	//Map<String, Integer> map = new HashMap<String, Integer>(n);
	/*for ( キーのデータ型 key : マップの名前.keySet() ) {
		データのデータ型 data = マップの名前.get( key );
		
		// keyやdataを使った処理;
	}*/
	//int i = Integer.parseInt(s);
	//Queue<String> qq=new ArrayDeque<>(); //add,poll,peek
	//Deque<String> qq=new ArrayDeque<>();//push,pop,peek
	//ArrayList<String> cc = new ArrayList<>(n);
	//Collections.sort(list);
	//Array.sort(list);
	//Arrays.asList(c).contains("a")
	//list.set(1,"walk");
	public static void main(String[] args) {
		int s=sc.nextInt();
		ArrayList<Integer> cc = new ArrayList<>();
		cc.add(s);
		int tmp;
		for(int i=1;true;i++) {
			if(cc.get(i-1)%2==0)tmp=cc.get(i-1)/2;
			else tmp=cc.get(i-1)*3+1;
			if(cc.contains(tmp)) {
				p(i+1);
				break;
			}else {
				cc.add(tmp);
			}
			
		}
	}
	static void p(String ans) {System.out.println(ans);};
	static void p(int ans) {System.out.println(ans);};
	static void p() {System.out.println();};
	static void p(long ans) {System.out.println(ans);};
	static void p(double ans) {System.out.println(ans);};
}
	 import java.util.ArrayList; ArrayList java.util import java.util.Collections; Collections java.util import java.util.Scanner; Scanner java.util public class Main {
	static int a1[]= {0,-1,0,1};
	static int b1[]= {-1,0,1,0};
	private static Scanner sc = new Scanner(System.in);
	//result = Math.pow(num1, num3)
	//StringBuffer str = new StringBuffer(hoge1);
	//String hoge2 = str.reverse().toString();
	//map.containsKey(A)

	//Map<String, Integer> map = new HashMap<String, Integer>(n);
	/*for ( キーのデータ型 key : マップの名前.keySet() ) {
		データのデータ型 data = マップの名前.get( key );
		
		// keyやdataを使った処理;
	}*/
	//int i = Integer.parseInt(s);
	//Queue<String> qq=new ArrayDeque<>(); //add,poll,peek
	//Deque<String> qq=new ArrayDeque<>();//push,pop,peek
	//ArrayList<String> cc = new ArrayList<>(n);
	//Collections.sort(list);
	//Array.sort(list);
	//Arrays.asList(c).contains("a")
	//list.set(1,"walk");
	public static void main(String[] args) {
		int s=sc.nextInt();
		ArrayList<Integer> cc = new ArrayList<>();
		cc.add(s);
		int tmp;
		for(int i=1;true;i++) {
			if(cc.get(i-1)%2==0)tmp=cc.get(i-1)/2;
			else tmp=cc.get(i-1)*3+1;
			if(cc.contains(tmp)) {
				p(i+1);
				break;
			}else {
				cc.add(tmp);
			}
			
		}
	}
	static void p(String ans) {System.out.println(ans);};
	static void p(int ans) {System.out.println(ans);};
	static void p() {System.out.println();};
	static void p(long ans) {System.out.println(ans);};
	static void p(double ans) {System.out.println(ans);};
} Main static int a1[]= {0,-1,0,1}; a1 {0,-1,0,1} 0 -1 1 0 1 static int b1[]= {-1,0,1,0}; b1 {-1,0,1,0} -1 1 0 1 0 private static Scanner sc = new Scanner(System.in); sc new Scanner(System.in) //Map<String, Integer> map = new HashMap<String, Integer>(n);
	/*for ( キーのデータ型 key : マップの名前.keySet() ) {
		データのデータ型 data = マップの名前.get( key );
		
		// keyやdataを使った処理;
	}*/
	//int i = Integer.parseInt(s);
	//Queue<String> qq=new ArrayDeque<>(); //add,poll,peek
	//Deque<String> qq=new ArrayDeque<>();//push,pop,peek
	//ArrayList<String> cc = new ArrayList<>(n);
	//Collections.sort(list);
	//Array.sort(list);
	//Arrays.asList(c).contains("a")
	//list.set(1,"walk");
	public static void main(String[] args) {
		int s=sc.nextInt();
		ArrayList<Integer> cc = new ArrayList<>();
		cc.add(s);
		int tmp;
		for(int i=1;true;i++) {
			if(cc.get(i-1)%2==0)tmp=cc.get(i-1)/2;
			else tmp=cc.get(i-1)*3+1;
			if(cc.contains(tmp)) {
				p(i+1);
				break;
			}else {
				cc.add(tmp);
			}
			
		}
	} main {
		int s=sc.nextInt();
		ArrayList<Integer> cc = new ArrayList<>();
		cc.add(s);
		int tmp;
		for(int i=1;true;i++) {
			if(cc.get(i-1)%2==0)tmp=cc.get(i-1)/2;
			else tmp=cc.get(i-1)*3+1;
			if(cc.contains(tmp)) {
				p(i+1);
				break;
			}else {
				cc.add(tmp);
			}
			
		}
	} int s=sc.nextInt(); s sc.nextInt() sc.nextInt sc ArrayList<Integer> cc = new ArrayList<>(); cc new ArrayList<>() cc.add(s) cc.add cc s int tmp; tmp for(int i=1;true;i++) {
			if(cc.get(i-1)%2==0)tmp=cc.get(i-1)/2;
			else tmp=cc.get(i-1)*3+1;
			if(cc.contains(tmp)) {
				p(i+1);
				break;
			}else {
				cc.add(tmp);
			}
			
		} int i=1; int i=1; i 1 true i++ i++ i {
			if(cc.get(i-1)%2==0)tmp=cc.get(i-1)/2;
			else tmp=cc.get(i-1)*3+1;
			if(cc.contains(tmp)) {
				p(i+1);
				break;
			}else {
				cc.add(tmp);
			}
			
		} {
			if(cc.get(i-1)%2==0)tmp=cc.get(i-1)/2;
			else tmp=cc.get(i-1)*3+1;
			if(cc.contains(tmp)) {
				p(i+1);
				break;
			}else {
				cc.add(tmp);
			}
			
		} if(cc.get(i-1)%2==0)tmp=cc.get(i-1)/2;
			else tmp=cc.get(i-1)*3+1; cc.get(i-1)%2==0 cc.get(i-1)%2 cc.get(i-1) cc.get cc i-1 i 1 2 0 tmp=cc.get(i-1)/2 tmp cc.get(i-1)/2 cc.get(i-1) cc.get cc i-1 i 1 2 tmp=cc.get(i-1)*3+1 tmp cc.get(i-1)*3+1 cc.get(i-1)*3 cc.get(i-1) cc.get cc i-1 i 1 3 1 if(cc.contains(tmp)) {
				p(i+1);
				break;
			}else {
				cc.add(tmp);
			} cc.contains(tmp) cc.contains cc tmp {
				p(i+1);
				break;
			} p(i+1) p i+1 i 1 break; {
				cc.add(tmp);
			} cc.add(tmp) cc.add cc tmp String[] args args static void p(String ans) {System.out.println(ans);} p {System.out.println(ans);} System.out.println(ans) System.out.println System.out System System.out ans String ans ans static void p(int ans) {System.out.println(ans);} p {System.out.println(ans);} System.out.println(ans) System.out.println System.out System System.out ans int ans ans static void p() {System.out.println();} p {System.out.println();} System.out.println() System.out.println System.out System System.out static void p(long ans) {System.out.println(ans);} p {System.out.println(ans);} System.out.println(ans) System.out.println System.out System System.out ans long ans ans static void p(double ans) {System.out.println(ans);} p {System.out.println(ans);} System.out.println(ans) System.out.println System.out System System.out ans double ans ans public class Main {
	static int a1[]= {0,-1,0,1};
	static int b1[]= {-1,0,1,0};
	private static Scanner sc = new Scanner(System.in);
	//result = Math.pow(num1, num3)
	//StringBuffer str = new StringBuffer(hoge1);
	//String hoge2 = str.reverse().toString();
	//map.containsKey(A)

	//Map<String, Integer> map = new HashMap<String, Integer>(n);
	/*for ( キーのデータ型 key : マップの名前.keySet() ) {
		データのデータ型 data = マップの名前.get( key );
		
		// keyやdataを使った処理;
	}*/
	//int i = Integer.parseInt(s);
	//Queue<String> qq=new ArrayDeque<>(); //add,poll,peek
	//Deque<String> qq=new ArrayDeque<>();//push,pop,peek
	//ArrayList<String> cc = new ArrayList<>(n);
	//Collections.sort(list);
	//Array.sort(list);
	//Arrays.asList(c).contains("a")
	//list.set(1,"walk");
	public static void main(String[] args) {
		int s=sc.nextInt();
		ArrayList<Integer> cc = new ArrayList<>();
		cc.add(s);
		int tmp;
		for(int i=1;true;i++) {
			if(cc.get(i-1)%2==0)tmp=cc.get(i-1)/2;
			else tmp=cc.get(i-1)*3+1;
			if(cc.contains(tmp)) {
				p(i+1);
				break;
			}else {
				cc.add(tmp);
			}
			
		}
	}
	static void p(String ans) {System.out.println(ans);};
	static void p(int ans) {System.out.println(ans);};
	static void p() {System.out.println();};
	static void p(long ans) {System.out.println(ans);};
	static void p(double ans) {System.out.println(ans);};
} public class Main {
	static int a1[]= {0,-1,0,1};
	static int b1[]= {-1,0,1,0};
	private static Scanner sc = new Scanner(System.in);
	//result = Math.pow(num1, num3)
	//StringBuffer str = new StringBuffer(hoge1);
	//String hoge2 = str.reverse().toString();
	//map.containsKey(A)

	//Map<String, Integer> map = new HashMap<String, Integer>(n);
	/*for ( キーのデータ型 key : マップの名前.keySet() ) {
		データのデータ型 data = マップの名前.get( key );
		
		// keyやdataを使った処理;
	}*/
	//int i = Integer.parseInt(s);
	//Queue<String> qq=new ArrayDeque<>(); //add,poll,peek
	//Deque<String> qq=new ArrayDeque<>();//push,pop,peek
	//ArrayList<String> cc = new ArrayList<>(n);
	//Collections.sort(list);
	//Array.sort(list);
	//Arrays.asList(c).contains("a")
	//list.set(1,"walk");
	public static void main(String[] args) {
		int s=sc.nextInt();
		ArrayList<Integer> cc = new ArrayList<>();
		cc.add(s);
		int tmp;
		for(int i=1;true;i++) {
			if(cc.get(i-1)%2==0)tmp=cc.get(i-1)/2;
			else tmp=cc.get(i-1)*3+1;
			if(cc.contains(tmp)) {
				p(i+1);
				break;
			}else {
				cc.add(tmp);
			}
			
		}
	}
	static void p(String ans) {System.out.println(ans);};
	static void p(int ans) {System.out.println(ans);};
	static void p() {System.out.println();};
	static void p(long ans) {System.out.println(ans);};
	static void p(double ans) {System.out.println(ans);};
} Main
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
 


public class Main {
	static int a1[]= {0,-1,0,1};
	static int b1[]= {-1,0,1,0};
	private static Scanner sc = new Scanner(System.in);
	//result = Math.pow(num1, num3)
	//StringBuffer str = new StringBuffer(hoge1);
	//String hoge2 = str.reverse().toString();
	//map.containsKey(A)

	//Map<String, Integer> map = new HashMap<String, Integer>(n);
	/*for ( キーのデータ型 key : マップの名前.keySet() ) {
		データのデータ型 data = マップの名前.get( key );
		
		// keyやdataを使った処理;
	}*/
	//int i = Integer.parseInt(s);
	//Queue<String> qq=new ArrayDeque<>(); //add,poll,peek
	//Deque<String> qq=new ArrayDeque<>();//push,pop,peek
	//ArrayList<String> cc = new ArrayList<>(n);
	//Collections.sort(list);
	//Array.sort(list);
	//Arrays.asList(c).contains("a")
	//list.set(1,"walk");
	public static void main(String[] args) {
		int s=sc.nextInt();
		ArrayList<Integer> cc = new ArrayList<>();
		cc.add(s);
		int tmp;
		for(int i=1;true;i++) {
			if(cc.get(i-1)%2==0)tmp=cc.get(i-1)/2;
			else tmp=cc.get(i-1)*3+1;
			if(cc.contains(tmp)) {
				p(i+1);
				break;
			}else {
				cc.add(tmp);
			}
			
		}
	}
	static void p(String ans) {System.out.println(ans);};
	static void p(int ans) {System.out.println(ans);};
	static void p() {System.out.println();};
	static void p(long ans) {System.out.println(ans);};
	static void p(double ans) {System.out.println(ans);};
}
	