_ = (lambda _, __, ___:
(lambda _, __, ___, ____:
{_[___](____)[_(__)](_(___, ____)) for ___ in _}[_](__, _(___, __)))
(
(lambda _: _ % 2 and _ // 2 or _ * 5 + 1),
(lambda _: _ << 1),
2, 1
)
)[(lambda _, __: _ << __), 5, 2]<p>Guess what that is doing