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();
    }
}