#include <bits/stdc++.h>
using namespace std;
int beg[1010][1010];
int tgt[1010][1010];
vector<pair<int, int> > ans;
void solve(int a, int b) {
  int u;
  ;
  if (b == a + 1) return;
  if (beg[a][b]) {
    ans.push_back(pair<int, int>(a, b));
    u = b - 1;
    while (beg[a][u] == 0 && u > a + 1) u--;
    solve(a, u);
    solve(u, b);
    return;
  }
  u = a + 1;
  while (beg[1][u] == 0) u++;
  solve(a, u);
  solve(u, b);
}
void solve2(int a, int b) {
  int u;
  if (b == a + 1) return;
  if (tgt[a][b]) {
    u = b - 1;
    while (tgt[a][u] == 0 && u > a + 1) u--;
    ans.push_back(pair<int, int>(1, u));
    solve2(a, u);
    solve2(u, b);
    return;
  }
  u = a + 1;
  while (tgt[1][u] == 0) u++;
  solve2(a, u);
  solve2(u, b);
}
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 0; i < n - 3; i++) {
    int a, b;
    scanf("%d%d", &a, &b);
    beg[a][b] = beg[b][a] = 1;
  }
  for (int i = 0; i < n - 3; i++) {
    int a, b;
    scanf("%d%d", &a, &b);
    tgt[a][b] = tgt[b][a] = 1;
  }
  solve(2, n);
  vector<pair<int, int> > t = ans;
  ans.clear();
  solve2(2, n);
  reverse(ans.begin(), ans.end());
  printf("%d\n", ans.size() + t.size());
  for (int i = 0; i < t.size(); i++) printf("%d %d\n", t[i].first, t[i].second);
  for (int i = 0; i < ans.size(); i++)
    printf("%d %d\n", ans[i].first, ans[i].second);
}
