You've got an array *a*, consisting of *n* integers: *a*<sub class="lower-index">1</sub>, *a*<sub class="lower-index">2</sub>, ..., *a*<sub class="lower-index">*n*</sub>. Your task is to find a minimal by inclusion segment [*l*, *r*] (1 ≤ *l* ≤ *r* ≤ *n*) such, that among numbers *a*<sub class="lower-index">*l*</sub>,  *a*<sub class="lower-index">*l* + 1</sub>,  ...,  *a*<sub class="lower-index">*r*</sub> there are exactly *k* distinct numbers.

Segment [*l*, *r*] (1 ≤ *l* ≤ *r* ≤ *n*; *l*, *r* are integers) of length *m* = *r* - *l* + 1, satisfying the given property, is called minimal by inclusion, if there is no segment [*x*, *y*] satisfying the property and less then *m* in length, such that 1 ≤ *l* ≤ *x* ≤ *y* ≤ *r* ≤ *n*. Note that the segment [*l*, *r*] doesn't have to be minimal in length among all segments, satisfying the given property.
The first line contains two space-separated integers: *n* and *k* (1 ≤ *n*, *k* ≤ 10<sup class="upper-index">5</sup>). The second line contains *n* space-separated integers *a*<sub class="lower-index">1</sub>, *a*<sub class="lower-index">2</sub>, ..., *a*<sub class="lower-index">*n*</sub> — elements of the array *a* (1 ≤ *a*<sub class="lower-index">*i*</sub> ≤ 10<sup class="upper-index">5</sup>).
n = list(map(int, input().split()))
a = list(map(int, input().split()))

# n = [10 , 4]
# a = [1, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5]

# n = [5, 1]
# a = [1, 7, 2, 3, 2]

# n = [4 , 2]
# a = [1,2,2,3]

# n = [8 , 3]
# a = [1, 1, 2, 2, 3, 3, 4, 5]

# n = [7 , 4]
# a = [4, 7, 7, 4, 7, 4, 7]

# n = [1, 1]
# a = [5]

# n = [1, 2]
# a = [666]

# n = [10, 5]

# a = [15, 17, 2, 13, 3, 16, 4, 5, 9, 12]

dict_ = dict.fromkeys(a)

def find_solution():
    i = 0
    sub_a = []
    check_point = n[1]
    r = 0
    length = 0
    if (len(set(a)) < check_point):
        print(-1,-1)
    elif check_point == 1:
        print(1,1)
        # first_index = 1
        # list_avail = list(set(a))[0:check_point]
        # final_index = a.index(list_avail[-1])+1
        # print(first_index,final_index)
    else:
        # print('set a:',set(a))
        # print('list:',list(set(a)))
        # print(list(dict_.keys())[0:check_point])
        list_avail = list(dict_.keys())[0:check_point]
        first_index = a.index(list_avail[1])
        final_index = a.index(list_avail[-1])+1
        print(first_index,final_index)
        # while i <= len(a):
        #     sub_a.append(a[i])
        #     # print('sub_a',sub_a)
        #     set_sub_a = set(sub_a)
        #     r = len(sub_a)
        #     length = len(set_sub_a)
        #     if(length == check_point):
        #         break
        #     i+=1

        # l = 0
        # list_min = []
        # while l <= r and length == check_point:
        #     # print(a[l:r])
        #     # print('len of list:',len(a[l:r]))
        #     list_min.append(len(a[l:r]))
        #     l+=1
        #     length = len(set(a[l:r]))
        #     # print('new length',length)

        # print(r-min(list_min)+1,r)

find_solution()

