#include <bits/stdc++.h>
using namespace std;
int N, M, K, T;
long long a[100500], b[100500], c[100500];
long long l, r;
int main(void) {
  scanf("%d", &N);
  scanf("%lld%lld", &l, &r);
  for (int i = 1; i <= N; i++) scanf("%lld", a + i);
  for (int i = 1; i <= N; i++) scanf("%lld", c + i);
  long long mn = 987654321987654321;
  for (int i = 1; i <= N; i++) {
    b[i] = a[i] + c[i];
    mn = min(mn, b[i]);
  }
  long long diff = l - mn;
  long long mx = -1;
  for (int i = 1; i <= N; i++) c[i] += diff;
  for (int i = 1; i <= N; i++) {
    b[i] = a[i] + c[i];
    mx = max(b[i], mx);
  }
  if (mx > r) {
    cout << -1;
    return 0;
  }
  for (int i = 1; i <= N; i++) printf("%lld ", b[i]);
}
