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

int main()
{
	
	  int i,j,n,k,m,l=0;
	  
     cin>>n>>k>>m;
     int ara[n];
     for(i=0;i<n-1;i++)
     {
     	cin>>ara[i];
     	l+=ara[i];
	 }
	 if(l/n>=m)
	 {
	 	cout<<"0";
	 	return 0;
	  } 
	 else
	 {
	 	for(i=1;i<=k;i++)
	 	{
	 		l+=i;
	 		if(l/n>=m)
			 {
			 	cout<<i<<endl;
			 	return 0;
			 }
			 l-=i;
		 }
	 }
     cout<<"-1"<<endl;
     
    return 0;
}
# include <iostream>
# include <algorithm>
# include <vector>
# include <string>
# include <set>
# include <cmath>
# include <functional>
# include <utility>
# include <queue>
# include <stack>
# define MOD 1000000007
# define INF 2000000000
#define rep(i,rept)	for(ll i = 0; i<rept;i++)
typedef long long ll;
using namespace std;
std::vector<bool> IsPrime;

int main() {
	long long ans = 0, counter = 0, maxi = -1, mini = INF, pass = 0;
	//new
	ll n, k, m;
	ll poi[10000];
	cin >> n >> k >> m;
	ll want = m * n;
	rep(i, n-1) {
		cin >> poi[i];
		counter += poi[i];
	}
	if (want-counter<=k){
		cout << max((ll)0,want - counter) << endl;;
	}
	else {
		cout << -1 << endl;
	}
}