Source: http://www.cs.ucr.edu/~acald013/public/tmp/sol_dmaia_rosen.pdf