http://democrator.ru/problem/10568