# 콜라츠 추측

def solution(num):
    answer = 0
    while num != 1:
        if num % 2 == 0:
            num //= 2
        else:
            num = (num * 3) + 1
        answer += 1
        if answer == 500:
            answer = -1
            break
    return answer

'''
테스트 1 〉	통과 (0.02ms, 10.1MB)
테스트 2 〉	통과 (0.04ms, 10.1MB)
테스트 3 〉	통과 (0.03ms, 10.2MB)
테스트 4 〉	통과 (0.02ms, 10.1MB)
테스트 5 〉	통과 (0.09ms, 10.2MB)
테스트 6 〉	통과 (0.02ms, 10.2MB)
테스트 7 〉	통과 (0.09ms, 10.3MB)
테스트 8 〉	통과 (0.02ms, 10.2MB)
테스트 9 〉	통과 (0.01ms, 10.2MB)
테스트 10 〉	통과 (0.10ms, 10.3MB)
테스트 11 〉	통과 (0.09ms, 10.2MB)
테스트 12 〉	통과 (0.01ms, 10.2MB)
테스트 13 〉	통과 (0.00ms, 10.3MB)
테스트 14 〉	통과 (0.02ms, 10.1MB)
테스트 15 〉	통과 (0.02ms, 10.2MB)
테스트 16 〉	통과 (0.02ms, 10.1MB)
'''
# 콜라츠 추측

def solution(num):
    answer = 0
    while num != 1:
        if num % 2 == 0:
            num //= 2
        else:
            num = (num * 3) + 1
        answer += 1
        if answer == 500:
            answer = -1
            break
    return answer

'''
테스트 1 〉	통과 (0.02ms, 10.1MB)
테스트 2 〉	통과 (0.04ms, 10.1MB)
테스트 3 〉	통과 (0.03ms, 10.2MB)
테스트 4 〉	통과 (0.02ms, 10.1MB)
테스트 5 〉	통과 (0.09ms, 10.2MB)
테스트 6 〉	통과 (0.02ms, 10.2MB)
테스트 7 〉	통과 (0.09ms, 10.3MB)
테스트 8 〉	통과 (0.02ms, 10.2MB)
테스트 9 〉	통과 (0.01ms, 10.2MB)
테스트 10 〉	통과 (0.10ms, 10.3MB)
테스트 11 〉	통과 (0.09ms, 10.2MB)
테스트 12 〉	통과 (0.01ms, 10.2MB)
테스트 13 〉	통과 (0.00ms, 10.3MB)
테스트 14 〉	통과 (0.02ms, 10.1MB)
테스트 15 〉	통과 (0.02ms, 10.2MB)
테스트 16 〉	통과 (0.02ms, 10.1MB)
'''
# 콜라츠 추측 테스트 1 〉	통과 (0.02ms, 10.1MB) 테스트 2 〉	통과 (0.04ms, 10.1MB) 테스트 3 〉	통과 (0.03ms, 10.2MB) 테스트 4 〉	통과 (0.02ms, 10.1MB) 테스트 5 〉	통과 (0.09ms, 10.2MB) 테스트 6 〉	통과 (0.02ms, 10.2MB) 테스트 7 〉	통과 (0.09ms, 10.3MB) 테스트 8 〉	통과 (0.02ms, 10.2MB) 테스트 9 〉	통과 (0.01ms, 10.2MB) 테스트 10 〉	통과 (0.10ms, 10.3MB) 테스트 11 〉	통과 (0.09ms, 10.2MB) 테스트 12 〉	통과 (0.01ms, 10.2MB) 테스트 13 〉	통과 (0.00ms, 10.3MB) 테스트 14 〉	통과 (0.02ms, 10.1MB) 테스트 15 〉	통과 (0.02ms, 10.2MB) 테스트 16 〉	통과 (0.02ms, 10.1MB)