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

아직 제출이 없습니다시간 제한2초메모리 제한1024 MB

문제

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

В офисе О.Б.К.А. есть nn кабинетов, которые соединены n1n - 1 коридором. Из любого кабинета можно добраться по коридорам до любого другого. Иными словами, офис О.Б.К.А. представляет из себя дерево, вершины которого соответствуют кабинетам, а ребра --- коридорам. В каждом кабинете сидит ровно один спецагент, в кабинете номер vv сидит спецагент, обладающий навыком c_vc\_v. Всего есть mm различных навыков, пронумерованных от 11 до mm.

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

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

입력

В первой строке даны два целых числа nn и mm --- количество кабинетов и количество различных навыков (1n10,0001 \le n \le 10\\,000, 1m101 \le m \le 10).

В следующей строке даны nn целых чисел c_ic\_i --- навыки спецагентов (1c_im1 \le c\_i \le m).

В следующих n1n - 1 строках даны по два целых числа a_ia\_i и b_ib\_i --- номера кабинетов, соединенных ii-м коридором (1a_i,b_in1 \le a\_i, b\_i \le n).

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

출력

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