#include <bits/stdc++.h>
using namespace std;
constexpr int maxn = 1010;
int n;
bool e[maxn][maxn];
pair<int, int> flip(int a, int b, bool inv) {
  int x = -1, y;
  for (int i = 0; i < n; i++)
    if (e[a][i] && e[b][i])
      if (x == -1)
        x = i;
      else {
        y = i;
        break;
      }
  e[a][b] = e[b][a] = false;
  e[x][y] = e[y][x] = true;
  return inv ? make_pair(x, y) : make_pair(a, b);
}
vector<pair<int, int> > solve(bool inv) {
  memset(e, 0, sizeof(e));
  for (int i = 0; i < n; i++) e[i][(i + 1) % n] = e[(i + 1) % n][i] = true;
  for (int i = 0, a, b; i < n - 3; i++) {
    cin >> a >> b;
    a--;
    b--;
    e[a][b] = e[b][a] = true;
  }
  vector<pair<int, int> > res;
  for (int i = 1; i < n;) {
    if (e[0][i]) {
      i++;
      continue;
    }
    int j;
    for (j = i + 1; e[0][j] == 0; j++)
      ;
    res.push_back(flip(i - 1, j, inv));
  }
  return res;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin >> n;
  vector<pair<int, int> > a = solve(false), b = solve(true);
  cout << a.size() + b.size() << endl;
  for (int i = 0; i < (int)a.size(); i++)
    cout << a[i].first + 1 << " " << a[i].second + 1 << endl;
  for (int i = b.size() - 1; i >= 0; i--)
    cout << b[i].first + 1 << " " << b[i].second + 1 << endl;
  return 0;
}
