#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define int long long
#define maxn 500005
#define mi LLONG_MIN
#define ma LLONG_MAX
#define mod 1000000007
#define pb push_back
#define S second
#define F first
int t, n, l, r, lx, rx, maxl, maxr;
vector<int> a, f, s;
void check() {
if (rx - lx < r - l) {
r = rx;
l = lx;
}
}
void solve() {
cin >> t >> n;
a.resize(n), f.assign(t, -1), s.assign(t, -1);
for (auto& it : a) cin >> it;
for (int i = 0; i < n; i++) {
if (f[a[i]] == -1) {
f[a[i]] = i;
}
}
for (int i = n - 1; i >= 0; i--) {
if (s[a[i]] == -1) {
s[a[i]] = i;
}
}
rx = r = maxr = n - 1;
set<int> st;
for (int i = 0; i < n; i++) {
if (st.count(a[i]) == 0) {
maxl++;
st.insert(a[i]);
} else {
break;
}
}
st.clear();
for (int i = n - 1; i >= 0; i--) {
if (st.count(a[i]) == 0) {
maxr--;
st.insert(a[i]);
} else {
break;
}
}
st.clear();
rx = maxr;
for (int i = 0; i < maxl; i++) {
lx = i + 1;
rx = max(rx, s[a[i]]);
check();
}
lx = maxl;
for (int i = n - 1; i > maxr; i--) {
rx = i - 1;
lx = min(lx, f[a[i]]);
check();
}
cout << l << " " << r << '\n';
}
int32_t main() {
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int t = 1;
// cin >> t;
while (t--) solve();
}