#include <iostream>
#include <algorithm>
#include <stdint.h>
using namespace std;
#define int long long
const int mod = 1e19;
const int base = 41;
const int maxn = 1e5 + 5;
int pow[maxn];
int hashT[maxn];
int hashP[maxn];
int lt,l,r;
void build_hash(string s,int H[])
{
for (int i = 1;i <= lt;i++)
H[i] = (H[i-1]*base + s[i] - 'a' + 1) % mod;
}
int Gethash(int l,int r,int H[])
{
return (H[r] - H[l-1]*pow[r-l+1] + mod*mod) % mod;
}
int32_t main()
{
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin >> lt;
string s;
cin >> s;
pow[0] = 1;
for (int i = 1;i <= lt;i++)
pow[i] = (pow[i-1]*base) % mod;
build_hash(" " + s,hashT);
reverse(s.begin(),s.end());
build_hash(" " + s,hashP);
int t;cin >> t;
while (t--)
{
cin >> l >> r;
if (Gethash(l,r,hashT) == Gethash(lt-r+1,lt-l+1,hashP))
cout << "YES" << '\n';
else
cout << "NO" << '\n';
}
}