/*
  Submitter: Nick Hudson
  Anumber: A01634984


  */

#include <iostream>

int main(){
  int N,K,M,input;
  int sum;
  int neededScore;

  std::cin>>N>>K>>M;
  //std::cout<<N<<K<<M<<std::endl;

  for(int i = 0; i<N-1; ++i){
    std::cin>>input;
    //std::cout<<input<<std::endl;
    sum += input;
    //std::cout<<sum<<std::endl;
  }
  int x = N*M-sum;

  if(x<0){
    std::cout<<0;
  } else if(x<=K){
    std::cout<<x;
  } else
    std::cout<<-1;

  return 0;
}

#include <bits/stdc++.h>
// #include <atcoder/all>
#include <cmath>
using namespace std;
using ll = long long;
using Graph = vector<vector<int>>;
const ll INFI = 1001001001;
const ll INFL = 1001001001001001001;
const ll MOD = (int)1e9 + 7;
const double EPS = 1e-9;
const int dx[4] = {1, 0, -1, 0};
const int dy[4] = {0, 1, 0, -1};
typedef pair<ll, ll> P;
#define rep(i, n) for (ll i = 0; i < n; i++)
#define FOR(i, in, fn) for (ll i = in; i <= fn; i++)
#define debug(x) cerr << #x << ": " << x << endl

void sort2vectors(vector<ll> &av, vector<ll> &bv)
{
    int n = av.size();
    vector<ll> p(n), av2(n), bv2(n);
    iota(p.begin(), p.end(), 0);
    sort(p.begin(), p.end(), [&](ll a, ll b) { return av[a] < av[b]; });
    for (int i = 0; i < n; i++)
    {
        av2[i] = av[p[i]];
        bv2[i] = bv[p[i]];
    }
    av = av2;
    bv = bv2;
}

int main()
{
    long long K;
    scanf("%lld", &K);
    long long N;
    scanf("%lld", &N);
    long long M;
    scanf("%lld", &M);
    std::vector<long long> A(K), A2(K), num(K);
    std::vector<long long> B(K), sa(K);
    for (int i = 0; i < K; i++)
    {
        scanf("%lld", &A[i]);
    }

    ll sum = 0;
    rep(i, K)
    {

        A2[i] = A[i];
        num[i] = i;
        B[i] = M * A[i] / N;
        sum += B[i];
        //debug(B[i]);
        sa[i] = (llabs((B[i] + 1) * N - A[i] * M)) - (llabs(B[i] * N - A[i] * M));
        //debug(sa[i]);
    }
    ll amari = M - sum;
    sort2vectors(sa, num);
    rep(i, amari)
    {
        B[num[i]]++;
    }
    rep(i, K)
    {
        cout << B[i] << " ";
    }
    cout << endl;
    return 0;
}
