#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (n); ++i)
using lint = long int;
using llint = long long int;
using namespace std;

int main() {
    cin.tie(0);
    ios::sync_with_stdio(false);

    int n, k, m;
    cin >> n >> k >> m;

    vector<int> points(n - 1);
    rep(i, n) cin >> points[i];

    int cur_sum = 0;
    for (auto point : points) cur_sum += point;

    // check
    for (int i = 0; i <= k; i++) {
        int now = (cur_sum + i) / n;
        if (now >= m) {
            cout << i << endl;
            return 0;
        }
    }
    cout << -1 << endl;
    return 0;
}

// Problem: B - Sign of Friendship
// Contest: AtCoder - ZONe Energy Programming Contest
// URL: https://atcoder.jp/contests/zone2021/tasks/zone2021_b
// Memory Limit: 1024 MB
// Time Limit: 2000 ms

#include <bits/stdc++.h>
using namespace std;

int main() {
	int n, D, H;
	cin >> n >> D >> H;
	double ans = 0;
	while (n--) {
		int d, h;
		cin >> d >> h;
		ans = max(ans, H - (double)(H - h) / (D - d) * D);
	}
	printf("%.15lf\n", ans);
	return 0;
}