import java.util.*; public class Main { public static ArrayList<Integer> solution(int[] arr, int k) { ArrayList<Integer> res = new ArrayList<>(); HashMap<Integer,Integer> map = new HashMap<>(); int j = 0 ; //adding first k elements in the hashmap while(j<k){ int of = map.getOrDefault(arr[j],0); map.put(arr[j],of+1); j++; } res.add(map.size()); //moving the window of K at one unit for(int i =0 ; j < arr.length ; j++,i++){ int last = arr[i]; //removing last element frequency of the window int of = map.get(arr[i]); of--; if(of == 0){ map.remove(last); } else{ map.put(last , of); } //adding next element of the window map.put(arr[j] , map.getOrDefault(arr[j],0)+1); res.add(map.size()); } return res; } public static void main(String[] args) { Scanner scn = new Scanner(System.in); int[] arr = new int[scn.nextInt()]; for (int i = 0; i < arr.length; i++) { arr[i] = scn.nextInt(); } int k = scn.nextInt(); ArrayList<Integer> ans = solution(arr,k); for(int a : ans){ System.out.print(a + " "); } } }