#include using namespace std; typedef long long int ll; typedef double ld; typedef pair ii; typedef vector vi; #define PB push_back() #define ff first #define ss second #define MP make_pair #define FOR(p,a,b) for(ll p = (a); p < (ll)(b); ++p) #define F(a) FOR(i, 0, a) #define FF(a) FOR(j, 0, a) #define FFF(a) FOR(k, 0, a) #define EPS (1e-10) #define EQ(a,b) (fabs(a-b) <= fabs(a-b)*EPS) #define DEB(x) cerr << " >>> " << #x << " : " << x << "\n" ii pole[1001]; int main() { auto cmp = [](ii a, ii b) { return (a.ff < b.ff);}; ios::sync_with_stdio(false); priority_queue, decltype(cmp)> halda(cmp); ll n,a,b; cin >> n; F(n-1) cin >> a >> b; F(n) cin >> a >> b, halda.push(MP(a,i)); F(n-1) { cout << halda.top().ss << " "; halda.pop(); cout << halda.top().ss << "\n"; } return 0; }