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, k = map(int, input().split())
a = list(map(int, input().split()))
a.insert(0, 0)
c = [0] * (10**6)
cnt = 0
for i in range(1, n + 1):
	# dung mang danh dau de dem so lan xuat hien cua moi so phan biet
	c[a[i]] += 1
	if (c[a[i]] == 1):
		cnt += 1 # luu so luong so phan biet
	# khi so luong so phan biet bang k thi giam so lan xuat hien xuong
	# dong thoi rut ngan doan do (bo di nhung so bi trung o cac vi tri khac trong mang)
	# vi du: 
	# 6 3
	# 1 3 4 1 5 6 
	# ban dau minh tim duoc doan 1 3 4 1, sau do phai bo di so 1 vi bi trung
	j = 0
	while(cnt == k):
		j += 1
		c[a[j]] -= 1
		if (c[a[j]] == 0):
			print(j, i)
			exit()
print("-1 -1")
