#include #include #include #define repeat(i,n) for (int i = 0; (i) < (n); ++(i)) using namespace std; template istream & operator >> (istream & in, vector & a) { for (T & it : a) in >> it; return in; } template ostream & operator << (ostream & out, vector const & a) { bool i = false; for (T const & it : a) { if (i) out << ' '; else i = true; out << it; } return out; } int main() { int n; cin >> n; vector t(n), d(n); cin >> t >> d; vector xs(n); repeat (i,n) xs[i] = i; sort(xs.begin(), xs.end(), [&](int i, int j) { return make_pair(d[i] * t[j], - t[i]) < make_pair(d[j] * t[i], - t[j]); }); repeat (i,n) ++ xs[i]; cout << xs << endl; return 0; }