Ağacda quldurlar#10448

Ağacda quldurlar

1 saniyə
256 meqabayt
Çox çətin

şəhəri var və bu şəhərlər -dən -ə qədər nömrələnib. Şəhərlər bir-birinə (n - 1) yol ilə bağlıdır və hər bir şəhərdən digərinə çatmaq mümkündür. Hər yolun müəyyən bir uzunluğu var.

nömrəli şəhər t_i zamanında a_i nömrəli quldur klanı tərəfindən ələ keçirilmişdir (1 \leq a_i \leq n). Şəhər ələ keçirildikdən sonra, yalnız a_i klanının nümayəndələri oradan keçə bilər.

Aşağıdakı formada sualına cavab verin:

Giriş

Birinci sətir (2 \leq n \leq 10^5) tək tam ədədini ehtiva edir — şəhərlərin sayı.

Sonrakı (n - 1) sətirin hər biri iki tam ədəd p_i və d_i (1 \leq p_i < i, 1 \leq d_i \leq 10^3) ehtiva edir, bu da və p_i şəhərləri arasında d_i uzunluğunda yolu göstərir. İndeksləmə -dən başlayır.

Növbəti sətir tam ədəd a_i (1 \leq a_i \leq n) ehtiva edir, bu da müvafiq şəhəri ələ keçirən klanların nömrələrini göstərir.

Növbəti sətir tam ədəd t_i (1 \leq t_i \leq 10^9) ehtiva edir, bu da hər bir şəhərin ələ keçirilmə zamanını göstərir.

Növbəti sətir (1 \leq m \leq 10^5) tək tam ədədini ehtiva edir — sualların sayı.

Son sətir sualları təsvir edir. Hər biri dörd tam ədəd u_i, v_i, b_i, T_i (1 \leq u_i, v_i, b_i \leq n, 1 \leq T_i \leq 10^9) ehtiva edir — başlanğıc və son şəhərlərin nömrələri, səyahətçinin klan nömrəsi və səyahətin başlanğıc zamanı müvafiq olaraq.

Çıxış

Hər bir sual üçün ayrı sətirdə tək tam ədəd çıxarın — -dan -yə gedən yolda keçmək mümkün olmayan ilk şəhərin nömrəsi. Əgər belə bir şəhər yoxdursa, «-1» çıxarın.

Bu məsələdə böyük həcmli giriş və çıxış məlumatlarına diqqət yetirin. C++ dilində cin/cout əvəzinə scanf/printf və Python dilində input əvəzinə sys.stdin.readline kimi sürətli giriş və çıxış vasitələrindən istifadə etməyi tövsiyə edirik. Həmçinin, Python dilində məsələnin həlli zamanı PyPy interpretatorundan istifadə etməyi tövsiyə edirik.

Nümunələr

Nümunə 1

Loading
Loading

Nümunə 2

Loading
Loading

Nümunə 3

Loading
Loading

Bal hesablama

  1. ( bal): p_i = 1;

  2. ( bal): n, m \leq 10^3;

  3. ( bal): p_i = i - 1, t_i = 1;

  4. ( bal): p_i = i - 1, a_i = 1, b_i = 2;

  5. ( bal): p_i = i - 1;

  6. ( bal): t_i = 1;

  7. ( bal): a_i = 1, b_i = 2;

  8. ( bal): əlavə məhdudiyyətlər olmadan.