import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n, k, t;
        n = sc.nextInt();
        k = sc.nextInt();
        t = sc.nextInt();
        int[] arr = new int[n];
        int[] cnt = new int[100005];
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }
        Arrays.fill(cnt, 0);

        int count = 0;
        //计算初始窗口中满足条件的数字个数
        for (int i = 0; i < k - 1; i++) {
            if (++cnt[arr[i]] == t) count++;
        }

        //向右滑动窗口,判断进入和离开窗口的数字是否满足条件
        int ans = 0;
        for (int i = k - 1; i < n; i++) {
            if (++cnt[arr[i]] == t) count++;
            if (count > 0) ans++;
            if (--cnt[arr[i - k + 1]] == t - 1) count--;
        }

        System.out.println(ans);
    }
}