Решение 2-ой задачи из http://habrahabr.ru/post/178157/