#include <bits/stdc++.h>
using namespace std;
int dp[26][1510][1510];
int ans[26][1510];
int main() {
  int n, i, j, k;
  cin >> n;
  char arr[1510];
  cin >> arr;
  for (i = 'a'; i <= 'z'; i++) {
    for (j = 0; j <= n; j++) {
      for (k = 1; k <= n; k++) {
        if (arr[k - 1] == i) {
          dp[i - 'a'][j][k] = dp[i - 'a'][j][k - 1] + 1;
        } else {
          if (j)
            dp[i - 'a'][j][k] = dp[i - 'a'][j - 1][k - 1] + 1;
          else
            dp[i - 'a'][j][k] = 0;
        }
        ans[i - 'a'][j] = max(ans[i - 'a'][j], dp[i - 'a'][j][k]);
      }
    }
  }
  int m;
  cin >> m;
  int q1;
  char q2;
  for (i = 0; i < m; i++) {
    cin >> q1 >> q2;
    cout << ans[q2 - 'a'][q1] << endl;
  }
  return 0;
}
