#include <bits/stdc++.h>
using namespace std;
char s[201000], str[201000];
int num[30][201000];
int nu[30];
int cnt[30];
int main() {
  int n, m;
  cin >> n;
  cin >> str;
  for (register int i = (0); i < (30); i++) cnt[i] = 1;
  for (register int i = (0); i < (n); i++)
    num[str[i] - 'a'][cnt[str[i] - 'a']++] = i + 1;
  cin >> m;
  while (m--) {
    cin >> s;
    int len = strlen(s);
    memset((nu), (0), sizeof(nu));
    for (register int i = (0); i < (len); i++) nu[s[i] - 'a']++;
    int ans = 0;
    for (register int i = (0); i < (26); i++) {
      ans = max(ans, num[i][nu[i]]);
    }
    cout << ans << endl;
  }
  return ~~(0 ^ 0 ^ 0);
}
