//bismillahir rahmanir rahim            //Author:Fayed Anik
 
#include <bits/stdc++.h>
//#include <ext/pb_ds/assoc_container.hpp>
//#include <ext/pb_ds/tree_policy.hpp>
 
using namespace std;
//using namespace __gnu_pbds;
 
//#define         ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update>
#define         ll                          long  long
#define         lf                          double
#define         pb(x)                       push_back(x)
#define         ull                         unsigned long long
#define         sfl(a)                      scanf("%lld",&a)
#define         sf(a)                       scanf("%d",&a)
#define         pf(a)                       printf("%d\n",a)
#define         pfl(a)                      printf("%lld\n",a)
#define         FOR(x,n)                    for(ll x=1;x<=n;++x)
#define         pii                         pair< ll , ll >
#define         mp(a,b)                     make_pair(a,b)
#define         mod                         1000000007
#define         INF                         2e18
#define         EPS                         1e-15
#define         f1                          first
#define         f2                          second
#define         all(v)                      v.begin(),v.end()
#define         PI                          acos(-1)
#define         printminusone               printf("-1\n")
#define         bug                         printf("bug")
#define         FILEIN                      freopen("in.txt","r",stdin)
#define         FILEOUT                     freopen("out.txt","w",stdout)
 
//ll SET(ll mask,ll pos){ return mask = (mask | (1ll<<pos)); }
//ll RESET(ll mask,ll pos){ return mask = mask & ~(1ll<<pos); }
//bool CHECK(ll mask,ll pos) { return (bool) (mask & (1ll<<pos)); }
//priority_queue <ll, vector<ll>, greater<ll> > pq;


int main(){
    //freopen("input.txt","r",stdin);
    //freopen("output.txt","w",stdout);
    ll n,k,m,s=0,x;
    sfl(n),sfl(k),sfl(m);
    FOR(i,n-1){
        sfl(x);
        s += x;
    }
    for(ll i=0;i<=k;i++){
        ll val = s+i;
        if( val>=m*n){
            pfl(i);
            return 0;
        }
    }
    printf("-1\n");
    return 0;
}

#include<iostream>
#include<cmath>
#include <vector>
using namespace std;

int main(){

  int N = 0;
  int K = 0;
  int M = 0;
  cin >> N >> K >> M;

  int tar = N * M;

  int sum = 0;

  for (int i = 0; i < N - 1; i++) {
    int A = 0;
    cin >> A;
    sum += A;
  }

  if (tar - sum <= 0) {
    cout << 0 << endl;
  }else if(tar - sum <= K) {
    cout << tar - sum << endl;
  }else {
    cout << -1 << endl;
  }

  return 0;
}