import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
int n = in.nextInt();
int[] a = new int[n];
for (int i = 0; i < n; i++) a[i] = in.nextInt();
HashSet<Integer> set = new HashSet<>();
int l = 0, r = 0;
TreeMap<Integer, Integer> res = new TreeMap<>();
int maxLen = 0;
while (r < n) {
while (set.contains(a[r])) {
set.remove(a[l]);
l++;
}
set.add(a[r]);
if (r - l + 1 > maxLen) {
maxLen = r - l + 1;
res.clear();
res.put(l + 1, r + 1);
} else if (r - l + 1 == maxLen) {
res.put(l + 1, r + 1);
}
r++;
}
System.out.println(res.keySet().size());
Iterator itr = res.keySet().iterator();
while (itr.hasNext()) {
int key = (int)itr.next();
System.out.println(String.format("%d %d", key, res.get(key)));
}
}
}