감자 셔플
시간 제한1초메모리 제한512 MB
인접한 두 봉지의 감자 합이 k 이하일 때만 자리를 바꿀 수 있습니다. 도달 가능한 배열의 개수를 10^9+7로 나눈 나머지로 구합니다.
문제
마리치카의 지하실에는 감자가 많이 있다. 감자 자루 n개가 한 줄로 놓여 있고, i번째 자루에는 a_i개의 감자가 들어 있다.
제니크는 자루를 섞는 것을 좋아한다. 셔플 연산 한 번에 인접한 두 자루를 골라 위치를 맞바꿀 수 있다. 단, 두 자루에 든 감자의 합이 k를 넘지 않을 때만 가능하다. 제니크는 원하는 만큼 셔플 연산을 수행할 수 있다.
마리치카와 제니크는 제니크가 만들 수 있는 자루 배열이 몇 가지인지 궁금해졌다. 같은 위치에 감자 개수가 다른 자루가 있으면 서로 다른 배열로 본다. 제니크가 만들 수 있는 서로 다른 배열의 수를 구하라.
입력
첫 줄에 두 정수 n과 k가 주어진다 (, ).
둘째 줄에 n개의 정수 a_i가 주어진다 ().
출력
서로 다른 배열의 수를 로 나눈 나머지를 한 줄에 출력한다.