Cow Dance Show

Find the smallest stage size K so that the total show time, where the next cow starts as soon as a dancer leaves, stays within T_max.

Medium5Binary searchSimulationHeapGreedyInterviewNo attempts yetTime limit2sMemory limit512 MB

Problem

After several months of rehearsal, the cows are just about ready to put on their annual dance performance. This year they are performing the famous bovine ballet "Cowpelia".

The only aspect of the show that remains to be determined is the size of the stage. A stage of size KK can support KK cows dancing simultaneously. The NN cows in the herd (1N100001 \le N \le 10\,000) are numbered 11 to NN in the order in which they must appear in the dance. Each cow ii plans to dance for a specific duration of time d(i)d(i).

Initially, cows 11 to KK appear on stage and start dancing. When the first of these cows completes her part, she leaves the stage and cow K+1K+1 immediately starts dancing, and so on, so there are always KK cows dancing (until the end of the show, when the cows start to run out). The show ends when the last cow completes her dancing part, at time TT.

The larger the value of KK, the smaller the value of TT. Since the show cannot last too long, you are given an upper bound TmaxT_{max} on the value of TT. Subject to this constraint, determine the smallest possible value of KK.

Input

The first line contains NN and TmaxT_{max}, where TmaxT_{max} is an integer of value at most 10000001\,000\,000.

The next NN lines give the durations d(1),,d(N)d(1), \ldots, d(N) of the dancing parts for cows 11 to NN. Each d(i)d(i) is an integer from 11 to 100000100\,000.

It is guaranteed that if K=NK=N, the show finishes in time.

Output

Print the smallest value of KK such that the dance performance takes no more than TmaxT_{max} units of time.