N. Новое Бело-Черное дерево
ограничение по времени на тест
7 секунд
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Наоми узнала о Красно-Черных деревьях, теперь пришло время узнать о Бело-Черных деревьях. Она читает книгу по алгоритмам. Некоторые страницы содержат изображения деревьев, но грани деревьев выцветли со всех этих лет. Согласно тексту, каждая из этих граней должна быть либо белой, либо черной.

Наоми заметила, что у каждой вершины написаны два целых числа. Она предположила, что первое число - это количество белых граней, инцидентных вершине, а второе - количество черных граней, инцидентных вершине.

Наоми воссоздала все изображения. Сможете ли вы сделать то же самое?

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

Первая строка содержит целое число $$$t$$$ - количество изображений для воссоздания ($$$1 \le t \le 3 \cdot 10^5$$$).

Следующие строки описывают $$$t$$$ изображений. Каждое описание начинается со строки, содержащей целое число $$$n$$$ - количество вершин в дереве ($$$1 \le n \le 3 \cdot 10^5$$$).

$$$i$$$-я из следующих $$$n$$$ строк описания изображения содержит два целых числа $$$w_i$$$ и $$$b_i$$$ - два числа, написанные рядом с $$$i$$$-й вершиной дерева: количество белых и черных граней, инцидентных $$$i$$$-й вершине ($$$0 \le w_i, b_i \le n - 1$$$).

Гарантируется, что сумма $$$n$$$ по всем изображениям не превышает $$$3 \cdot 10^5$$$.

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

Выведите $$$t$$$ блоков вывода, $$$i$$$-й из которых должен содержать информацию о воссоздании $$$i$$$-го изображения.

В первой строке каждого блока выведите "No", если нет способа, и "Yes", если есть хотя бы один способ воссоздать изображение. Если есть способ воссоздать изображение дерева, выведите дополнительные $$$n - 1$$$ строк, каждая из которых содержит два целых числа и букву 'W' для белого или 'B' для черного: $$$v_i$$$, $$$u_i$$$ и $$$c_i$$$, определяющие грань между вершинами $$$v_i$$$ и $$$u_i$$$ цвета $$$c_i$$$ ($$$1 \le v_i, u_i \le n$$$; $$$c_i$$$ - это либо 'W', либо 'B').

Если есть несколько способов воссоздать изображение, вы можете вывести любой из них. Грани дерева могут быть выведены в любом порядке.

Пример
Входные данные
6
4
1 1
1 1
1 0
1 0
4
1 0
2 1
1 1
1 0
1
0 0
2
0 1
0 1
2
1 0
0 1
3
2 0
0 1
0 1
Выходные данные
Yes
1 4 W
2 3 W
2 1 B
No
Yes
Yes
2 1 B
No
No