#!/bin/bash
# 標準入力に対して目的の数列を求めるプログラム
# ルールにしたがって次の項を生成(多分ここもif文で生成する)
# 生成した項をこれまで生成した項(配列)と比較forとif文でかけそうやな
# 一致するものがなければ、その項を配列に追加する

#初項の入力と配列の生成
read S
array=($S)
COUNT=1
FIN=0

while :
do
 if [ $(( $S % 2 )) = 1 ]; then
  S=$(( 3 * $S + 1  ))
  COUNT=$(($COUNT + 1))
 else
  S=$(( $S / 2 ))
  COUNT=$((COUNT + 1))
 fi

# 新たに追加された要素(末尾の要素)がすでに配列の中身と同じなら、その数字を出力してbreak
# 新たに追加された要素と同じものがなければ、$Sを再利用して再度実行

 for i in ${array[@]}
 do
 if [ $S -eq $i ]; then
 FIN=1
 break
 fi
 done
 
 array=("${array[@]}" $S)

 if [ $FIN = 1 ]; then
 echo $COUNT
 break
 fi

done
