//assuming both arrays are sorted and have all elements as distinct
//even the combination of these array (A + B) elements are all distinct.....
#include <bits/stdc++.h>
using namespace std ;
typedef long long int ll;
#define rep(i, l, r) for ((i) = (l); (i) <=(r); (i)++)
ll L[2000][2000];
bool compare(const pair<ll,ll>&p1, const pair<ll,ll>&p2)
{
if(p1.first < p2.first) return true;
if(p1.first == p2.first) return p1.second < p2.second;
return false;
}
int main()
{
ll n;cin>>n;
ll i = 1 ;
vector< pair <ll,ll> > v;
while(i<=n)
{
ll x;
cin>>x; ll y = 1 ;
v.push_back( make_pair(x,y) );
i++;
}
ll m;cin>>m ;
i=1;
while(i<=m)
{
ll x ; cin>>x; ll y = 0 ;
v.push_back( make_pair(x,y) );
i++;
}
sort(v.begin(),v.end(),compare);
n=n+m ;
L[n-1][n-2]=2;
ll j;
j=n-2;
while(j>=1)
{
// cout<<v[j].first<<"\n";
ll l1=n-1;
ll l2=0;
ll i3 = j-1;
ll i4=j+1;
// cout<<i4<<"\n";
while(i4<=n-1)
{
// cout<<i4<<" "<<v[i4].second ;
//cout<<"\n";
if(v[i4].second==1)
{
l1=i4;
i4=1e18;
}
i4++;
}
// cout<<l1<<"\n";
while(i3>=0)
{
if(v[i3].second==1)
{
l2=i3;
i3=-1e18;
}
i3--;
}
// cout<<l1<<" "<<l2;
// cout<<"\n";
ll i1=j-1;
ll i2=j+1;
while(i1>=l2 && i2<=l1)
{
ll mg = v[i1].first+v[i2].first;
if((2*v[j].first)==mg)
{ll ream = 2 ;
L[i1][j] = max(ream,L[j][i2]) + 1 ;
cout<<i1<<" "<<j<<" "<<L[i1][j];
cout<<"\n";
i1--;
i2++;
}
else if(2*v[j].first<mg)
{//cout<<"lol!!!";
i1--;
}
else
{
i2++;
}
}
j--;
}
ll answer = 3-1;
rep(i,0,n-1)
{
rep(j,0,n-1)
{
answer = max(answer,L[i][j]) ;
}
}
cout<<"Final Answer : ----- >>>>";
cout<<answer ;
/*
5
2 5 6 8 9
5
1 4 7 12 14
*/
return 0 ;
}
Ly9hc3N1bWluZyBib3RoIGFycmF5cyBhcmUgc29ydGVkIGFuZCBoYXZlIGFsbCBlbGVtZW50cyBhcyBkaXN0aW5jdAovL2V2ZW4gdGhlIGNvbWJpbmF0aW9uIG9mIHRoZXNlIGFycmF5IChBICsgQikgZWxlbWVudHMgYXJlIGFsbCBkaXN0aW5jdC4uLi4uCiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkIDsKdHlwZWRlZiBsb25nIGxvbmcgaW50IGxsOwojZGVmaW5lIHJlcChpLCBsLCByKSBmb3IgKChpKSA9IChsKTsgKGkpIDw9KHIpOyAoaSkrKykKbGwgTFsyMDAwXVsyMDAwXTsKYm9vbCBjb21wYXJlKGNvbnN0IHBhaXI8bGwsbGw+JnAxLCBjb25zdCBwYWlyPGxsLGxsPiZwMikKewogICAgaWYocDEuZmlyc3QgPCBwMi5maXJzdCkgcmV0dXJuIHRydWU7CiAgICAgICAgaWYocDEuZmlyc3QgPT0gcDIuZmlyc3QpIHJldHVybiBwMS5zZWNvbmQgPCBwMi5zZWNvbmQ7CiAgICAgICAgcmV0dXJuIGZhbHNlOwp9CmludCBtYWluKCkKewogICAgCiAgbGwgbjtjaW4+Pm47CiAgbGwgaSA9IDEgIDsKICB2ZWN0b3I8IHBhaXIgPGxsLGxsPiA+IHY7IAogIHdoaWxlKGk8PW4pCiAgewogICAgICBsbCB4OwogICAgICBjaW4+Png7IGxsIHkgPSAxIDsKICAgICAgdi5wdXNoX2JhY2soIG1ha2VfcGFpcih4LHkpICk7IAogICAgICBpKys7CiAgfQogIGxsIG07Y2luPj5tICA7IAogIGk9MTsKICB3aGlsZShpPD1tKQogIHsKICAgICAgbGwgeCA7IGNpbj4+eDsgbGwgeSA9IDAgOwogICAgICB2LnB1c2hfYmFjayggbWFrZV9wYWlyKHgseSkgKTsgCiAgICAgIGkrKzsKICB9CiAgICAKICAgIHNvcnQodi5iZWdpbigpLHYuZW5kKCksY29tcGFyZSk7CiAgICBuPW4rbSA7IAogICAgTFtuLTFdW24tMl09MjsKICAgIGxsIGo7CiAgICBqPW4tMjsKICAgIHdoaWxlKGo+PTEpCiAgICB7CiAgICAgIC8vIGNvdXQ8PHZbal0uZmlyc3Q8PCJcbiI7IAogICAgICAgbGwgbDE9bi0xOwogICAgICAgbGwgbDI9MDsKICAgICAgIGxsIGkzID0gai0xOwogICAgICAgbGwgaTQ9aisxOwogICAvLyAgICBjb3V0PDxpNDw8IlxuIjsKICAgICAgIHdoaWxlKGk0PD1uLTEpCiAgICAgICB7CiAgICAgICAgIC8vICBjb3V0PDxpNDw8IiAiPDx2W2k0XS5zZWNvbmQgOwogICAgICAgICAgIC8vY291dDw8IlxuIjsgCiAgICAgICAgICAgaWYodltpNF0uc2Vjb25kPT0xKQogICAgICAgICAgIHsKICAgICAgICAgICAgICAgbDE9aTQ7CiAgICAgICAgICAgICAgIGk0PTFlMTg7CiAgICAgICAgICAgfQogICAgICAgICAgIAogICAgICAgICAgIAogICAgICAgICAgIGk0Kys7CiAgICAgICB9CiAgICAgICAKICAgLy8gICAgY291dDw8bDE8PCJcbiI7IAogICAgICAgICB3aGlsZShpMz49MCkKICAgICAgIHsKICAgICAgICAgICAKICAgICAgICAgICBpZih2W2kzXS5zZWNvbmQ9PTEpCiAgICAgICAgICAgewogICAgICAgICAgICAgICBsMj1pMzsKICAgICAgICAgICAgICAgaTM9LTFlMTg7CiAgICAgICAgICAgfQogICAgICAgICAgIAogICAgICAgICAgIAogICAgICAgICAgIGkzLS07CiAgICAgICB9CiAgICAgICAKICAgICAgIAogICAgICAgCiAgICAgICAKICAvLyAgICAgY291dDw8bDE8PCIgIjw8bDI7CiAgICAgIC8vIGNvdXQ8PCJcbiI7IAogICAgICAgCiAgICAgICAKICAgICAgIAogICAgICAgCiAgICAgICAKICAgICAgIAogICAgICAgCiAgICAgICAgbGwgaTE9ai0xOwogICAgICAgIGxsIGkyPWorMTsKICAgICAgICB3aGlsZShpMT49bDIgJiYgaTI8PWwxKQogICAgICAgIHsKICAgICAgICAgICAgbGwgbWcgPSB2W2kxXS5maXJzdCt2W2kyXS5maXJzdDsKICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAKICAgICAgICBpZigoMip2W2pdLmZpcnN0KT09bWcpCiAgICAgICAge2xsIHJlYW0gPSAyIDsKICAgICAgICAgTFtpMV1bal0gPSBtYXgocmVhbSxMW2pdW2kyXSkgKyAxIDsgCiAgICAgICAgIGNvdXQ8PGkxPDwiICI8PGo8PCIgIjw8TFtpMV1bal07CiAgICAgICAgIGNvdXQ8PCJcbiI7CiAgICAgICAgIGkxLS07CiAgICAgICAgIGkyKys7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoMip2W2pdLmZpcnN0PG1nKQogICAgICAgIHsvL2NvdXQ8PCJsb2whISEiOwogICAgICAgICAgICBpMS0tOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBpMisrOwogICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgai0tOwogICAgfQogICAgCiAgICAKICAgIAogICAgCiAgICAKICAgICBsbCBhbnN3ZXIgID0gMy0xOyAKICAgICAgICByZXAoaSwwLG4tMSkKICAgIHsKICAgICAgICByZXAoaiwwLG4tMSkKICAgICAgICB7CiAgICAgICAgICAgIGFuc3dlciA9IG1heChhbnN3ZXIsTFtpXVtqXSkgOyAgCiAgICAgICAgfQogICAgfQogICAgCiAgICAKICAgIGNvdXQ8PCJGaW5hbCBBbnN3ZXIgOiAgIC0tLS0tID4+Pj4iOwogICAgY291dDw8YW5zd2VyICA7IAogICAgCiAgICAKICAgIAogICAgCiAgICAKICAgIAogICAgLyoKICAgIDUKMiA1IDYgOCA5IAo1CjEgNCA3IDEyIDE0IAogICAgKi8KICAgIAogICAgCiAgICAKICAgIAogICAgCiAgICAKICAgIAogICAgCiAgICAKICAgIAogICAgCiAgICAKICAgIAogICAgCiAgICAKICAgIAogICAgCiAgICAKICAgIAogICAgCiAgICAKICAgIAogICAgCiAgICAKICAgIAogICAgCiAgICAKICAgIAogICAgCiAgICAKICAgIAogICAgCiAgICAKICAgIAogICAgcmV0dXJuIDAgOwp9