Problem description


Tablice
(tablice)
Limit pamięci: 32 MB
Limit czasu: 4.50 s

Dane są dwie liczbowe tablice N-elementowe. Elementy jednej tablicy są podane. W drugiej zaś tablicy i-ty element jest równy Ai3 + Bi2 + Ci + D (stałe A, B, C, D także są znane i podane). Rozważmy tablicę 2N-elementową, w której najpierw umieszczamy elementy pierwszej tablicy, potem zaś elementy drugiej i sortujemy ją. Należy wyznaczyć K-ty element nowej, tak posortowanej tablicy.

Takich pytań jest wiele dla różnych tablic, więc potrzebny jest szybki program. Tablica pierwsza jest wspólna dla wszystkich zapytań, zaś stałe A, B, C, D oraz wartość K mogą być różne dla każdego zapytania.

Napisz program, który wczyta opis elementów pierwszej tablicy i zapytania (stałe, którymi opisana jest druga tablica oraz wartość K), wyznaczy odpowiedzi na wszystkie zapytania i wypisze wyniki na standardowe wyjście.

Wejście

W pierwszym wierszu wejścia znajdują się dwie liczby naturalne N i Q, określające długość jednej tablicy oraz liczbę zapytań. W drugim wierszu wejścia znajduje się ciąg N nieujemnych liczb całkowitych Ti, pooddzielanych pojedynczymi odstępami. Są to elementy pierwszej tablicy.

W kolejnych Q wierszach znajdują się opisy kolejnych zapytań. Opis każdego zapytania składa się z pięciu nieujemnych liczb całkowitych Ai, Bi, Ci, Di, Ki, pooddzielanych pojedynczymi odstępami. Pierwsze cztery liczby opisują stałe A, B, C, D generujące drugą tablicę, zaś Ki określa który z kolei element chcemy uzyskać po posortowaniu.

Zakładamy wyjątkowo, że tablice są indeksowane od 1.

Wyjście

Twój program powinien wypisać na wyjście dokładnie Q wierszy. W i-tym wierszu powinna się znaleźć odpowiedź dla i-tego zestawu danych. Odpowiedź dla każdego zestawu danych powinna się składać z jednej liczby całkowitej – liczby, która byłaby na Ki-tej pozycji w posortowanej niemalejąco tablicy powstałej ze sklejenia tablicy pierwszej i drugiej tablicy z i-tego zapytania.

Ograniczenia

1 ≤ N ≤ 500 000, 1 ≤ Q ≤ 500 000, 1 ≤ Ki ≤ 2 ⋅ N, 0 ≤ Ti ≤ 1018, 0 ≤ Ai, Bi, Ci, Di ≤ 109.

Dane testowe będą tak dobrane, żeby AN3 + BN2 + CN + D ≤ 1018.

W testach wartych łącznie 35% maksymalnej punktacji zachodzi dodatkowy warunek: N ≤ 2 000, Q ≤ 5 000.

W testach wartych łącznie 75% maksymalnej punktacji zachodzi dodatkowy warunek: N ≤ 100 000, Q ≤ 100 000.

Przykład

Wejście Wyjście Wyjaśnienie
5 2
2 15 29 46 6
1 0 2 1 3
0 1 1 1 7
6
21

W pierwszym przypadku testowym posortowana tablica wygląda tak: [2,4,6,13,15,29,34,46,73,136]. W drugim zaś przypadku po posortowaniu nowej tablicy uzyskalibyśmy: [2,3,6,7,13,15,21,29,31,46].