#include<bits/stdc++.h>
using namespace std;
#define sz(x) (int)(x).size()
const int INF = 1e9 + 7;
//const long long INF = 1e18 + 7;
//const int mod = 998244353;
const int mod = 1e9 + 7;
//const int inv2 = 499122177;
const int mxN = 1e7;
int main()
{
ios::sync_with_stdio(0); cin.tie(0);
//freopen("_.in", "r", stdin);
//freopen("_.out", "w", stdout);
int t, n; cin >> t >> n;
vector<int> a(n), r(t);
for (int i = 0; i < n; ++i)
{
cin >> a[i];
r[a[i]] = max(r[a[i]], i);
}
vector<int> cnt(t);
int ok = 1, k;
for (int i = n-1; i >= 0; --i)
{
++cnt[a[i]];
if (cnt[a[i]] > 1) break;
k = i;
}
fill(cnt.begin(), cnt.end(), 0);
int ans = n - k;
pair<int, int> idx = {0, k-1};
for (int j = 0, i = 0; i < n; ++i)
{
++cnt[a[i]];
if (cnt[a[i]] > 1) break;
j = max(j, r[a[i]]);
int s = n - max(j+1, k), l = max(j+1, k)-1;
if (ans < i + 1 + s)
{
ans = i+1+s;
idx = {i+1, l};
}
}
//cout << ans << "\n";
cout << idx.first << " " << idx.second << "\n";
return 0;
}