N,M,T=map(int, input().split()) A=list(map(int, input().split())) C=[0]*N for a in A: C[a-1]+=1 l,r=0,10**15 while r-l>1: mid=(l+r)//2 p=0;t=0 for c in C: if c>mid: p+=c-mid else: t+=(mid-c)//T if p>t: l=mid else: r=mid print(r)