#include <bits/stdc++.h>
using namespace std;
long long i, ans, j, c[1000000], d[1000000], a, e, p, n, s, b;
int main() {
  vector<long long> v[100];
  string s, s1;
  cin >> a >> s >> b;
  map<char, long long> m;
  map<char, long long>::iterator it;
  for (i = 0; i < s.size(); i++) {
    v[s[i] - 'a' + 1].push_back(i + 1);
  }
  for (i = 1; i <= b; i++) {
    cin >> s1;
    long long ans = 0;
    m.clear();
    for (j = 0; j < s1.size(); j++) {
      m[s1[j]]++;
    }
    for (it = m.begin(); it != m.end(); it++) {
      ans = max(ans, v[it->first - 'a' + 1][it->second - 1]);
    }
    cout << ans << endl;
  }
}
