#include <bits/stdc++.h>
#define pb push_back
#define sc second
#define ff first
#define all(a) a.begin(),a.end()
#define mem(a,i) memset(a,i,sizeof a)
#define forr(i,n) for(int i=0;i<n;i++)
#define nl '\n'
using namespace std;
typedef long long ll;
typedef pair<ll,ll> ii;
typedef vector<int> vi;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
int t,n;
cin>>t>>n;//number of teams and contestants
int v[n+1];
int last[t+1];
mem(last,0);
for(int i=0;i<n;i++){
cin>>v[i];
last[v[i]]=max(last[v[i]],i);
}
int pivpref=-1;
int pivsuff=-1;
int vis[t+1];
mem(vis,0);
for(int i=0;i<n;i++){
if(vis[v[i]]==1){
pivpref=i-1;
break;
}
vis[v[i]]=1;
}
mem(vis,0);
for(int i=n-1;i>=0;i--){
if(vis[v[i]]==1){
pivsuff=i+1;
break;
}
vis[v[i]]=1;
}
//cout<<pivpref<<" "<<pivsuff<<endl;
int ans=0;
int l=-1;
int r=-1;
if(pivpref+1<n-pivsuff){
ans=n-pivsuff;
l=0;
r=pivsuff-1;
}
else{
ans=pivpref+1;
l=pivpref+1;
r=n-1;
}
int max_last=0;
for(int i=0;i<=pivpref;i++){
max_last=max(max_last,last[v[i]]);
//dos casos
int currpref = i+1;
int currsuff = pivsuff;
if(max_last>=pivsuff){
currsuff=max_last+1;
}
if(ans<currpref+n-currsuff){
ans=currpref+n-currsuff;
l=currpref;
r=currsuff-1;
}
}
// cout<<ans<<endl;
cout<<l<<" "<<r<<endl;
}
// pineapple