#include <bits/stdc++.h>
using namespace std;
int i, j, k, n, m, nn;
int ff[1010][1010], dis[1010], F[1010], b[1010];
vector<pair<int, int> > an, a;
inline void into(int x, int y) { an.push_back(make_pair(x, y)); }
int main() {
  scanf("%d", &n);
  for (i = 1; i <= n - 3; i++) {
    int x, y;
    scanf("%d%d", &x, &y);
    if (x > y) swap(x, y);
    ff[x][y] = 1;
  }
  for (i = 2; i <= n; i++)
    for (j = n; j; j--)
      if (ff[i][j]) into(i, j);
  for (i = 1; i <= n - 3; i++) {
    int x, y;
    scanf("%d%d", &x, &y);
    if (x > y) swap(x, y);
    a.push_back(make_pair(x, y));
    dis[i - 1] = x == 1 ? 0 : y - x - 1;
  }
  for (;;) {
    int mi = 1010, id = -1;
    for (i = 0; i <= n - 4; i++)
      if (!F[i] && dis[i] < mi) mi = dis[i], id = i;
    if (id < 0) break;
    F[id] = 1;
    if (dis[id]) {
      for (i = a[id].first + 1; i <= a[id].second - 1; i++)
        if (!b[i]) break;
      b[i] = 1;
      into(1, i);
      for (j = 0; j <= n - 4; j++)
        if (!F[j] && a[j].first < i && i < a[j].second) dis[j]--;
    }
  }
  printf("%d\n", an.size());
  for (i = 0; i < an.size(); i++) printf("%d %d\n", an[i].first, an[i].second);
  return 0;
}
