문제
import sys
readl = sys.stdin.readline
n, d, k, c = map(int, readl().split())
sushi = [int(readl()) for _ in range(n)]
sushi += sushi[0 : k] 
sol = 0
for s in sushi[0:k]:
    ch[s] += 1
for i in range(n):
    if len(set(sushi[i:i+k] + [c])) > sol:
        sol = len(set(sushi[i:i+k] + [c]))
Sliding Window
import sys
readl = sys.stdin.readline
n, d, k, c = map(int, readl().split())
sushi = [int(readl()) for _ in range(n)]
ch = {}
for s in sushi:
    ch[s] = 0
ch[c] = 0
sushi += sushi[0 : k] 
sol = 0
for s in sushi[0:k]:
    ch[s] += 1
종류 = len(set(sushi[0:k])) 
existC = 0
for i in range(n):
    
    
    ch[sushi[i]] -= 1 
    if ch[sushi[i]] == 0: 
        종류 -= 1
    if ch[sushi[i + k]] == 0: 
        종류 += 1
    ch[sushi[i + k]] += 1 
	
    
    if ch[c] == 0:
        종류 += 1
        existC = 1
    
    if sol < 종류:
        sol = 종류
    
    if existC == 1:
        종류 -= 1
        existC = 0
print(sol)