D. Кредитная карта
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Недавно Люба приобрела себе кредитную карту и начала активно ей пользоваться. Рассмотрим отрезок из n подряд идущих дней.

Изначально на кредитной карте Любы находится 0 единиц денежных средств.

В i-й день вечером происходит денежная операция на сумму ai. Если ai > 0, то на счёт Любы зачисляется ai денежных средств. Если ai < 0, то со счёта списывается ai денежных средств. Если же ai = 0, то в этот день проверяется состояние счёта на предмет задолженности.

Люба может прийти в банк в любой из n дней утром и положить дополнительно на счёт какое-либо положительное количество денег. Но из-за лимита она не может допустить, чтобы в какой-либо момент количество денежных средств на карте превышало d.

Может случиться, что количество денег на карте Любы превысит d после какой-либо вечерней транзакции. В этом случае ответ равен «-1».

Люба не хочет превысить этот лимит. Также она не хочет, чтобы в какой-либо из дней проверки (в те дни, когда ai = 0) на её кредитной карте был отрицательный баланс. Также для Любы дорога до банка занимает очень много времени, поэтому ей нужно узнать минимальное количество дней, когда ей необходимо будет прийти в банк и положить дополнительные деньги на карту, либо узнать, что заданным ограничениям удовлетворить невозможно. Помогите ей с этим!

Входные данные

В первой строке задано два целых числа n, d (1 ≤ n ≤ 105, 1 ≤ d ≤ 109) — количество дней в рассматриваемом отрезке времени и ограничение на количество денег.

Во второй строке задано n целых чисел a1, a2, ... an ( - 104 ≤ ai ≤ 104), где ai описывает операцию в i-й день.

Выходные данные

В единственной строке выведите «-1» (без кавычек), если Люба не сможет класть деньги на карту так, чтобы удовлетворить всем вышеописанным ограничениям, либо же минимальное количество дней, необходимое для этого.

Примеры
Входные данные
5 10
-1 5 0 -5 3
Выходные данные
0
Входные данные
3 4
-10 0 20
Выходные данные
-1
Входные данные
5 10
-5 0 10 -11 0
Выходные данные
2