#include <bits/stdc++.h>
using namespace std;
struct query {
  int id, n;
};
vector<query> ql[101000];
query now;
int m, len, n, ans[101000], sum[101000], qm, fac[201000], inv[201000],
    ex[110000];
char str[101000];
const int mod = 1e9 + 7;
int power(int a, int n) {
  if (n == 0) return 1;
  int res = power(a, n / 2);
  res = (int)((long long)res * (long long)res % mod);
  if (n % 2) res = (int)((long long)res * (long long)a % mod);
  return res;
}
int main() {
  int i, j, s, p, q, flag, sz = 0, tmp;
  qm = (int)((long long)25 * (long long)power(26, mod - 2) % mod);
  for (i = 0; i <= 100000; i++) {
    if (i == 0)
      ex[i] = 1;
    else
      ex[i] = (int)((long long)ex[i - 1] * (long long)qm % mod);
  }
  for (i = 0; i <= 200000; i++) {
    if (i == 0)
      fac[i] = 1;
    else
      fac[i] = (int)((long long)fac[i - 1] * (long long)i % mod);
  }
  inv[200000] = power(fac[200000], mod - 2);
  for (i = 199999; i >= 0; i--)
    inv[i] = (int)((long long)(i + 1) * (long long)inv[i + 1] % mod);
  scanf("%d%s", &m, str);
  len = strlen(str);
  while (m--) {
    scanf("%d", &flag);
    if (flag == 1) {
      scanf("%s", str);
      len = strlen(str);
    } else {
      scanf("%d", &n);
      now.id = sz++;
      now.n = n;
      ql[len].push_back(now);
    }
  }
  for (i = 1; i <= 100000; i++) {
    int ax = 0;
    for (j = 0; j < ql[i].size(); j++) {
      if (ax < ql[i][j].n) ax = ql[i][j].n;
    }
    for (j = 0; j <= ax - i; j++) {
      tmp = (int)((long long)fac[j + i - 1] * (long long)inv[j] % mod);
      tmp = (int)((long long)tmp * (long long)inv[i - 1] % mod);
      tmp = (int)((long long)tmp * (long long)ex[j] % mod);
      if (j > 0)
        sum[j] = (sum[j - 1] + tmp) % mod;
      else
        sum[j] = tmp;
    }
    for (j = 0; j < ql[i].size(); j++) {
      if (ql[i][j].n < i)
        ans[ql[i][j].id] = 0;
      else
        ans[ql[i][j].id] = (int)((long long)power(26, ql[i][j].n - i) *
                                 (long long)sum[ql[i][j].n - i] % mod);
    }
  }
  for (i = 0; i < sz; i++) printf("%d\n", ans[i]);
  return 0;
}
