Problemas
한 줄에 N개의 숫자가 적혀있다. 그리고 그 윗줄에는 N-1개의 숫자가 적혀있으며, 이 줄의 i번째 숫자는 아랫줄의 i번째 숫자와 i+1번째 숫자의 합과 같다. 또한 아래에 적힌 숫자는 윗줄에 적힌 숫자 중 한 숫자보다 작아야 한다.
N-1개의 숫자가 적힌 줄 위에는 N-2개의 숫자가 적힌 줄이 존재하며 앞서 이야기 한 조건을 만족해야하며, 한 줄에 적히는 숫자가 1개가 될 때까지 반복된다.
예를 들어 처음에 2,1,2,4 가 적혔을 경우, 가능한 예는 다음과 같다.

이러한 조건을 만족하는 구조를 "숫자 피라미드"라고 한다.
두개의 피라미드에 적힌 숫자가 모두 동일할 경우 두개의 피라미드는 같은 피라미드라고 한다.
맨 윗줄의 숫자와 맨 밑줄에 적히는 숫자들의 개수가 주어졌을 때, 서로 다른 숫자 피라미드의 개수를 출력하는 프로그램을 작성하라.
단, 맨 아랫줄에는 1이상의 정수로 이루어져 있다.
Entrada
한 줄로 이뤄지며, 맨 밑줄에 적히는 숫자들의 개수 N(2≤N≤1,000,000)과 맨 위에 적히는 숫자 T(1≤T<1,000,000)가 주어진다.
Salida
입력에 대해 서로 다른 숫자 피라미드의 개수를 출력한다. 출력시 1,000,000,007로 나눈 나머지를 출력한다.
Ejemplo #1
3 5
2
Ejemplo #2
5 16
1
Ejemplo #3
4 15
24
Etiqueta
Fuente
Online Contest