#include "sequence.h"
#include "bits/stdc++.h"
#define ff first
#define ss second
#define pp pop_back
#define ll long long
#define pb push_back
#define ls(v) (int)v.size()
#define all(v) v.begin(),v.end()
#define rall(v) v.rbegin(),v.rend()
#define wr cout << "------------------------" << endl
using namespace std;
int sequence(int n, vector<int> A) {
int ans = 0;
for(int i = 0;i<n;++i){
multiset<int> st;
map<int, int> mp;
st.insert(A[i]);
mp[A[i]] += 1;
auto a = st.begin();
auto b = st.begin();
int lens = 1;
for(int j = i + 1;j<n;++j){
int c = A[j];
st.insert(c);
mp[c] += 1;
if(lens & 1){
if(*b < c) ++b;
else if(c < *a) --a;
else ++ b;
}
else{
if(*b < c) a = b;
else if(c < *a) b = a;
else ++ a, b = a;
}
lens += 1;
ans = max(ans, (int)max(mp[*a], mp[*b]));
}
}
return ans;
}
/*
7
1 2 3 1 2 1 3
9
1 1 2 3 4 3 2 1 1
14
2 6 2 5 3 4 2 1 4 3 5 6 3 2
*/