Problem description


Bilard
(C)
Limit pamięci: 512 MB
Limit czasu: 1.00 s

Rozważmy następującą wariację gry w bilarda (gry, w której kijem uderza się kule ustawione na stole, które mają wpaść do specjalnie wyznaczonych dziur w odpowiednich miejscach stołu). Na stole leży N kul bilardowych, ponumerowanych od 1 do N. Mamy w zasobach X energii. Wbicie kuli o numerze i kosztuje ai energii. Nie można wbić danej kuli, jeżeli posiadana energia w danym momencie jest mniejsza od jej kosztu. Ponadto, dany jest ciąg pi, dla i = 1, …, N. Jeżeli pi =  − 1, to kula o numerze i może zostać wbita w dowolnym momencie. Jeżeli natomiast 1 ≤ pi ≤ N, to kula o numerze i może zostać wbita dopiero po wbiciu kuli o numerze pi.

Jaki jest największy numer kuli, jaką jesteśmy w stanie wbić, przy założeniu, że zawsze trafiamy?

Wejście

W pierwszym wierszu wejścia dane są dwie liczby naturalne N oraz X oznaczające liczbę kul oraz początkową energię. W następnym wierszu dany jest ciąg a1, …, aN, oznaczający energię potrzebną do wbicia kolejnych kul. W następnym wierszu dany jest ciąg p1, …, pN.

Wyjście

W jedynym wierszu wyjścia należy wypisać jedną liczbę całkowitą, oznaczającą najwyższy numer kuli, jaki jesteśmy w stanie wbić, lub  − 1 jeżeli nie jest to możliwe.

Ograniczenia

1 ≤ N ≤ 200 000, 1 ≤ X ≤ 1015, 1 ≤ ai ≤ 109, 1 ≤ pi ≤ N lub pi =  − 1, ale pi ≠ i, dla i = 1, …, N.

Podzadania

Podzadanie Warunki Punkty
1 N ≤ 1 000, pi =  − 1 dla i = 1, …, N. 6
2 N ≤ 1 000, p1 =  − 1, pi = i − 1 dla i = 2, …, N. 9
3 N ≤ 1 000, pi < i dla i = 1, …, N. 16
4 pi < i dla i = 1, …, N. 20
5 N ≤ 1 000. 19
6 Brak dodatkowych ograniczeń. 30

Przykład

Wejście Wyjście
6 7
1 2 4 3 10 100
-1 -1 -1 -1 -1 -1
4
Wejście Wyjście
5 12
1 2 3 5 8
-1 1 2 3 4
4
Wejście Wyjście
8 10
3 1 4 1 5 9 2 6
-1 1 2 -1 4 4 5 7
7
Wejście Wyjście
2 1000000000000000
1 1
2 1
-1