cf978E Bus Video System

The busses in Berland are equipped with a video surveillance system. The system records information about changes in the number of passengers in a bus after stops.

If y−x. So the system records show how number of passengers changed.

The test run was made for single bus and n in chronological order.

Determine the number of possible ways how many people could be in the bus before the first bus stop, if the bus has a capacity equals to w passengers inclusive).

Input

The first line contains two integers (1≤n≤1000,1≤w≤109) — the number of bus stops and the capacity of the bus.

The second line contains a sequence i-th bus stop.

Output

Print the number of possible ways how many people could be in the bus before the first bus stop, if the bus has a capacity equals to 0.

Examples

input
3 5
2 1 -3
output
3
input
2 4
-1 1
output
4
input
4 10
2 4 1 2
output
2

Note

In the first example initially in the bus could be 2 passengers.

In the second example initially in the bus could be 4 passengers.

In the third example initially in the bus could be 1 passenger.

题解:

只需要从后向前找出人最多的时刻,和最少的时刻。

#include <bits/stdc++.h>
using namespace std;
const int MAXN=200010;
const int INF=0x3f3f3f3f;
int sum[MAXN];

int main()
{
    int n,w,a;
    scanf("%d%d",&n,&w);
    int MAX=0,MIN=INF;
    for (int i = 1; i <=n ; ++i) {
        scanf("%d",&a);
        sum[i]=sum[i-1]+a;
        MAX=max(MAX,sum[i]);
        MIN=min(MIN,sum[i]);
    }
    MAX=w-MAX;
    MIN=MIN>0?0:-MIN;
    if(MAX-MIN+1<0) printf("0
");
    else printf("%d
",MAX-MIN+1);

    return 0;
}