#include <bits/stdc++.h>
using namespace std;
vector<pair<int, int> > arr[2];
bool my_sort(const pair<int, int> &a, const pair<int, int> &b) {
  return (a.second < b.second);
}
bool my_sort_max(const pair<int, int> &a, const pair<int, int> &b) {
  return (a.first > b.first);
}
int main() {
  int n, inp;
  cin >> n;
  for (int i = 0; i < 2; i++)
    for (int j = 0; j < n; j++) {
      cin >> inp;
      arr[i].push_back(make_pair(inp, j));
    }
  sort(arr[0].begin(), arr[0].end(), my_sort_max);
  sort(arr[1].begin(), arr[1].end());
  for (int i = 0; i < n; i++) {
    arr[0][i].second = arr[1][i].second;
  }
  sort(arr[0].begin(), arr[0].end(), my_sort);
  for (int i = 0; i < n; i++) cout << arr[0][i].first << " ";
  return 0;
}
