n, m, t = map(int, input().split()) a = list(map(int, input().split())) x = [0] * n for i in range(m): x[a[i] - 1] += 1 l, r = 0, m + 1 while r - l > 1: md = (l + r) // 2 c = 0 for i in range(n): if md < x[i]: c += x[i] - md else: c -= (md - x[i]) // t if c > 0: l = md else: r = md print(r)