#include using i64 = long long; using u64 = unsigned long long; using u32 = unsigned; using u128 = unsigned __int128; using i128 = __int128; int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int N, K; i64 X; std::cin >> N >> K >> X; i64 sum = 0, ans = -2e18; std::multiset s; for (int i = 0; i < N; i++) { i64 cur; std::cin >> cur; if (K) { sum += cur; s.insert(cur); K--; } else { i64 mi = *s.begin(); if (cur > mi) { sum = sum - mi + cur; s.erase(s.begin()); s.insert(cur); } } ans = std::max(ans, sum - 1LL * (i + 1) * X); } std::cout << ans << '\n'; return 0; }