euler project. no cheating.