Fie doi arbori și . Arborele are nodurile , iar arborele are nodurile . Pentru oricare și , se garantează că există o muchie între și dacă și numai dacă exista o muchie între și . Toate muchiile din arborii și au lungimea .
Frunzele dintr-un arbore pot fi conectate cu corespondentul lor din celălalt arbore printr-o muchie de lungime . Cu alte cuvinte, pentru oricare , frunza poate fi conectată printr-o muchie cu frunza . Dacă frunza este conectată cu frunza , atunci frunza respectivă se consideră activă, iar altfel este inactivă.
Inițial, toate frunzele sunt inactive. Avem două tipuri de operații:
1 v
— schimbă starea frunzelor și : devin active din inactive și vice-versa;2 u v
— se cere să se afle lungimea celui mai scurt drum de la nodul la nodul .
Date de intrare
Pe prima linie a fișierului de intrare se află doi întregi și — numărul de noduri și numărul de operații. Pe fiecare din următoarele linii se află câte doi întregi — structura arborilor — muchiile și .
Fiecare dintre următoarele linii descriu operațiile. Fiecare operație este fie de forma 1 v
, fie de forma 2 u v
.
Date de ieșire
Pentru fiecare operație de tipul , în ordinea de la intrare, câte un întreg pe o linie — lungimea drumului minim dintre cele două noduri date. Dacă nu există un astfel de drum, se va afișa .
Restricții și precizări
- Fie numărul total de operații de tipul .
# | Punctaj | Restricții |
---|---|---|
1 | 3 | |
2 | 3 | |
3 | 2 | și |
4 | 8 | |
5 | 9 | și |
6 | 30 | și toate operațiile de tipul apar înaintea tuturor operațiilor de tipul |
7 | 45 | Fără restricții suplimentare. |
Exemplul 1
stdin
7 11
1 2
2 3
1 4
2 5
4 6
4 7
1 6
1 3
2 1 6
2 1 2
1 7
2 5 4
2 6 3
1 6
1 3
1 5
2 6 3
stdout
2
3
5
4
6
Explicație
Arborii și au următoarea structură.
Pentru prima interogare, structura arborelui este cea de mai jos. Un drum posibil este desenat cu roșu. Muchiile punctate au lungimea .
A doua interogare apare mai jos.
A treia interogare apare mai jos.
A patra interogare apare mai jos.
Ultima interogare apare mai jos.
Exemplul 2
stdin
2 2
1 2
1 1
2 1 2
stdout
1