몇 가지 가능성인가
시간 제한2초메모리 제한1024 MB
N행 N열의 엇갈린 키보드에서 연속한 두 키의 거리가 주어질 때, 가능한 키 입력 순서의 개수를 10^9+7로 나눈 나머지로 구합니다.
문제
UFO는 거대한 키보드로 조종된다. 키보드에는 개의 행이 있고, 각 행에는 개의 키가 있다. 각 행은 이전 행보다 키 반 개만큼 오른쪽에서 시작한다.

두 키가 변을 맞대고 붙어 있으면 이웃이다. 키 와 사이의 거리는 이웃한 키로 한 칸씩 옮겨 에서 까지 갈 때 필요한 최소 이동 횟수다. 그림에서 키
와
사이의 거리는 4이다.
UFO끼리 전쟁이 벌어지고 있다. 적 UFO가 복잡한 기동을 막 시작했고, 조종사는 이를 위해 키를 번 눌렀다. 대응 기동을 짜려면 어떤 키가 눌렸는지 알면 유리하다. 하지만 우리가 아는 것은 첫 번째와 두 번째로 누른 키 사이의 거리, 두 번째와 세 번째로 누른 키 사이의 거리 등뿐이다. 이 정보에 맞는 서로 다른 키 누름 순서는 몇 개인가?
실제 답은 매우 클 수 있으므로 로 나눈 나머지를 출력하라.
입력
파일의 첫 줄에 정수 과 가 주어진다 (, ). 둘째 줄에는 공백으로 구분된 정수 ()가 주어진다. 는 번째로 누른 키와 번째로 누른 키 사이의 거리이다.
출력
가능한 키 누름 순서의 개수를 로 나눈 나머지 한 정수를 출력한다.