У меня есть небольшое замечание по решению. Мне кажется, надо x искать не только с помощью u, но и с помощью v, и если результат совпадет, только в этот момент утверждать x в качестве ответа. Или доказать, почему искать x из v не надо. С другой стороны, все точки над i ставит проверка, но о ней надо упомянуть.