Çoxbucaqlıya qədər olan məsafə
Müəyyən bir müstəvidə qabarıq çoxbucaqlı verilib. Sizdən verilmiş sorğuların nəticələrini hesablamaq tələb olunur.
Hər bir sorğu müstəvidə müəyyən bir nöqtənin koordinatlarından ibarətdir. Sorğunun nəticəsi həmin nöqtədən çoxbucaqlıya olan ən kiçik məsafədir (bu, nöqtədən çoxbucaqlının daxilindəki və ya sərhədindəki istənilən nöqtəyə olan ən kiçik məsafədir).
Giriş məlumatları
Birinci sətirdə n (3 ≤ n ≤ 4000) - çoxbucaqlının təpə nöqtələrinin sayı verilib.
Daha sonra n sətirdə çoxbucaqlının təpə nöqtələrinin koordinatları saat əqrəbi istiqamətinin əksinə olaraq sadalanır. Heç bir üç təpə nöqtəsi eyni düz xətt üzərində yerləşmir. Hər bir təpə nöqtəsi tam ədədi koordinatlarla x, y (-15000 ≤ x, y ≤ 15000) verilir.
Növbəti sətirdə beş tam ədəd verilib: q, a, b, c, d (1 ≤ q ≤ 10^6
, 0 ≤ a, b, c, d ≤ 15000) - sorğuların sayı və növbəti sorğunun koordinatlarını əvvəlki sorğunun koordinatları və icra nəticəsi ilə hesablamağa imkan verən əmsallar.
Sonuncu sətirdə iki tam ədəd x[1]
, y[1]
(-15000 ≤ x[1]
, y[1]
≤ 15000) - birinci sorğunun nöqtəsinin koordinatları verilib.
Hər bir növbəti sorğunun nöqtələrinin koordinatları əvvəlki sorğuların koordinatları və icra nəticəsi ilə aşağıdakı kimi hesablanır. Əgər i-ci sorğuda nöqtənin koordinatları x[i]
, y[i]
idisə və sorğunun cavabı d[i]
idisə, onda i + 1 - ci sorğu nöqtəsinin koordinatları belə olacaq:
x[i+1]
= ((x[i]
+ 15000) * (round(d[i]
) + a) + b) % 30001 - 15000;
y[i+1]
= ((y[i]
+ 15000) * (round(d[i]
) + c) + d) % 30001 - 15000;
Burada round(d[i]
) ən yaxın tam ədədə qədər yuvarlaqlaşdırılır.
Çıxış məlumatları
Sonuncu sorğunun cavabını - mütləq və ya nisbi səhvi 10^(-8)
olan tək bir ədəd çıxarın.