#include <bits/stdc++.h>
using namespace std;
const int N = 100500;
const int SQRT_N = 500;
const int MOD = (int)1e9 + 7;
int add(int a, int b) {
  a += b;
  if (a >= MOD) a -= MOD;
  return a;
}
int sub(int a, int b) {
  a -= b;
  if (a < 0) a += MOD;
  return a;
}
int mul(int a, int b) { return (long long)a * b % MOD; }
int bin_pow(int a, int b) {
  int res = 1;
  while (b > 0) {
    if (b % 2 == 1) res = mul(res, a);
    a = mul(a, a);
    b /= 2;
  }
  return res;
}
int get_inv(int a) { return bin_pow(a, MOD - 2); }
int fact[N], inv_fact[N];
int get_comb(int n, int k) {
  int up = fact[n];
  int down = mul(inv_fact[k], inv_fact[n - k]);
  return mul(up, down);
}
int n;
char s[N];
int all_lens[N], lsz;
int res[SQRT_N][N];
pair<int, int> queries[N];
int qsz;
void solve_len(int id, int len) {
  int pw25 = 1;
  int pw26_step = get_inv(26);
  int pw26 = bin_pow(pw26_step, len);
  for (int x = len - 1; x < N; x++) {
    int C = get_comb(x, len - 1);
    res[id][x] = mul(C, mul(pw25, pw26));
    pw25 = mul(pw25, 25);
    pw26 = mul(pw26, pw26_step);
  }
  for (int x = len; x < N; x++) res[id][x] = add(res[id][x], res[id][x - 1]);
}
void solve() {
  fact[0] = inv_fact[0] = 1;
  for (int i = 1; i < N; i++) {
    fact[i] = mul(fact[i - 1], i);
    inv_fact[i] = get_inv(fact[i]);
  }
  scanf("%d%s", &n, s);
  int cur_len = strlen(s);
  all_lens[lsz++] = cur_len;
  for (int i = 0; i < n; i++) {
    int t;
    scanf("%d", &t);
    if (t == 1) {
      scanf("%s", s);
      cur_len = strlen(s);
      all_lens[lsz++] = cur_len;
    } else {
      int q;
      scanf("%d", &q);
      queries[qsz++] = make_pair(q, cur_len);
    }
  }
  sort(all_lens, all_lens + lsz);
  lsz = unique(all_lens, all_lens + lsz) - all_lens;
  assert(lsz <= SQRT_N);
  for (int i = 0; i < lsz; i++) solve_len(i, all_lens[i]);
  for (int i = 0; i < qsz; i++) {
    int q = queries[i].first;
    int len = queries[i].second;
    int id = lower_bound(all_lens, all_lens + lsz, len) - all_lens;
    int ans = 0;
    ans = res[id][q - 1];
    if (len - 1 > 0) ans = sub(ans, res[id][len - 2]);
    ans = mul(ans, bin_pow(26, q));
    printf("%d\n", ans);
  }
}
int main() {
  solve();
  0;
  return 0;
}
