http://www.spoj.com/    answers