4 Language Challenge: Learning C, C++, Haskell, and Python, one Euler problem at a time