#include <bits/stdc++.h>
using namespace std;
int n, l, r;
int a[200005], b[200005], p[200005], idx[200005];
int main() {
  scanf("%d %d %d", &n, &l, &r);
  for (int i = 0; i < n; ++i) {
    scanf("%d", &a[i]);
  }
  for (int i = 0; i < n; ++i) {
    scanf("%d", &p[i]);
    idx[p[i]] = i;
  }
  int av = l - a[idx[1]];
  for (int i = 1; i <= n; ++i) {
    if (a[idx[i]] + av < l) {
      av += (l - (a[idx[i]] + av));
    }
    b[idx[i]] = a[idx[i]] + av;
    av++;
    if (b[idx[i]] > r) {
      puts("-1");
      return 0;
    }
  }
  for (int i = 0; i < n; ++i) {
    if (i != 0) printf(" ");
    printf("%d", b[i]);
  }
  puts("");
}
