Hide

Problem C
Пути

Languages de en et is ja lt lv no pl ru sv

Граф – это структура, состоящая из множества вершин, и множества ребер. Каждое ребро соединяет две вершины. На иллюстрации ниже показан пример графа с $4$ вершинами и $3$ ребрами.

Путь в графе – это последовательность из $2$ или более вершин, соединённых последовательно рёбрами. Обратите внимание, что порядок вершин играет роль. Например, “5-6-7”, “5-7-6” и “7-6-5” – это разные пути.

В данной задаче каждая вершина графа раскрашена в один из $K$ цветов. Задача состоит в том, чтобы найти количество возможных путей, в которых никакие две вершины не имеют один и тот же цвет.

Ввод

На первой строке даны три целых числа: $N$ (число вершин), $M$ (число рёбер), и $K$ (число различных цветов).

На второй строке даны $N$ целых чисел между $1$ и $K$ – цвета каждой вершины (начиная с $1$ до $N$).

Каждая из следующих $M$ строк описывает одно ребро, и содержит два целых числа $a, b$ ($1 \le a, b \le N, a \neq b$) – две вершины, соединённых соответствующим ребром. Две вершины не могут быть соединены более чем одним ребром.

Вывод

Выведите одно целое число – количество различных путей, все вершины которых имеют разные цвета. Известно, что ответ не превышает $10^{18}$.

Ограничения

Тесты разделены на группы. Очки за группу даются только если корректно решены все тесты в группе.

Группа

Очки

Ограничения

1

23

$1 \le N, M \le 100, 1 \le K \le 4$

2

20

$1 \le N, M \le 300\, 000, 1 \le K \le 3$

3

27

$1 \le N, M \le 300\, 000, 1 \le K \le 4$

4

30

$1 \le N, M \le 100\, 000, 1 \le K \le 5$

Объяснение примера 1

\includegraphics[width=5cm]{pathsfig.pdf}

Граф в первом примере проиллюстрирован на рисунке выше, где каждая вершина раскрашена в белый (цвет 1), серый (цвет 2) или чёрный (цвет 3). Всего есть 10 путей, в которых все вершины имеют различные цвета: “1-2”, “2-1”, “2-3”, “3-2”, “2-4”, “4-2”, “1-2-4”, “4-2-1”, “3-2-4” and “4-2-3”.

Обратите внимание, что “1” не считается подходящим путём, т.к. это всего лишь одна вершина. Не подходит и путь “1-2-3”, т.к. содержит две вершины цвета $1$.

Пример ввода 1 Пример вывода 1
4 3 3
1 2 1 3
1 2
2 3
4 2
10
Пример ввода 2 Пример вывода 2
9 11 4
1 2 3 4 1 2 1 2 2
1 2
1 3
2 3
2 4
3 6
6 2
6 5
4 3
4 5
7 8
9 8
70