Rozważmy płaszczyznę z prostokątnym układem współrzędnych. W punkcie (0, 0) tej płaszczyzny znajduje się skierowany na północ (tj. w stronę rosnącej drugiej współrzędnej) programowalny robocik. Robocika programuje się, podając mu ciąg komend d1, d2, . . . , dn. Po włączeniu robocik wykonuje kolejne ruchy; i-ty ruch (dla i ≥ 1) polega na przejechaniu do przodu d((i−1) mod n)+1 jednostek (gdzie „mod n” oznacza operację brania reszty z dzielenia przez n), a następnie obrót o 90◦ w prawo.
Robocik ma baterię, która starczy mu na t sekund działania. Zarówno przejechanie jednej jednostki odległości, jak i jeden obrót o 90◦ trwa jedną sekundę.
Napisz program, który wyznaczy, ile razy robocik znajdzie się w ustalonym punkcie (x, y) na płaszczyźnie, zanim skończy mu się bateria.
W pierwszym wierszu standardowego wejścia znajdują się dwie liczby całkowite n i t (1 ≤ n ≤ 100 000, 1 ≤ t ≤ 1018) oznaczające długość programu robocika i czas działania baterii. W drugim wierszu znajduje się ciąg n liczb całkowitych d1, . . . , dn (1 ≤ di ≤ 109), oznaczających kolejne komendy programu. Trzeci wiersz zawiera dwie liczby całkowite x i y (−109 ≤ x, y ≤ 109) oznaczające współrzędne punktu, o który pytamy.
Na standardowe wyjście należy wypisać jedną liczbę całkowitą oznaczającą liczbę momentów, w których robocik znajdzie się w punkcie (x, y). Jeśli znajdzie się tam w czasie 0 lub t, to również należy to uwzględnić.
Wyjaśnienie przykładu: Robocik znajdzie się w punkcie (3, 2) po 6 i 22 sekundach od włączenia. Poniższy rysunek przedstawia trasę robocika:
