#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ull;
const int N = 1000010;
ull base = 131;
ull h[N], po[N];
char s[N];
ull getHash(int l, int r)
{
if(l == 0) return h[r];
return h[r] - h[l - 1] * po[r - l + 1];
}
int main()
{
int m;
cin >> s >> m;
po[0] = 1;
h[0] = (ull)s[0];
for(int i = 1; i < strlen(s); i++)
{
h[i] = h[i - 1] * base + (ull)s[i];
po[i] = po[i - 1] * base;
}
for(int i = 1; i <= m; i++)
{
int l1, r1, l2, r2;
cin >> l1 >> r1 >> l2 >> r2;
l1--, r1--, l2--, r2--;
if(getHash(l1, r1) == getHash(l2, r2)) cout << "Yes" << endl;
else cout << "No" << endl;
}
return 0;
}