//  #牛客春招刷题训练营# https://www.nowcoder.com/discuss/726480854079250432
//  参考的是题解中第一篇的解法二,我感觉哪个讲的更好一点
#include <iostream>
#include <array>
using namespace std;

const int mod = static_cast<int>(1e9 + 7);
array<array<long long int, 3>, 2> a;

int main() {
  long long ans = 0;
  int n;
  cin >> n;
  a[0][0] = 25;
  a[0][1] = 1;
  a[0][2] = 0;
  for (int i = 1; i < n; i++){
    a[1][0] = a[0][0] * 25 % mod;//---------当前长度(i+1)的字符中没有字符u的数量是在长度为i没有u的字符串后面随便加一个除了u以外的字符,选项有25个
    a[1][1] = (a[0][0] + a[0][1] * 25) % mod;//------长度i+1有字符u但是没有字串us是在长度为i没有u的后面加一个u(只有一个选项),或在长度为i有u没us的字符串后面加一个除了s以外的字符(25个选项)
    a[1][2] = (a[0][1] + a[0][2] * 26) % mod;//-------长度为i+1有字串us,是在长度i有u的后面加一个s(一个选项),或在长度i有us的后面加上任意字符(选项26个)
    for (int j = 0; j < 3; j++){
      a[0][j] = a[1][j];
    }
    ans += a[1][2];//---------题目求的是长度不超过n的字符串,所以各个长度的答案都要累加
    ans %= mod;
  }
  cout << ans;
  return 0;
}
// 64 位输出请用 printf("%lld")