clz :: Integral a => a -> [a]
clz i | i == 1    = [1]
      | even i    = i:clz (div i 2)
      | otherwise = i:clz (3*i+1)
clz :: Integral a => a -> [a]
clz i | i == 1    = [1]
      | even i    = i:clz (div i 2)
      | otherwise = i:clz (3*i+1)
clz i | i == 1    = [1]
      | even i    = i:clz (div i 2)
      | otherwise = i:clz (3*i+1)