E. Earth Wind and Fire
ограничение по времени на тест
4 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

На числовой прямой расположены $$$n$$$ камней. Изначально $$$i$$$-й камень находится в точке с координатой $$$s_i$$$. В одной точке может находиться более одного камня одновременно.

Вы можете выполнить ноль или более операций следующего вида:

  • взять два камня с индексами $$$i$$$ и $$$j$$$ такими, что $$$s_i \leq s_j$$$, выбрать целое число $$$d$$$ ($$$0 \leq 2 \cdot d \leq s_j - s_i$$$) и заменить координату $$$s_i$$$ на $$$(s_i + d)$$$, а координату $$$s_j$$$ на $$$(s_j - d)$$$. Другими словами, подвинуть камни друг к другу.

Вы хотите подвинуть камни так, чтобы они находились в позициях $$$t_1, t_2, \ldots, t_n$$$. Порядок камней не важен — требуется лишь, чтобы мультимножество координат камней в конце совпадало с мультимножеством, состоящим из $$$t_1, t_2, \ldots, t_n$$$.

Выясните, возможно ли сдвинуть камни требуемым образом, и если да, то найдите способ это сделать. Минимизировать число операций не нужно.

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

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

Вторая строка содержит целые числа $$$s_1, s_2, \ldots, s_n$$$ ($$$1 \le s_i \le 10^9$$$) — изначальные позиции камней.

Третья строка содержит целые числа $$$t_1, t_2, \ldots, t_n$$$ ($$$1 \le t_i \le 10^9$$$) — требуемые позиции камней.

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

В случае, если невозможно подвинуть камни требуемым образом, выведите «NO».

Иначе на первой строке выведите «YES», на второй строке выведите количество операций $$$m$$$ ($$$0 \le m \le 5 \cdot n$$$), которое нужно сделать. Вам не нужно минимизировать число операций.

Затем выведите $$$m$$$ строк, каждая из которых содержит три целых числа $$$i, j, d$$$ ($$$1 \le i, j \le n$$$, $$$s_i \le s_j$$$, $$$0 \leq 2 \cdot d \leq s_j - s_i$$$), обозначающие операцию, которую нужно сделать.

Можно показать, что если какой-то ответ существует, то существует и ответ, использующий не более чем $$$5 \cdot n$$$ операций.

Примеры
Входные данные
5
2 2 7 4 9
5 4 5 5 5
Выходные данные
YES
4
4 3 1
2 3 1
2 5 2
1 5 2
Входные данные
3
1 5 10
3 5 7
Выходные данные
NO
Примечание

Рассмотрим первый пример.

  • После первой операции позиции камней равны $$$[2, 2, 6, 5, 9]$$$.
  • После второй операции позиции камней равны $$$[2, 3, 5, 5, 9]$$$.
  • После третьей операции позиции камней равны $$$[2, 5, 5, 5, 7]$$$.
  • После последней операции позиции камней равны $$$[4, 5, 5, 5, 5]$$$.