În perioada Campionatului Mondial din Brazilia se preconizează o creştere a traficului de cafea. Se ştie că sunt N
orase, conectate prin N-1
străzi bidirecţionale, astfel încat se poate ajunge din orice oraş în altul. În prezent există K
carteluri de cafea aflate în oraşe distincte, care își exercita influența în propriul oraș. Se ştie că fiecare din aceste carteluri doreşte să-şi extindă influenţa în oraşele vecine. Astfel, la un moment de timp, un cartel poate să-şi extindă influenţa întrun oraş vecin doar dacă acesta nu se află sub influenţa altui cartel. Odată ce un cartel îşi extinde influenta asupra unui nou oraş, cartelul îşi poate extinde influenţa şi în oraşele vecine acestuia. Se ştie că până la începerea campionatului mondial, fiecare oraş va fi sub influenţa unui cartel.
ABIN (Agência Brasileira de Inteligência) doreşte să afle în câte moduri poate fi dominată ţara de influenţele celor K
carteluri la data începerii campionatului mondial, modulo 666013
.
Cerință
Cunoscând numărul de orașe N
, modul în care acestea sunt conectate, numărul de carteluri inițiale K
și cele K
orașe în care se află cartelurile, să se determine numărul de moduri în care ţara poate fi împărţită între cartelurile de cafea, modulo 666013
.
Date de intrare
Fișierului de intrare karb.in
conține pe prima linie 2
numere naturale N
şi K
, reprezentând numărul de oraşe, respectiv numărul cartelurilor existente iniţial. Pe a doua linie din fişier se vor afla K
numere, reprezentând oraşele în care se află cele K
carteluri. Pe următoarele N-1
linii se vor afla câte două numere naturale, reprezentând o legătură între cele două oraşe.
Date de ieșire
Pe prima linie a fișierului de ieșire karb.out
se va scrie un singur număr natural reprezentând numărul de moduri modulo 666013
.
Restricții si precizări
1 ≤ K ≤ N ≤ 100 000
- Pentru teste în valoare de
10%
din punctaj se garantează căk ≤ n ≤ 7
, iar pentru alte20%
din teste se garantează căk = 2
. - Două oraşe sunt vecine dacă există o stradă bidirecțională între ele.
Exemplu
karb.in
6 3
3 4 5
1 2
1 3
2 4
2 5
4 6
karb.out
5
Explicaţie
Cele 5
moduri posibile:
(3) (1, 2, 5) (4, 6)
(3, 1) (2, 5) (4, 6)
(3, 1, 2) (5) (4, 6)
(3, 1) (5) (2, 4, 6)
(3) (5) (1, 2, 4, 6)