project euler.com problem # 102