#include <bits/stdc++.h>
using namespace std;
const int MAXN = 200100;
int n, ans[MAXN], p[MAXN], p1[MAXN];
vector<pair<int, int> > v;
int main() {
  scanf("%d", &n);
  for (int i = (0); i < int(n); i++) scanf("%d", &p[i]);
  for (int i = (0); i < int(n); i++) {
    scanf("%d", &p1[i]);
    v.push_back(make_pair(p1[i], i));
  }
  sort((v).begin(), (v).end());
  sort(p, p + n);
  reverse(p, p + n);
  for (int i = (0); i < int(n); i++) {
    ans[v.back().second] = p[n - 1 - i];
    v.pop_back();
  }
  for (int i = (0); i < int(n); i++) printf("%d ", ans[i]);
  puts("");
  return 0;
}
