euler16 old//new. new is much shorter, but times are almost identical