#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 7;
const int inf = 0x3f3f3f3f;
int n, m, l, r;
int a[MAXN], p[MAXN], b[MAXN];
int main() {
  int i;
  scanf("%d%d%d", &n, &l, &r);
  for (i = 0; i < n; ++i) scanf("%d", &a[i]);
  int MAX = 0, MIN = inf;
  for (i = 0; i < n; ++i) {
    scanf("%d", &p[i]);
    b[i] = a[i] + p[i];
    MAX = max(MAX, b[i]);
    MIN = min(MIN, b[i]);
  }
  if (MAX - MIN + 1 > r - l + 1)
    puts("-1");
  else {
    int x;
    if (MIN < l)
      x = l - MIN;
    else
      x = r - MAX;
    for (i = 0; i < n; ++i) {
      b[i] += x;
    }
    for (i = 0; i < n; ++i) printf(i == n - 1 ? "%d\n" : "%d ", b[i]);
  }
  return 0;
}
