import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(new BufferedInputStream(System.in));
PrintWriter out = new PrintWriter(System.out);
int n = in.nextInt();
int[] nums = new int[n + 1];
//记录下标
ArrayList<int[]> ans = new ArrayList<>();
//记录长度
int res = 0;
//记录元素&下标
HashMap<Integer, Integer> map = new HashMap<>();
int l = 1 ;
//左右指针都指向1。一个元素也能构成不重复区间
for (int r = 1 ; r <= n; r++) {
nums[r] = in.nextInt();
if (map.containsKey(nums[r]) && map.get(nums[r]) >= l) {
l = map.get(nums[r]) + 1;
}
map.put(nums[r], r);
if (r - l + 1 > res) {
res = r - l + 1;
ans.clear();
ans.add(new int[] {l, r});
} else if (r - l +1 == res) {
ans.add(new int[] {l, r});
}
}
out.println(ans.size());
ans.stream().forEach(item -> {
out.println(item[0] +" " + item[1]);
});
out.flush();
}
}