eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Большое задание

Большое задание

В этот раз Фуфелшмерц задумал такую большую пакость, что Перри не справится с ним в одиночку. Поэтому, он решил позвать своих коллег спецагентов из О.Б.К.А.

В офисе О.Б.К.А. есть n кабинетов, которые соединены n - 1 коридором. Из любого кабинета можно добраться по коридорам до любого другого. Иными словами, офис О.Б.К.А. представляет из себя дерево, вершины которого соответствуют кабинетам, а ребра коридорам. В каждом кабинете сидит ровно один спецагент, в кабинете номер v сидит спецагент, обладающий навыком cv. Всего есть m различных навыков, пронумерованных от 1 до m.

Перри хочет выбрать такой отряд спецагентов, что для каждого из m навыков в этом отряде будет хотя бы один спецагент с таким навыком. А также, если Перри возьмет в отряд спецагентов из кабинетов v и u, он также обязательно возьмет в отряд всех спецагентов, которые сидят в кабинетах, расположенных на простом пути между u и v.

Помогите Перри вычислить количество способов, которыми он может выбрать отряд на задание. Так как это число может быть большим, выведите остаток от деления этого числа на 998 244 353.

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

В первой строке даны два целых числа n и m (1n104, 1m10) - количество кабинетов и количество различных навыков.

В следующей строке даны n целых чисел ci (1cim) - навыки спецагентов.

В следующих n - 1 строках даны по два целых числа ai и bi (1ai, bin) - номера кабинетов, соединенных i-м коридором.

Гарантируется, что офис О.Б.К.А. представляет из себя дерево.

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

Выведите одно целое число количество способов выбрать отряд спецагентов по модулю 998 244 353.

Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
3 3
1 2 3
1 2
2 3
Вихідні дані #1
1
Вхідні дані #2
4 2
1 2 2 2
1 2
1 3
1 4
Вихідні дані #2
7
Вхідні дані #3
6 3
1 2 3 1 2 3
1 2
2 3
2 4
4 5
4 6
Вихідні дані #3
14
Джерело 2020 Цикл Интернет-олимпиад для школьников, третья командная олимпиада, базовая номинация, 7 ноября, Задача G