ZLed a devenit un pic confuz în ultima vreme, aşa că a început să se joace cu arbori (în scop terapeutic). Fiecare nod din arbore poate fi colorat fie cu alb, fie cu negru. Iniţial toate nodurile sunt colorate în alb.
Pe parcursul jocului, ZLed poate alege un nod din arbore căruia să îi schimbe culoarea (din alb în negru sau din negru în alb). De asemenea, el poate selecta două noduri x şi y din arbore, cu x strămoş al lui y, şi se poate întreba: ”Dintre toate nodurile de pe drumul de la x la y (inclusiv x şi y) care este cel mai apropiat nod faţă de x care este colorat în negru?”.
Cerinţă
Deoarece vreţi să disipaţi starea de confuzie a lui ZLed, trebuie să îl ajutaţi şi să-i rezolvaţi operaţiile de colorare a unui nod, respectiv de interogare a celui mai apropiat nod de culoare neagră de pe drumul de la x la y, pentru un strămoş x al lui y.
Date de intrare
Fişierul confuzie.in va conţine pe prima linie două numere N şi M, unde N este numărul de noduri din arbore, iar M numărul de operaţii care se efectuează, atât modificări de culoare, cât şi interogări.
Următoarele N-1 linii conţin descrierea arborelui, pe fiecare linie aflându-se două numere a şi b, semnificând faptul că există o muchie între a şi b în arbore.
Pe următoarele M linii sunt descrise operaţiile efectuate. Primul număr de pe fiecare dintre aceste linii reprezintă tipul operaţiei: 0 dacă este vorba de o modificare de culoare, respectiv 1 dacă este vorba de o interogare. În primul caz, după 0 va urma un număr x, semnificând că se va schimba culoarea lui x, din negru în alb sau din alb în negru. În al doilea caz, după 1 vor urma două numere x şi y, cu x strămoş al lui y, semnificând că se doreşte aflarea, dintre toate nodurile de pe drumul de la x la y, a celui mai apropiat nod faţă de x care este colorat în negru.
Date de ieşire
Fişierul confuzie.out va conţine câte o linie pentru fiecare operaţie de interogare prezentă în fişierul de intrare. Această linie poate conţine fie nodul cerut (cel mai apropiat nod negru de x) de pe drumul dintre cele două noduri date la interogare, fie -1 dacă drumul dintre nodurile date la interogare nu conţine niciun nod colorat cu negru.
Restricţii
• Rădăcina arborelui se consideră nodul cu indice 1.
• 1 <= N <= 130 032
• 1 <= M <= 200013
• 1 <= x, y, a, b <= N
• Un arbore este un graf neorientat, conex şi aciclic.
• Un nod x se numeşte strămoş al lui y dacă el se află pe drumul de la y la rădăcina arborelui.
Pe rand operatiile:
Setam 2 pe negru
Din drumul [1, 2], 2 e negru
Din drumul [1, 1], nu avem nod negru
Setam 1 pe negru
Din drumul [1, 2], 1 si 2 negre, primul este 1
Setam 5 pe negru
Din drumul [3, 5], 5 e negru
Din drumul [3, 7] nu avem nod negru
Setam 1 pe alb
Din drumul [1, 3, 5], 5 e negru