#include <bits/stdc++.h>
using namespace std;
const int maxn = 1010;
int n;
vector<pair<pair<int, int>, pair<int, int> > > v1, v2;
set<int> s[maxn];
void add(int a, int b) {
  s[a].insert(b);
  s[b].insert(a);
}
void del(int a, int b) {
  s[a].erase(b);
  s[b].erase(a);
}
void change(vector<pair<pair<int, int>, pair<int, int> > >& v, int a, int b,
            int c, int d) {
  v.push_back({{a, b}, {c, d}});
  del(a, b);
  add(c, d);
}
void solve(vector<pair<pair<int, int>, pair<int, int> > >& v) {
  for (int i = 1; i <= n; i++) {
    s[i].clear();
  }
  add(1, n);
  for (int i = 1; i < n; i++) {
    add(i, i + 1);
  }
  for (int i = 0; i < n - 3; i++) {
    int a, b;
    cin >> a >> b;
    add(a, b);
  }
  int pt = 2;
  while (pt < n) {
    auto it = s[1].upper_bound(pt);
    if ((*it) == pt + 1) {
      pt++;
      continue;
    }
    change(v, pt, *it, 1, *(--s[pt].find(*it)));
  }
}
int main() {
  cin >> n;
  solve(v1);
  solve(v2);
  cout << int((v1).size()) + int((v2).size()) << endl;
  for (int i = 0; i < int((v1).size()); i++)
    cout << v1[i].first.first << " " << v1[i].first.second << endl;
  for (int i = int((v2).size()) - 1; i >= 0; i--)
    cout << v2[i].second.first << " " << v2[i].second.second << endl;
}
