Олимпиадный тренинг

Задача . E. Палочки и лесенки


Задача

Темы: дп матрицы *2700

Вам задана фигура на клетчатом поле, представляющая лестницу, состоящую из 7 ступеней. Ширина ступени высоты i равна wi клеток. Формально, фигура представляет собой последовательно соединенные прямоугольники размером wi × i так, что стороны wi лежат на одной прямой. Так, например, если все wi = 1, фигура будет выглядеть так (различными цветами обозначены различные прямоугольники):

А если w = {5, 1, 0, 3, 0, 0, 1}, то так:

Найдите количество способов закрасить некоторые из границ клеток, лежащих внутри фигуры, так, чтобы ни у какой из клеток не были закрашены все четыре границы. Границы клеток, лежащие на границе фигуры, следует считать закрашенными. Способы, различающиеся поворотом фигуры, следует считать различными.

Входные данные

В единственной строке входных данных содержатся 7 чисел w1, w2, ..., w7 (0 ≤ wi ≤ 105). Гарантируется, что хотя бы одно из wi не равно нулю.

Выходные данные

В единственную строку выходных данных выведите единственное число — ответ на задачу по модулю 109 + 7.

Примечание

Всевозможные раскраски третьего примера представлены ниже:


Примеры
Входные данныеВыходные данные
1 0 1 0 0 0 0 0
1
2 0 2 0 0 0 0 0
7
3 1 1 1 0 0 0 0
9
4 5 1 0 3 0 0 1
411199181

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w644
Комментарий учителя