Bạn sáng tạo ta một bảng chữ cái gồm ~k~ kí tự, tuy nhiên do chưa có hình vẽ đại diện nên bạn tạm dùng các số nguyên dương từ ~1~ đến ~k~ để đại diện thay thế. Bạn giao cho học sinh một dãy gồm ~n~ nguyên không âm đại diện cho một từ, tuy nhiên do dãy số đã tồn tại quá lâu nên một số vị trí đã bị mờ và không còn xác định được giá trị, những vị trí như vậy được đánh bằng số 0.
Bạn cũng đã quên mất ý nghĩa của từ nễn đã nhờ các bạn học sinh tìm đoạn con liên tiếp ngắn nhất có thể thay các số ~0~ thành các số có giá trị khác sao cho trong đoạn con đó có đủ ~k~ loại kí tự.
Input
Dòng đầu tiên có hai số nguyên ~n~ và ~k~ ~(k \le n \le 5*10^5)~: kích thước mảng và số lượng giá trị phân biệt.
Dòng thứ hai có ~n~ số nguyên ~a_1, a_2, \dots, a_n~: các giá trị của mảng.
OutputFile
In ra số nguyên duy nhất là độ dài của đoạn tìm được. Nếu không tồn tại dãy con như vậy thì in ra ~-1~.
SampleInput
5 3
2 0 1 1 3
SampleOutput
3
Giải thích
Chọn đoạn 2 0 1
Subtask
- 60% số test có ~ n \le 5000 ~
- 40% số test còn lại không có điều kiện gì thêm
Bình luận