Problem: For a given array $a_1, a_2, a_3, ... , a_N$ of $N$ elements and an integer $K$, find the smallest sub-array size (smallest window length) where the elements in the sub-array contains all integers in range [$1, 2, ..., K$]. If there is no such sub-array, report 0.

Constraints

* $1 \leq N \leq 10^5$
* $1 \leq K \leq 10^5$
* $1 \leq a_i \leq 10^5$

Input

The input is given in the following format.

$N$ $K$
$a_1$ $a_2$ ... $a_N$

Output

Print the smallest sub-array size in a line.

Examples

Input

6 2
4 1 2 1 3 5


Output

2


Input

6 3
4 1 2 1 3 5


Output

3


Input

3 4
1 2 3


Output

0

Solution (in PYTHON3):

Solution:
n, k = map(int, input().split())
aa = list(map(int, input().split()))
cnts = [0] * (k + 1)
ans = 1e6
existing = 0
r = 0
for l in range(n - k + 1):
    while r < n and existing < k:
        a = aa[r]
        if a <= k:
            cnts[a] += 1
            if cnts[a] == 1:
                existing += 1
        r += 1
    if k == existing:
        ans = min(ans, r - l)
    a = aa[l]
    if a <= k:
        cnts[a] -= 1
        if cnts[a] == 0:
            existing -= 1

print(ans if ans < 1e6 else 0)