Yuezheng Ling дает Luo Tianyi дерево, которое имеет \(n\) вершин, с корнем \(1\).
Luo Tianyi скажет вам, что непосредственным родителем вершины \(i\) является \(a_i\) (\(1 \leq a_i<i\) для \(2 \le i \le n\)), и попросит вас выполнить \(q\) запросов \(2\) типов:
- Она даст вам три целых числа \(l\), \(r\) и \(x\) (\(2 \le l \le r \le n\), \(1 \le x \le 10^5\)). Вы должны заменить \(a_i\) на \(\max(a_i-x,1)\) для всех \(i\) с \(l \leq i \leq r\).
- Она даст вам два целых числа \(u\), \(v\) (\(1 \le u, v \le n\)). Вы должны найти LCA вершин \(u\) и \(v\) (их наименьший общий предок).
Выходные данные
На каждый запрос второго типа выведите ответ в новой строке.
Примечание
Дерево в примере показано ниже.
После запроса первого типа дерево становится таким, как показано ниже.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
6 4 1 2 3 3 4 2 3 4 1 2 3 1 2 5 6 2 2 3
|
3
3
1
|