The very best algorithm
wwww.drunkcoders.wordpress.com