1. Дерево бонсай

Не решаласьСложная

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

Бонсай Всеволода - подвешенное двоичное дерево, каждая вершина которого является листом или имеет ровно два потомка. Корень дерева имеет номер 1, а все оставшиеся вершины пронумерованы числами от 22 до NN. В каждом листе изначально записано число 1. Интересностью вершины назовем наибольший общий делитель чисел, записанных в листах, лежащих в поддереве заданной вершины. Требуется отвечать на запросы следующих видов:

  1. Умножить число, записанное в вершине vv на xx, гарантируется, что vv - лист;
  2. Вывести интересность вершины vv по модулю 109+710^9+7.

Формат ввода

В первой строке входных данных содержатся числа NN и QQ (1N,Q31051 \le N,Q \leq 3 \cdot 10^5) - размер дерева и количество запросов, соответственно.

В следующей строке записано N1N-1 число pip_i - номера предков вершин с номерами 2,3,,N2,3, \ldots , N соответственно (1piN1 \le p_i \le N).

Далее в MM строках описаны запросы, отвечать на которые требуется последовательно, каждый запрос относится к одному из двух типов:

  • 1 v x - значит, что число в листе с номером vv умножить на xx (1vN1 \leq v \leq N, 1x1061 \leq x \leq 10^6).
  • 2 v - означает, что надо вывести интересность вершины с номером vv по модулю 109+710^9+7 (1vN1 \leq v \leq N).

Формат вывода

Для каждого запроса типа 22 в отдельной строке выведите интересность сооответствующей вершины по модулю 109+710^9+7.

Ограничения

Ограничение времени

2 с

Ограничение памяти

512 МБ

Пример 1

Ввод
3 10
1 1
1 2 13
1 3 44340
1 3 22553
2 1
2 2
2 3
1 2 2
2 1
2 2
2 3
Вывод
1
13
13
2
26
13

Теги

Нужно войти, чтобы отправить решение.Войти