#P1644. 必须完成的审判

必须完成的审判

Description

希罗想要完成审判, 审判由n个线索组成,每个线索里有一个记忆值 aia_i (可能为正, 也可能为负),你需要从某个线索开始, 然后连续收集若干个线索, 并收集这些线索的记忆值总和, 目标必须收集至少kk点记忆值,由于时间有限,你必须选择最短的连续线索(最短非空子数组)来完成目标,并输出这个最短的长度,如果无法完成目标, 则输出 -1.

中译中:给定一个整数n,给你一个整数数组 a 和一个整数 k ,找出 a 中和至少为 k 的 最短非空子数组 ,并返回该子数组的长度。如果不存在这样的 子数组 ,返回 -1.

Format

Input

第一行输入两个整数 nn (1n105)(1 \leq n \leq 10^5), kk (1k109)(1 \leq k \leq 10^9).

第二行输入 nn 个数, a1,a2,...aia_1, a_2,...a_i(105ai105)(-10^5 \leq a_i \leq 10^5).

Output

输出子数组的长度.

Samples

1 1
1
1
2 4
1 2
-1
3 3
2 -1 2
3

Limitation

1s, 1024KiB for each test case.