AT_abc122_d [ABC122D] We Like AGC

Description

[problemUrl]: https://atcoder.jp/contests/abc122/tasks/abc122_d 整数 $ N $ が与えられます。次の条件を満たす長さ $ N $ の文字列の数を $ 10^9+7 $ で割った余りを求めてください。 - `A`, `C`, `G`, `T` 以外の文字を含まない。 - `AGC` を部分文字列として含まない。 - 隣接する $ 2 $ 文字の入れ替えを $ 1 $ 回行うことで上記の条件に違反させることはできない。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $

Output Format

条件を満たす文字列の数を $ 10^9+7 $ で割った余りを出力せよ。

Explanation/Hint

### 注記 文字列 $ T $ の部分文字列とは、$ T $ の先頭と末尾から $ 0 $ 文字以上を取り去って得られる文字列です。 例えば、`ATCODER` の部分文字列には `TCO`, `AT`, `CODER`, `ATCODER`, `` (空文字列) が含まれ、`AC` は含まれません。 ### 制約 - $ 3\ \leq\ N\ \leq\ 100 $ ### Sample Explanation 1 `A`, `C`, `G`, `T` 以外の文字を含まない長さ $ 3 $ の文字列は $ 4^3\ =\ 64 $ 通り存在し、そのうち `AGC`, `ACG`, `GAC` のみが条件に違反するため、答えは $ 64\ -\ 3\ =\ 61 $ 通りです。 ### Sample Explanation 3 文字列の数を $ 10^9+7 $ で割った余りを出力することをお忘れなく。