#include <bits/stdc++.h>
using namespace std;
#define int long long
#define fu(i,a,b) for(int i=a;i<=b;++i)
#define fd(i,a,b) for(int i=a;i>=b;--i)
#define task "test"
const int MAXN = 1005;
int n, m;
int a[MAXN], b[MAXN];
void init() {
cin >> n;
fu(i, 1, n) cin >> a[i];
cin >> m;
fu(i, 1, m) cin >> b[i];
if(n > m) {
swap(n, m);
swap(a, b);
}
}
pair<int, int> check(int len) {
map<map<int,int>, int> seen;
map<int, int> freqA;
fu(i,1,len) freqA[a[i]]++;
seen[freqA] = 1;
fu(i,len+1,n) {
freqA[a[i - len]]--;
if(freqA[a[i - len]] == 0) freqA.erase(a[i - len]);
freqA[a[i]]++;
seen[freqA] = i - len + 1;
}
map<int, int> freqB;
fu(i,1,len) freqB[b[i]]++;
if(seen.count(freqB)) return {seen[freqB], 1};
fu(i,len+1,m) {
freqB[b[i - len]]--;
if(freqB[b[i - len]] == 0) freqB.erase(b[i - len]);
freqB[b[i]]++;
if(seen.count(freqB)) return {seen[freqB], i - len + 1};
}
return {-1, -1};
}
void solve() {
int l = 0, r = n;
int bestLen = 0, bestA = -1, bestB = -1;
while(l <= r) {
int mid = (l + r) / 2;
pair<int,int> res = check(mid);
if(res.first != -1) {
bestLen = mid;
bestA = res.first;
bestB = res.second;
l = mid + 1;
}
else r = mid - 1;
}
if(bestLen == 0) cout << "0 -1 -1";
else cout << bestLen << " " << bestA << " " << bestB;
}
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+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGludCBsb25nIGxvbmcKI2RlZmluZSBmdShpLGEsYikgZm9yKGludCBpPWE7aTw9YjsrK2kpCiNkZWZpbmUgZmQoaSxhLGIpIGZvcihpbnQgaT1hO2k+PWI7LS1pKQojZGVmaW5lIHRhc2sgInRlc3QiCgpjb25zdCBpbnQgTUFYTiA9IDEwMDU7CgppbnQgbiwgbTsKaW50IGFbTUFYTl0sIGJbTUFYTl07Cgp2b2lkIGluaXQoKSB7CiAgICBjaW4gPj4gbjsKICAgIGZ1KGksIDEsIG4pIGNpbiA+PiBhW2ldOwogICAgY2luID4+IG07CiAgICBmdShpLCAxLCBtKSBjaW4gPj4gYltpXTsKCiAgICBpZihuID4gbSkgewogICAgICAgIHN3YXAobiwgbSk7CiAgICAgICAgc3dhcChhLCBiKTsKICAgIH0KfQoKcGFpcjxpbnQsIGludD4gY2hlY2soaW50IGxlbikgewogICAgbWFwPG1hcDxpbnQsaW50PiwgaW50PiBzZWVuOwogICAgbWFwPGludCwgaW50PiBmcmVxQTsKCiAgICBmdShpLDEsbGVuKSBmcmVxQVthW2ldXSsrOwogICAgc2VlbltmcmVxQV0gPSAxOwoKICAgIGZ1KGksbGVuKzEsbikgewogICAgICAgIGZyZXFBW2FbaSAtIGxlbl1dLS07CiAgICAgICAgaWYoZnJlcUFbYVtpIC0gbGVuXV0gPT0gMCkgZnJlcUEuZXJhc2UoYVtpIC0gbGVuXSk7CiAgICAgICAgZnJlcUFbYVtpXV0rKzsKICAgICAgICBzZWVuW2ZyZXFBXSA9IGkgLSBsZW4gKyAxOwogICAgfQoKICAgIG1hcDxpbnQsIGludD4gZnJlcUI7CiAgICBmdShpLDEsbGVuKSBmcmVxQltiW2ldXSsrOwogICAgaWYoc2Vlbi5jb3VudChmcmVxQikpIHJldHVybiB7c2VlbltmcmVxQl0sIDF9OwoKICAgIGZ1KGksbGVuKzEsbSkgewogICAgICAgIGZyZXFCW2JbaSAtIGxlbl1dLS07CiAgICAgICAgaWYoZnJlcUJbYltpIC0gbGVuXV0gPT0gMCkgZnJlcUIuZXJhc2UoYltpIC0gbGVuXSk7CiAgICAgICAgZnJlcUJbYltpXV0rKzsKICAgICAgICBpZihzZWVuLmNvdW50KGZyZXFCKSkgcmV0dXJuIHtzZWVuW2ZyZXFCXSwgaSAtIGxlbiArIDF9OwogICAgfQoKICAgIHJldHVybiB7LTEsIC0xfTsKfQoKdm9pZCBzb2x2ZSgpIHsKICAgIGludCBsID0gMCwgciA9IG47CiAgICBpbnQgYmVzdExlbiA9IDAsIGJlc3RBID0gLTEsIGJlc3RCID0gLTE7CgogICAgd2hpbGUobCA8PSByKSB7CiAgICAgICAgaW50IG1pZCA9IChsICsgcikgLyAyOwogICAgICAgIHBhaXI8aW50LGludD4gcmVzID0gY2hlY2sobWlkKTsKICAgICAgICBpZihyZXMuZmlyc3QgIT0gLTEpIHsKICAgICAgICAgICAgYmVzdExlbiA9IG1pZDsKICAgICAgICAgICAgYmVzdEEgPSByZXMuZmlyc3Q7CiAgICAgICAgICAgIGJlc3RCID0gcmVzLnNlY29uZDsKICAgICAgICAgICAgbCA9IG1pZCArIDE7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHIgPSBtaWQgLSAxOwogICAgICAgIAogICAgfQoKICAgIGlmKGJlc3RMZW4gPT0gMCkgY291dCA8PCAiMCAtMSAtMSI7CiAgICBlbHNlIGNvdXQgPDwgYmVzdExlbiA8PCAiICIgPDwgYmVzdEEgPDwgIiAiIDw8IGJlc3RCOwp9CgpzaWduZWQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKICAgIGlmIChmb3Blbih0YXNrICIuaW5wIiwgInIiKSkgZnJlb3Blbih0YXNrICIuaW5wIiwgInIiLCBzdGRpbiksIGZyZW9wZW4odGFzayAiLm91dCIsICJ3Iiwgc3Rkb3V0KTsKICAgIGluaXQoKTsKICAgIHNvbHZlKCk7Cn0=