최대한의 휴식

아직 제출이 없습니다시간 제한2초메모리 제한1024 MB

문제

Amel은 SKH 회사 내에서 일을 잘하기로 소문난 유능한 사원이다. 그러나, 체력이 매우 안 좋은 Amel은 하루 동안 일하고 나면 빠르게 지쳐버리기 때문에 한 번 일하고 난 후 가능한 오랜 기간 동안 일하지 않고 쉬고 싶다. Amel은 ii번째 날에는 최대 W_iW\_i 만큼 일할 수 있고, 총 MM 만큼의 일을 해야 한다. Amel은 출근한 날들 사이에 일하지 않고 연속해서 쉴 수 있는 연휴들의 최솟값을 최대화하고 싶어졌다.

예를 들어, 7일 동안 할당된 일의 양이 각각 1, 3, 5, 4, 3, 7, 31,\ 3,\ 5,\ 4,\ 3,\ 7,\ 3이고 Amel에게 주어진 할당량이 99라고 하자. 만약 첫 번째, 세 번째, 일곱 번째 날에 일하면 1+5+3=91+5+3=9가 되어 할당량을 채울 수 있다. 이때 연속해서 쉬는 날의 수는 각각 1일과 3일이고 이 중 최솟값은 1일이다. 만약 두 번째와 여섯 번째 날을 선택하면 3+7=103+7=10으로 할당량을 채울 수 있고, 연속해서 쉬는 날의 수는 3일이기 때문에 최솟값이 3일이 된다. 만약 여섯 번째 날과 일곱 번째 날을 선택하면 출근한 날 사이의 간격이 0일이므로 최솟값은 0일이다.

일을 시작하기 전에 쉬거나, 일을 모두 끝낸 뒤에 쉬는 것은 연휴에 포함되지 않음에 주의하자.

Amel이 일할 수 있는 날짜의 수 NN과 Amel에게 주어진 일의 할당량 MM, ii번째 날에 할 수 있는 일의 양 W_iW\_i가 주어질 때, Amel이 연속해서 쉴 수 있는 기간의 최솟값의 최댓값을 구해보자.

입력

Amel이 일할 수 있는 날짜의 수 N(2N2×105)N(2 \leq N \leq 2 \times 10^5)과 Amel에게 주어진 일의 할당량 M(1M108)M(1 \leq M \leq 10^8)이 공백을 사이에 두고 입력된다.

두 번째 줄에는 ii번째 날에 할 수 있는 일의 양 W_i(1iN,1W_i107)W\_i(1 \leq i \leq N, 1 \leq W\_i \leq 10^7)가 공백으로 구분되어 입력된다.

입력으로 주어지는 모든 수는 정수이다.

출력

Amel이 연속해서 쉴 수 있는 기간의 최솟값의 최댓값을 출력한다.

만약, NN일 모두 출근해도 할당량을 채울 수 없다면 -1, 하루 만에 할당량을 채울 수 있다면 "Free!"(따옴표 제외)를 출력한다.