#include <bits/stdc++.h>
using namespace std;
const int N = 1000 + 5;
int n;
bool conn[N][N];
pair<int, int> flip(int l, int r, bool dir) {
  int x = -1, _y;
  for (int i = 0; i < n; ++i)
    if (conn[l][i] && conn[r][i]) {
      if (x == -1)
        x = i;
      else {
        _y = i;
        break;
      }
    }
  conn[l][r] = conn[r][l] = false;
  conn[x][_y] = conn[_y][x] = true;
  return dir ? make_pair(x, _y) : make_pair(l, r);
}
vector<pair<int, int> > solve(bool dir) {
  memset(conn, false, sizeof(conn));
  for (int i = 0; i < n; ++i)
    conn[i][(i - 1 + n) % n] = conn[i][(i + 1) % n] = true;
  for (int i = 1, a, b; i <= n - 3; ++i) {
    scanf("%d%d", &a, &b);
    --a, --b;
    conn[a][b] = conn[b][a] = true;
  }
  vector<pair<int, int> > res;
  for (int i = 1; i < n; ++i) {
    if (conn[0][i]) continue;
    for (int j = i + 1; j < n; ++j)
      if (conn[0][j]) {
        res.push_back(flip(i - 1, j, dir));
        break;
      }
    --i;
  }
  return res;
}
int main() {
  scanf("%d", &n);
  vector<pair<int, int> > a = solve(false), b = solve(true);
  cout << a.size() + b.size() << endl;
  for (int i = 0; i < 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;
}
