#include <stdlib.h>
#include <stdio.h>

int main (int argc, char *argv[]) {
    int n = 100000;
    int *result = malloc((n+1) * sizeof(int));
    for (int i = 1; i <= n; i++) {
        result[i] = -1;
    }
    for (int i = 1; i <= n; i++) {
        int s = 0;
        for (long x = i; x != 1; s++) {
            if (x <= n && result[x] != -1) {
                s += result[x];
                break;
            }
            x = (x % 2 == 0) ? x / 2 : 3 * x + 1;
        }
        result[i] = s;
    }
    int max = 0;
    for (int i = 1; i <= n; i++) {
        if (max < result[i]) {
            max = result[i];
        }
    }
    printf("%d\n", max);
}