class
Program
{
static
int
MOD = (
int
)1e9 + 7;
static
int
[][] dp =
new
int
[1000001][];
static
int
recur(
int
i,
int
j,
int
N,
int
[] id)
{
if
(i == N)
{
return
1;
}
if
(dp[i][j] != -1)
return
dp[i][j];
int
ans = 0;
for
(
int
k = 1; k <= 26; k++)
{
if
(i == 0 && k == 1)
continue
;
if
(i == N - 1 && k == 26)
continue
;
if
(i <= 1)
{
if
(id[k] == 1)
ans += recur(i + 1, (2 * j) | 1, N, id);
else
ans += recur(i + 1, 2 * j, N, id);
}
else
{
ans += recur(i + 1, (2 * j) | 1, N, id);
if
(j != 1)
ans += recur(i + 1, 2 * j, N, id);
}
}
dp[i][j] = ans;
return
ans;
}
static
int
countWaysTo(
int
N)
{
for
(
int
i = 0; i < dp.Length; i++)
{
dp[i] =
new
int
[6];
for
(
int
j = 0; j < 6; j++)
{
dp[i][j] = -1;
}
}
int
[] id =
new
int
[27];
for
(
int
i = 1; i <= 26; i++)
{
if
(i == 1 || i == 5 || i == 9 || i == 15 || i == 21)
id[i] = 1;
else
id[i] = 2;
}
return
recur(0, 0, N, id);
}
static
void
Main(
string
[] args)
{
int
N = 1;
Console.WriteLine(countWaysTo(N));
int
N1 = 2;
Console.WriteLine(countWaysTo(N1));
}
}