#include <bits/stdc++.h>
using namespace std;
#define fu(i, a, b) for (int i = a; i <= b; i++)
#define int long long
#define task "test"
const int MAXN = 1e6 + 5;
const int MOD = 1e9 + 7;
const int BASE = 35;
string a,b;
int HASHA[MAXN], HASHB[MAXN], BASEPOW[MAXN];
int lenA, lenB;
int q;
int getA(int l, int r) {
return (HASHA[r] - HASHA[l - 1] * BASEPOW[r - l + 1] % MOD + MOD) % MOD;
}
int getB(int l, int r) {
return (HASHB[r] - HASHB[l - 1] * BASEPOW[r - l + 1] % MOD + MOD) % MOD;
}
void init() {
cin >> lenA >> lenB >> a >> b >> q;
BASEPOW[0] = 1;
int MAX = 1e6;
fu(i,1,MAX) BASEPOW[i] = (BASEPOW[i-1]*BASE)%MOD;
a = "&" + a, b = "&" + b;
fu(i,1,lenA) HASHA[i] = (HASHA[i-1]*BASE + (a[i] - 'a' + 1))%MOD;
fu(i,1,lenB) HASHB[i] = (HASHB[i-1]*BASE + (b[i] - 'a' + 1))%MOD;
}
void solve() {
while(q--) {
int l,r,u,v; cin >> l >> r >> u >> v;
int len1 = r - l + 1, len2 = v - u + 1;
int len = min(len1, len2), ans = 0;
int left = 0, right = len;
while(left<=right) {
int mid = (left + right) / 2;
if(getA(l,l+mid-1) == getB(u, u+mid-1)) {
ans = mid;
left = mid + 1;
}
else right = mid - 1;
}
if (ans == len) {
if (len1 == len2) cout << "=";
else if (len1 < len2) cout << "<";
else cout << ">";
}
else {
char chA = a[l + ans], chB = b[u + ans];
if (chA > chB) cout << ">";
else if (chA < chB) cout << "<";
else cout << "=";
}
}
}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
if (fopen(task ".inp", "r")) freopen(task ".inp", "r", stdin), freopen(task ".out", "w", stdout);
init();
solve();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGZ1KGksIGEsIGIpIGZvciAoaW50IGkgPSBhOyBpIDw9IGI7IGkrKykKI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgdGFzayAidGVzdCIKCmNvbnN0IGludCBNQVhOID0gMWU2ICsgNTsKY29uc3QgaW50IE1PRCA9IDFlOSArIDc7CmNvbnN0IGludCBCQVNFID0gMzU7CnN0cmluZyBhLGI7CmludCBIQVNIQVtNQVhOXSwgSEFTSEJbTUFYTl0sIEJBU0VQT1dbTUFYTl07CmludCBsZW5BLCBsZW5COwppbnQgcTsKCmludCBnZXRBKGludCBsLCBpbnQgcikgewogICAgcmV0dXJuIChIQVNIQVtyXSAtIEhBU0hBW2wgLSAxXSAqIEJBU0VQT1dbciAtIGwgKyAxXSAlIE1PRCArIE1PRCkgJSBNT0Q7Cn0KaW50IGdldEIoaW50IGwsIGludCByKSB7CiAgICByZXR1cm4gKEhBU0hCW3JdIC0gSEFTSEJbbCAtIDFdICogQkFTRVBPV1tyIC0gbCArIDFdICUgTU9EICsgTU9EKSAlIE1PRDsKfQoKCnZvaWQgaW5pdCgpIHsKICAgIGNpbiA+PiBsZW5BID4+IGxlbkIgPj4gYSA+PiBiID4+IHE7CiAgICBCQVNFUE9XWzBdID0gMTsKICAgIGludCBNQVggPSAxZTY7CiAgICBmdShpLDEsTUFYKSBCQVNFUE9XW2ldID0gKEJBU0VQT1dbaS0xXSpCQVNFKSVNT0Q7CiAgICBhID0gIiYiICsgYSwgYiA9ICImIiArIGI7CiAgICBmdShpLDEsbGVuQSkgSEFTSEFbaV0gPSAoSEFTSEFbaS0xXSpCQVNFICsgKGFbaV0gLSAnYScgKyAxKSklTU9EOwogICAgZnUoaSwxLGxlbkIpIEhBU0hCW2ldID0gKEhBU0hCW2ktMV0qQkFTRSArIChiW2ldIC0gJ2EnICsgMSkpJU1PRDsKfQoKdm9pZCBzb2x2ZSgpIHsKICAgIHdoaWxlKHEtLSkgewogICAgICAgIGludCBsLHIsdSx2OyBjaW4gPj4gbCA+PiByID4+IHUgPj4gdjsKICAgICAgICBpbnQgbGVuMSA9IHIgLSBsICsgMSwgbGVuMiA9IHYgLSB1ICsgMTsKICAgICAgICBpbnQgbGVuID0gbWluKGxlbjEsIGxlbjIpLCBhbnMgPSAwOwogICAgICAgIGludCBsZWZ0ID0gMCwgcmlnaHQgPSBsZW47CiAgICAgICAgd2hpbGUobGVmdDw9cmlnaHQpIHsKICAgICAgICAgICAgaW50IG1pZCA9IChsZWZ0ICsgcmlnaHQpIC8gMjsKICAgICAgICAgICAgaWYoZ2V0QShsLGwrbWlkLTEpID09IGdldEIodSwgdSttaWQtMSkpIHsKICAgICAgICAgICAgICAgIGFucyA9IG1pZDsKICAgICAgICAgICAgICAgIGxlZnQgPSBtaWQgKyAxOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgcmlnaHQgPSBtaWQgLSAxOwogICAgICAgIH0KICAgICAgICBpZiAoYW5zID09IGxlbikgewogICAgICAgICAgICBpZiAobGVuMSA9PSBsZW4yKSBjb3V0IDw8ICI9IjsKICAgICAgICAgICAgZWxzZSBpZiAobGVuMSA8IGxlbjIpIGNvdXQgPDwgIjwiOwogICAgICAgICAgICBlbHNlIGNvdXQgPDwgIj4iOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIGNoYXIgY2hBID0gYVtsICsgYW5zXSwgY2hCID0gYlt1ICsgYW5zXTsKICAgICAgICAgICAgaWYgKGNoQSA+IGNoQikgY291dCA8PCAiPiI7CiAgICAgICAgICAgIGVsc2UgaWYgKGNoQSA8IGNoQikgY291dCA8PCAiPCI7CiAgICAgICAgICAgIGVsc2UgY291dCA8PCAiPSI7IAogICAgICAgIH0KICAgIH0KfQoKc2lnbmVkIG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7CiAgICBpZiAoZm9wZW4odGFzayAiLmlucCIsICJyIikpIGZyZW9wZW4odGFzayAiLmlucCIsICJyIiwgc3RkaW4pLCBmcmVvcGVuKHRhc2sgIi5vdXQiLCAidyIsIHN0ZG91dCk7CiAgICBpbml0KCk7CiAgICBzb2x2ZSgpOwp9Cg==