k-cı əcdad#9629

k-cı əcdad

4 saniyə
128 meqabayt
Asan

Bir qrafın p zirvəsi varsa və p - 1 kənar ilə əlaqəlidirsə, bu qrafa Dərə deyilir. Dərənin kökünü r ilə təyin edək. Əgər a zirvəsi r-dən l məsafəsindədirsə və b zirvəsi r-dən l + 1 məsafəsindədirsə və a ilə b birləşirsə, onda a zirvəsi b-nin əcdadı adlanır.

Eyni qaydada, əgər a zirvəsi r-dən l məsafəsindədirsə və b zirvəsi r-dən l + k məsafəsindədirsə və a-dan b-yə uzunluğu k olan bir yol varsa, onda a zirvəsi b-nin k-cı əcdadı adlanır.

Syuzen qraflarla oynamağı sevir və Dərə məlumat strukturu onun ən sevdiklərindən biridir. O, bir tapşırıq hazırlayıb və kimsənin onu həll edə biləcəyini bilmək istəyir. Bəzən o, yarpaq olan bir zirvə əlavə edir və ya silir. Sizin vəzifəniz hər an zirvənin k-cı əcdadını tapmaqdır.

Giriş məlumatları

Birinci sətir t (1 ≤ t ≤ 3) testlərin sayını ehtiva edir. Sonra t testlər gəlir. Hər testin birinci sətiri dərədəki zirvələrin sayı p (1 ≤ p ≤ 10^5) ehtiva edir. Sonrakı p sətirin hər biri iki tam ədəd x və y ehtiva edir ki, burada y x-in əcdadıdır. Əgər y 0-a bərabərdirsə, onda x dərənin köküdür (0 dərəyə aid deyil). Məlumdur ki, 1 ≤ x, y ≤ 10^5.

Növbəti sətir sorğuların sayını q (1 ≤ q ≤ 10^5) ehtiva edir. Sonrakı q sətirin hər biri bir sorğu ehtiva edir.

Çıxış məlumatları

Hər 2 tipli sorğu üçün x-in k-cı əcdadını çıxarın. Əgər k-cı əcdad mövcud deyilsə, 0 çıxarın. Əgər göstərilən zirvə mövcud deyilsə, 0 çıxarın.

Nümunələr

Nümunə 1

Loading
Loading