eolymp
bolt
Try our new interface for solving problems
Məsələlər

Снежная корова Бесси

Снежная корова Бесси

На ферму пришел снег, и Бесси, как обычно в начале каждой зимы, строит снежную корову! Большую часть времени Бесси стремится сделать свою скульптуру максимально похожей на настоящую корову. Однако в этом году, чувствуя художественное вдохновение, она решает пойти по более абстрактному пути и построить скульптуру в форме дерева, состоящую из n снежков, соединенных n - 1 ветвями. Каждая ветвь соединяет пару снежков. Между каждой парой снежков существует уникальный путь.

Бесси добавила нос к одному из снежков, так что он представляет собой голову абстрактной снежной коровы. Этот снежный ком она обозначила номер 1. Чтобы добавить больше визуального интереса, она планирует художественно покрасить некоторые снежки в разные цвета, наполнив старые молочные ведра цветным красителем и брызнув им на скульптуру. Цвета обозначаются целыми числами в диапазоне от 1 до 105, и у Бесси есть неограниченный запас ведер, заполненных красителями всех возможных цветов.

Когда Бесси брызгает на снежок ведром с краской, все снежки в его поддереве также заливаются этой же краской (снежок y находится в поддереве снежка x, если x лежит на пути от у к главному снежному кому). Разбрызгивая каждый цвет с большой осторожностью, Бесси следит за тем, чтобы все цвета, которыми был разбрызган снежный ком, остались видимыми. Например, если снежок имел цвета [1, 2, 3], а Бесси залила его цветом 4, то снежок будет иметь цвета [1, 2, 3, 4].

После того, как Бесси несколько раз обрызгает снежки, она может захотеть узнать, насколько красочна часть ее снежной коровы. "Красочность" снежного кома x равна количеству таких различных цветов c, которыми он окрашен. Если Бесси спросит вас о снежном коме x, Вы должны ответить, указав сумму значений красочности всех снежков в поддереве x.

Помогите Бесси найти красочность ее снежной коровы в определенные моменты времени.

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

Первая строка содержит число n (1n105) и количество запросов q (1q105). Каждая из следующих n - 1 строк содержит по два целых числа a и b, описывающих ветвь, соединяющую снежки a и b (1a, bn).

Наконец, каждая из последующих q строк содержит запрос. Запрос вида

1 x c

указывает, что Бесси пролила ведро сока цвета c на снежок x, раскрасив все снежки в поддереве x. Строка вида

2 x

означает запрос суммы значений красочности всех снежков в поддереве x. Конечно, 1xn и 1c105.

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

Для каждого запроса типа 2 выведите сумму значений красочности в соответствующем поддереве. Обратите внимание, что Вы должны использовать 64-битные целые числа для избежания переполнения.

Пример

После первого запроса типа 1 снежный ком 4 окрашивается в цвет 1.

После второго запроса типа 1 снежки 4 и 5 окрашиваются в цвет 1.

После третьего запроса типа 1 все снежки окрашиваются в цвет 1.

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 128 MiB
Giriş verilənləri #1
5 18
1 2
1 3
3 4
3 5
1 4 1
2 1
2 2
2 3
2 4
2 5
1 5 1
2 1
2 2
2 3
2 4
2 5
1 1 1
2 1
2 2
2 3
2 4
2 5
Çıxış verilənləri #1
1
0
1
1
0
2
0
2
1
1
5
1
3
1
1
Mənbə 2019 USACO Декабрь Платина