#include <bits/stdc++.h>
const int N=2e5+10;
const int inf = 0x3f3f3f3f;
using namespace std;
using ull = unsigned long long int;
using ll = long long int;
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int n,mxL=1;
cin>>n;
vector<int> a(N);
vector<int> cnt(N,0),Lx(N,n);
vector<pair<int,int>> ans,res;
for(int i=1;i<=n;i++){
cin>>a[i];
}
int L=1;
for(int R=1;R<=n;R++){
cnt[a[R]]++;
while(cnt[a[R]]>1){
cnt[a[L]]--;
L++;
}
ans.push_back({L,R});
}
for(int i=0;i<ans.size();i++){
mxL=max(mxL,ans[i].second-ans[i].first+1);
}
for(int i=0;i<n;i++){
if(ans[i].second-ans[i].first+1==mxL){
res.push_back({ans[i].first,ans[i].second});
}
}
cout<<res.size()<<'\n';
for(int i=0;i<res.size();i++)
{
cout<<res[i].first<<" "<<res[i].second<<'\n';
}
return 0;
}