#include<bits/stdc++.h>
using namespace std;
int main()
{
  float d,h,m=0;
  int n;
  cin>>n>>d>>h;
  float dist[n],hei[n];
  for(int i=0;i<n;i++)
  {
    cin>>dist[i]>>hei[i];
    float y=hei[i]-((h-hei[i])/(d-dist[i]))*dist[i];
    if(y>=0)
      m=max(m,y);
  }
  cout<<m<<endl;
  return 0;
}
   
  
#include <bits/stdc++.h>
#define _GLIBCXX_DEBUG
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define repi(i, a, b) for (int i = (int)(a); i < (int)(b); i++)
using namespace std;

int main(){
  int N, K, M;
  cin >> N >> K >> M;
  int A[N-1];
  rep(i, N-1) cin >> A[i];
  int goal = N * M;
  int sums = 0;
  rep(i, N-1) sums += A[i];
  if (goal - sums <= K) cout << max(0, goal - sums) << endl;
  else cout << -1 << endl;
}
