#include <bits/stdc++.h>
using namespace std;
bool ok(const vector<long long>& v, long long x) {
int m = v.size();
for (int i = 0; i < m; i++) {
for (int j = i + 1; j < m; j++) {
long long a = v[i], b = v[j];
// ba khả năng tạo CSC
if (a + b == 2 * x) return false;
if (a + x == 2 * b) return false;
if (b + x == 2 * a) return false;
}
}
return true;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
vector<long long> a(n);
for (int i = 0; i < n; i++) cin >> a[i];
unordered_set<long long> st;
vector<long long> cur;
int L = 0, best = 0, bestL = 0;
for (int R = 0; R < n; R++) {
// đảm bảo không trùng
while (st.count(a[R])) {
st.erase(a[L]);
cur.erase(find(cur.begin(), cur.end(), a[L]));
L++;
}
// đảm bảo không tạo CSC
while (!ok(cur, a[R])) {
st.erase(a[L]);
cur.erase(find(cur.begin(), cur.end(), a[L]));
L++;
}
st.insert(a[R]);
cur.push_back(a[R]);
if ((int)cur.size() > best) {
best = cur.size();
bestL = L;
}
}
cout << best << "\n";
cout << bestL + 1 << " " << bestL + best << "\n";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpib29sIG9rKGNvbnN0IHZlY3Rvcjxsb25nIGxvbmc+JiB2LCBsb25nIGxvbmcgeCkgewogICAgaW50IG0gPSB2LnNpemUoKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbTsgaSsrKSB7CiAgICAgICAgZm9yIChpbnQgaiA9IGkgKyAxOyBqIDwgbTsgaisrKSB7CiAgICAgICAgICAgIGxvbmcgbG9uZyBhID0gdltpXSwgYiA9IHZbal07CiAgICAgICAgICAgIC8vIGJhIGto4bqjIG7Eg25nIHThuqFvIENTQwogICAgICAgICAgICBpZiAoYSArIGIgPT0gMiAqIHgpIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgaWYgKGEgKyB4ID09IDIgKiBiKSByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIGlmIChiICsgeCA9PSAyICogYSkgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiB0cnVlOwp9CgppbnQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CgogICAgaW50IG47CiAgICBjaW4gPj4gbjsKICAgIHZlY3Rvcjxsb25nIGxvbmc+IGEobik7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgY2luID4+IGFbaV07CgogICAgdW5vcmRlcmVkX3NldDxsb25nIGxvbmc+IHN0OwogICAgdmVjdG9yPGxvbmcgbG9uZz4gY3VyOwoKICAgIGludCBMID0gMCwgYmVzdCA9IDAsIGJlc3RMID0gMDsKCiAgICBmb3IgKGludCBSID0gMDsgUiA8IG47IFIrKykgewogICAgICAgIC8vIMSR4bqjbSBi4bqjbyBraMO0bmcgdHLDuW5nCiAgICAgICAgd2hpbGUgKHN0LmNvdW50KGFbUl0pKSB7CiAgICAgICAgICAgIHN0LmVyYXNlKGFbTF0pOwogICAgICAgICAgICBjdXIuZXJhc2UoZmluZChjdXIuYmVnaW4oKSwgY3VyLmVuZCgpLCBhW0xdKSk7CiAgICAgICAgICAgIEwrKzsKICAgICAgICB9CgogICAgICAgIC8vIMSR4bqjbSBi4bqjbyBraMO0bmcgdOG6oW8gQ1NDCiAgICAgICAgd2hpbGUgKCFvayhjdXIsIGFbUl0pKSB7CiAgICAgICAgICAgIHN0LmVyYXNlKGFbTF0pOwogICAgICAgICAgICBjdXIuZXJhc2UoZmluZChjdXIuYmVnaW4oKSwgY3VyLmVuZCgpLCBhW0xdKSk7CiAgICAgICAgICAgIEwrKzsKICAgICAgICB9CgogICAgICAgIHN0Lmluc2VydChhW1JdKTsKICAgICAgICBjdXIucHVzaF9iYWNrKGFbUl0pOwoKICAgICAgICBpZiAoKGludCljdXIuc2l6ZSgpID4gYmVzdCkgewogICAgICAgICAgICBiZXN0ID0gY3VyLnNpemUoKTsKICAgICAgICAgICAgYmVzdEwgPSBMOwogICAgICAgIH0KICAgIH0KCiAgICBjb3V0IDw8IGJlc3QgPDwgIlxuIjsKICAgIGNvdXQgPDwgYmVzdEwgKyAxIDw8ICIgIiA8PCBiZXN0TCArIGJlc3QgPDwgIlxuIjsKICAgIHJldHVybiAwOwp9