#include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int ll; typedef pair Pii; const ll mod = 998244353; int main() { cin.tie(0); ios::sync_with_stdio(false); int n, m, t; cin >> n >> m >> t; vector a(m); for (auto &x: a) cin >> x; vector init_t(n, 0); for (auto &x: a) { init_t[x-1]++; } priority_queue que_hi; priority_queue, greater> que_lo; for (int i = 0; i < n; i++) { que_hi.emplace(init_t[i], i); que_lo.emplace(init_t[i], i); } while (true) { auto [lo_val, lo_idx] = que_lo.top(); auto [hi_val, hi_idx] = que_hi.top(); que_lo.pop(); que_hi.pop(); if (lo_val + t < hi_val) { que_lo.emplace(lo_val + t, lo_idx); que_hi.emplace(hi_val - 1, hi_idx); } else { cout << hi_val << endl; return 0; } } return 0; }