#include <bits/stdc++.h>
using namespace std;
struct f {
  int in, data;
};
int n, x, a[200010], i, c[200010];
f b[200010];
bool acompare(f lhs, f rhs) { return lhs.data < rhs.data; }
int main() {
  cin >> n;
  for (i = 0; i < n; i++) {
    scanf("%d", &a[i]);
  }
  sort(a, a + n);
  for (i = 0; i < n; i++) {
    scanf("%d", &x);
    b[i].in = i;
    b[i].data = x;
  }
  sort(b, b + n, acompare);
  int j = n - 1;
  for (i = 0; i < n; i++) {
    c[b[i].in] = a[j--];
  }
  for (i = 0; i < n; i++) {
    if (i == 0)
      printf("%d", c[i]);
    else
      printf(" %d", c[i]);
  }
  printf("\n");
  return 0;
}
