n, m, t = map(int, input().split()) A = list(map(int, input().split())) T = [0] * n for a in A: T[a-1] += 1 l = 0 r = 10 ** 16 while r - l > 1: mid = (l + r) >> 1 el = 0 ell = 0 for i in range(n): k = T[i] if k > mid: el += k - mid else: ell += (mid - k) // t if ell >= el: r = mid else: l = mid print(r)