\(N\) (\(1 \leq N \leq 100\)) коров Фермера Джона выстроены в ряд так, что
\(i\)-ая корова имеет уровень голода \(h_i\) (целое неотрицательное число). Коровы
хотят есть вместе, и единственный способ уменьшить уровень голода его коров - выбрать
соседнюю пару коров \(i\) и \(i+1\) и дать каждой из них мешок кукурузы, тем самым
уменьшить на 1 уровень голода каждой из них.
ФД хочет кормить своих коров пока у всех у них не станет один и тот же уровень голода
- целый, неотрицательный. Хотя он не знает точно уровень голода каждой из своих коров,
он знает верхнюю границу уровня голода каждой коровы, то есть уровень голода \(i\)-ой cow
\(h_i\) не более \(H_i\) (\(0\le H_i\le 1000\)).
Ваша задача - посчитать по модулю \(10^9+7\) количество комбинаций из \(N\) уровней голода \([h_1,h_2,\ldots,h_N]\) таких, что ФД сможет достичь своей цели.
ФОРМАТ ВВОДА (с клавиатуры / stdin):
Первая строка содержит число
\(N\).
Вторая строка содержит \(H_1,H_2,\ldots,H_N\).
ФОРМАТ ВЫВОДА (на экран / stdout):
Количество комбинаций из \(N\) чисел уровней голода по модулю \(10^9+7\).
Примеры
| № | Входные данные | Выходные данные |
|
1
|
3 9 11 7
|
241
|