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

    }
}