#include <bits/stdc++.h>
#include "sequence.h"
#define ll long long
using namespace std;
int sequence(int N, std::vector<int> A) {
int ans = 1;
for(int i = 0; i < N; i++)
{
multiset<int>a, b;
map<int,int>mp;
for(int j = i; j < N; j++)
{
mp[A[j]]++;
if(a.empty())
{
a.insert(A[j]);
}
else
{
auto it = *(--a.end());
if(A[j] > it) b.insert(A[j]);
else a.insert(A[j]);
}
int asz = a.size(), bsz = b.size();
while(asz-bsz > 1)
{
auto it = *(--a.end());
b.insert(it);
a.erase((--a.end()));
asz = a.size(), bsz = b.size();
}
while(bsz-asz > 1)
{
auto it = *b.begin();
a.insert(it);
b.erase(b.begin());
asz = a.size(), bsz = b.size();
}
auto it = 0;
vector<int>med;
if(asz > bsz)
{
med.push_back(*(--a.end()));
}
else if(bsz > asz)
{
med.push_back(*b.begin());
}
else
{
med.push_back(*(--a.end()));
med.push_back(*b.begin());
}
for(auto it:med) ans = max(ans, mp[it]);
}
}
return ans;
}