codeeval 70,71,73,74; peuler 39,40,48