#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;
}