#include <bits/stdc++.h>
using namespace std;
struct query {
  int n, str_l, id;
  friend bool operator<(query a, query b) { return a.str_l < b.str_l; }
};
const long long MOD = 1e9 + 7;
const int maxn = 1e5 + 5;
int n, str_len;
char str[maxn];
long long ans[maxn], fac[maxn], ifac[maxn], inv[maxn], q25[maxn], q26[maxn],
    iq26[maxn];
long long s[maxn];
query q[maxn];
int q_len;
int read_int() {
  int t = 1, m = 0;
  char ch = getchar();
  while (ch < '0' || ch > '9') {
    if (ch == '-') t = -1;
    ch = getchar();
  }
  while ('0' <= ch && ch <= '9')
    m = (m << 3) + (m << 1) + ch - '0', ch = getchar();
  return t * m;
}
void init() {
  fac[0] = fac[1] = ifac[0] = ifac[1] = inv[1] = 1;
  q25[0] = q26[0] = iq26[0] = 1;
  for (int i = 2; i < maxn; i++) {
    fac[i] = fac[i - 1] * i % MOD;
    inv[i] = (MOD - MOD / i) * inv[MOD % i] % MOD;
    ifac[i] = ifac[i - 1] * inv[i] % MOD;
  }
  for (int i = 1; i < maxn; i++)
    iq26[i] = iq26[i - 1] * inv[26] % MOD, q25[i] = q25[i - 1] * 25 % MOD,
    q26[i] = q26[i - 1] * 26 % MOD;
}
long long qpow(long long a, long long b) {
  long long c = 1;
  while (b) {
    if (b & 1) c = c * a % MOD;
    b >>= 1, a = a * a % MOD;
  }
  return c;
}
inline long long C(long long a, long long b) {
  return fac[a] * ifac[b] % MOD * ifac[a - b] % MOD;
}
int main() {
  init();
  int Q = read_int();
  scanf("%s", str), str_len = strlen(str);
  while (Q--) {
    int t = read_int();
    if (t == 1)
      scanf("%s", str), str_len = strlen(str);
    else
      q_len++, q[q_len].str_l = str_len, q[q_len].n = read_int(),
               q[q_len].id = q_len;
  }
  sort(q + 1, q + 1 + q_len);
  for (int t = 1; t <= q_len; t++) {
    n = q[t].n, str_len = q[t].str_l;
    if (str_len != q[t - 1].str_l) {
      memset(s, 0, sizeof(s));
      for (int i = str_len; i < maxn; i++)
        s[i] = (s[i - 1] + C(i - 1, str_len - 1) * iq26[i] % MOD *
                               q25[i - str_len] % MOD) %
               MOD;
    }
    ans[q[t].id] = q26[n] * s[n] % MOD;
  }
  for (int i = 1; i <= q_len; i++) printf("%lld\n", ans[i]);
  return 0;
}
