3dist

Time limit: 0.6s Memory limit: 256MB Input: Output:

Cerință

Se dă un arbore cu NN noduri. Notăm cu dist(x,y)dist(x,y) lungimea celui mai scurt drum dintre nodurile xx și yy.

Se dau QQ query-uri de tipul (D1,D2,D3)(D_1, D_2, D_3), pentru fiecare query trebuie să găsești 44 noduri a,b,c,da,b,c,d care să respecte condițiile ca dist(a,b)=D1dist(a,b)=D_1, dist(a,c)=D2dist(a,c)=D_2, dist(a,d)=D3dist(a,d)=D_3 și ca drumurile aba-b, aca-c, ada-d să nu se intersecteze (să nu aibă nicio muchie în comun).

Date de intrare

Pe prima linie se află 2 numere întregi, N105N \leq 10^5 și Q2×105Q \leq 2 \times 10^5.
Pe fiecare din următoarele N1N-1 linii se află câte 22 numere întregi UiU_i și ViV_i, reprezentând o muchie între UiU_i și ViV_i.
Pe fiecare din următoarele QQ linii se vor afla 33 numere naturale nenule, reprezentând un query.

Date de ieșire

Se vor afla QQ linii, pe a ii-a linie se va afișa răspunsul la al ii-lea query. Dacă există 44 noduri care respectă condițiile query-ului se va afișa DA urmat de 44 numere întregi reprezentând cele 44 noduri. Dacă nu, se va afișa doar NU.

Restricții și precizări

# Punctaj Restricții
0 0 Exemple
1 10 N,Q10N, Q \le 10
2 30 N,Q3000N, Q \le 3000
3 60 fără restricții suplimentare

Exemplu

stdin

7 3
7 1
7 4
4 3
6 1
5 6
6 2
3 1 1
1 1 1
2 1 1

stdout

DA 6 4 5 2
DA 6 1 5 2
DA 6 7 5 2

Log in or sign up to be able to send submissions!