B. Сбор посылок
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

На складе есть робот и $$$n$$$ посылок, которые он хочет собрать. Склад можно представить в виде координатной сетки. Изначально робот находится в точке $$$(0, 0)$$$. $$$i$$$-я посылка находится в точке $$$(x_i, y_i)$$$. Гарантируется, что в одной точке не могут находиться две посылки. Также гарантируется, что в точке $$$(0, 0)$$$ посылки нет.

Робот наполовину сломан и может передвигаться только вверх ('U') и вправо ('R'). Другими словами, за один шаг робот может переместиться из точки $$$(x, y)$$$ в точку ($$$x + 1, y$$$) или в точку $$$(x, y + 1)$$$. Как сказано выше, робот хочет собрать все $$$n$$$ посылок (в любом порядке). Он хочет сделать это за минимально возможное число шагов. Если существует несколько подходящих последовательностей шагов, робот хочет выбрать лексикографически минимальный путь.

Строка $$$s$$$ длины $$$n$$$ лексикографически меньше, чем строка $$$t$$$ длины $$$n$$$ если существует такой индекс $$$1 \le j \le n$$$, что для всех $$$i$$$ от $$$1$$$ до $$$j-1$$$ $$$s_i = t_i$$$ и $$$s_j < t_j$$$. Это обычное сравнение строк, например, в словаре строки расположены в лексикографическом порядке. Большинство языков программирования сравнивают строки именно так.

Входные данные

Первая строка входных данных содержит одно целое число $$$t$$$ ($$$1 \le t \le 100$$$) — количество наборов входных данных.

Первая строка каждого набора входных данных содержит одно целое число $$$n$$$ ($$$1 \le n \le 1000$$$) — количество посылок на складе.

Следующие $$$n$$$ строк содержат описания посылок. $$$i$$$-я посылка задана в виде двух целых чисел $$$x_i$$$ и $$$y_i$$$ ($$$0 \le x_i, y_i \le 1000$$$) — $$$x$$$-координаты посылки и $$$y$$$-координаты посылки.

Гарантируется, что в каждой точке находится не более одной посылки. Также гарантируется, что в точке $$$(0, 0)$$$ посылки нет.

Сумма $$$n$$$ по всем наборам входных данных в тесте не превосходит $$$1000$$$.

Выходные данные

Для каждого набора входных данных выведите ответ.

Если невозможно собрать все $$$n$$$ посылок в каком-либо порядке, стартуя из точки ($$$0,0$$$), выведите «NO» первой строкой.

Иначе выведите «YES» первой строкой. Затем выведите кратчайший путь (строку), состоящий из символов 'R' и 'U'. Среди всех таких путей нужно выбрать лексикографически минимальный.

Заметьте, что в этой задаче «YES» и «NO» могут быть выведены только в верхнем регистре, то есть «Yes», «no» и «YeS» не принимаются.

Пример
Входные данные
3
5
1 3
1 2
3 3
5 5
4 3
2
1 0
0 1
1
4 3
Выходные данные
YES
RUUURRRRUU
NO
YES
RRRRUUU
Примечание

Для первого набора данных из указанного примера оптимальный путь RUUURRRRUU выглядит следующим образом: