Рамки Малевича
Limits: 2 sec., 256 MiB
Автор відомої картини "Чорний Квадрат" Казимир Малевич роздумує над своїм новим творінням. Цього разу його увагу привернули пазли — гра-головоломка, що виглядає як мозаїка, яку потрібно скласти з окремих фрагментів. Тому Казимир взяв одну з реплік своєї відомої картини і вирізав з її рамки багато окремих пазлів (а отже всі пазли вийшли однаково чорними). Пазли вийшли семи типів, які вказані вам знизу на картинці. Кожна сторона є випуклою, впуклою або плоскою. Сполучаючи впуклу та випуклу сторони з різних пазлів, ви сполучаєте їх між собою.
Казимиру цікаво скільки існує чисел n≥3, що з наявних пазлів можна скласти квадратну рамку розміром n на n. (кожен пазл має розмір 1 на 1). Не всі пазли повинні бути використанні при складанні, кожен пазл можна крутити, але не можна перевертати іншою стороною. Квадратною рамкою вважається квадратна структура розміру n на n, нутрощі розміру n−2 на n−2 якої є пустими. Окрім цього пазли не повинні містити впуклостей, які не є заповненими або випуклостей які визирають за межі рамки (себто кожна сторона повинна бути ідеально рівною).
Наостанок, кожна деталь рамки повинна бути з’єднана з рівно двома іншими складанками, себто дотикання двох складанок плоскою стороною не є валідним. Підкажіть Казимиру скільки існує варіантів реалізувати його творчий задум.
Input
Єдиний рядок вхідних даних містить сім чисел розділених пробілами — кількості складанок кожного типу. Порядок чисел відповідає порядку складанок на картинці в умові.
Output
Виведіть єдине число — кількість різних n.
Constraints
Кількість складанок кожного типу буде цілим числом від 0 до 109 включно.
Samples
Input (stdin) | Output (stdout) |
---|---|
0 0 4 0 4 0 2 | 1 |
Input (stdin) | Output (stdout) |
---|---|
1 1 1 1 1 1 1 | 0 |
Input (stdin) | Output (stdout) |
---|---|
0 4 0 4 4 4 12 | 5 |