Сапёр 1D | 프로그래밍의 벗 PivotOJ
PivotOJ

Сапёр 1D

시간 제한: 2000ms메모리 제한: 1024MB출처: ICPC 2022-2023 Northwestern Russia QualificationBOJ 26063
이 문제는 본문 이미지 일부가 표시되지 않습니다. 텍스트만으로 풀이가 어려울 수 있습니다.

문제

Сапёр --- это игра на клетчатом поле, цель которой --- найти расположение всех мин. Изначально все клетки поля скрыты. Нажатие на клетку её открывает, и если там находится мина --- игрок тут же проигрывает. Если же в клетке нет мины, то в ней показывается число --- суммарное количество мин в соседних клетках. Соседними считаются восемь смежных клеток по диагонали.

Игра Сапёр --- не тривиальная, и часто в ней невозможно выиграть наверняка. Давайте рассмотрим упрощённую версию: одномерный Сапёр. Она играется на поле с всего двумя строчками, размера 2×N2 \times N. В первой строки расположены мины, а вторая строка пустая. Таким образом, каждая клетка второй строки всегда может быть открыта, и в ней записано число от 00 до 33 --- количество мин в трёх соседних клетках первой строки (двух в случае крайних клеток).

Вот пример поля одномерного Сапёра ширины 66:

[이미지 1]

Проблема в том, что даже в одномерном Сапёре решение не всегда можно гарантированно найти. Мы предлагаем вам для каждого NN посчитать количество возможный полей ширины NN, которые можно гарантированно решить, не полагаясь на удачу.

입력

В единственной строке дано одно целое число NN --- ширина поля (1N1051 \le N \le 10^5).

출력

Выведите единственное число --- количество различных полей размера 2×N2 \times N, которые можно гарантированно решить, по модулю 109+710^9 + 7. Иными словами, если xx --- количество таких полей, выведите xmod109+7x \mod 10^9 + 7. Два поля считаются различными, если мины в них расположены не на одних и тех же местах.

힌트

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

[이미지 2]

Есть два других поля ширины 22, но их невозможно отличить друг от друга просто посмотрев на нижний ряд:

[이미지 3]

예제

예제 1

입력
1
출력
2

예제 2

입력
2
출력
2
코드를 제출하려면 로그인하세요.