using
System;
class
GFG{
static
readonly
long
mod = 1000000007;
static
long
binExp(
long
Base,
long
power)
{
long
x = 1;
while
(power != 0)
{
if
(power % 2 == 1)
x = ((x % mod) *
(Base % mod)) % mod;
Base = ((Base % mod) *
(Base % mod)) % mod;
power = power / 2;
}
return
x;
}
static
long
fact(
long
num)
{
long
result = 1;
for
(
long
i = 1; i <= num; ++i)
{
result = ((result % mod) *
(i % mod)) % mod;
}
return
result;
}
static
long
calculate_nCi(
long
N,
long
i)
{
long
nfact = fact(N);
long
ifact = fact(i);
long
dfact = fact(N - i);
long
inv_ifact = binExp(ifact, mod - 2);
long
inv_dfact = binExp(dfact, mod - 2);
long
denm = ((inv_ifact % mod) *
(inv_dfact % mod)) % mod;
long
answer = ((nfact % mod) *
(denm % mod)) % mod;
return
answer;
}
static
void
countSubstring(
long
N,
long
s,
long
k)
{
long
allWays = binExp(26, N);
long
noWays = 0;
for
(
long
i = 0; i < s; ++i)
{
long
nCi = calculate_nCi(N, i);
long
remaining = binExp(25, N - i);
long
multiply = ((nCi % mod) *
(remaining % mod)) % mod;
noWays = ((noWays % mod) +
(multiply % mod)) % mod;
}
long
answer = ((allWays % mod) -
(noWays % mod)) % mod;
if
(answer < 0)
answer += mod;
Console.WriteLine(answer);
}
public
static
void
Main(String[] args)
{
String str =
"abc"
;
long
k = 2;
long
s = str.Length;
long
N = s + k;
countSubstring(N, s, k);
}
}