\begin{problem}{Стадион}{stadium.in}{stadium.out}{2 секунды}

%Автор задачи: Артем Васильев
%Автор условия: Алексей Цыпленков

%Имеется один ряд в театре из n мест. Посчитать количество перестановок таких, что если 
%люди занимают свои места в таком порядке, никому не придется привстать, чтобы пропустить 
%другого на свое место.

В Берляндии скоро пройдет чемпионат мира по футболу, и сейчас активно ведется его подготовка.
Для проведения особо важных матчей и церемоний открытия и закрытия планируется построить
новый стадион, который должен стать самым большим из известных человечеству. Однако, если
стадион будет очень большим, то зрители могут рассаживаться очень долго. Для решения этой 
проблемы был создан специальный отдел оптимизации стадиона.

По проекту, зрительские места на стадионе будет разбиты на несколько одинаковых секторов.
Сектор представляет из себя нескольких рядов кресел по $m$ кресел в каждом ряду с двумя проходами по
бокам, так что к каждому месту можно будет пройти справа или слева. В каждом ряду кресла пронумерованы
слева направо. Способом рассадки зрителей в одном ряду отдел называет перестановку чисел от единицы 
до $m$, соответствующую порядку, в котором зрители занимают свои места в этом ряду. Хорошим способом
назовем такой способ, при котором никакому зрителю не придется проходить на
пути к своему месту мимо уже сидящего человека. Вас же попросили посчитать, сколько существует различных таких способов.
Считается, что очередной зритель начинает идти к своему месту только тогда, когда 
предыдущий за ним (если такой был) уже занял свое место.

\InputFile
В входном файле содержится одно целое число $m$ ($1 \le m \le 10^{18}$)~--- число мест в каждом ряду.

\OutputFile
В выходной файл выведите одно число~--- число различных хороших способов рассадки зрителей по модулю $10^9 + 7$.

\begin{example}%
\exmp{
1
}{
1
}%
\exmp{
3
}{
4
}%
\end{example}

\end{problem}
