#include <bits/stdc++.h>
using namespace std;
bool G1[1005][1005], G2[1005][1005];
int n, X1[10005], Y1[10005], X2[10005], Y2[10005];
int read() {
  char c = getchar();
  int ans = 0;
  while (c < '0' || c > '9') c = getchar();
  while (c >= '0' && c <= '9')
    ans = (ans << 1) + (ans << 3) + (c ^ 48), c = getchar();
  return ans;
}
void solve1() {
  for (register int i = 1, j; i < n;) {
    if (G1[0][i]) {
      i++;
      continue;
    }
    j = i;
    while (!G1[0][j]) j++;
    for (register int k = i; k < j; k++)
      if (G1[k][i - 1] && G1[k][j]) {
        G1[i - 1][j] = G1[j][i - 1] = 0;
        G1[0][k] = G1[k][0] = 1;
        X1[++X1[0]] = i - 1, Y1[++Y1[0]] = j;
        break;
      }
  }
  return;
}
void solve2() {
  for (register int i = 1, j; i < n;) {
    if (G2[0][i]) {
      i++;
      continue;
    }
    j = i;
    while (!G2[0][j]) j++;
    for (register int k = i; k < j; k++)
      if (G2[k][i - 1] && G2[k][j]) {
        G2[i - 1][j] = G2[j][i - 1] = 0;
        G2[0][k] = G2[k][0] = 1;
        X2[++X2[0]] = 0, Y2[++Y2[0]] = k;
        break;
      }
  }
  return;
}
int main() {
  n = read();
  for (register int i = 0; i < n; i++)
    G1[i][(i + 1) % n] = G2[i][(i + 1) % n] = G1[(i + 1) % n][i] =
        G2[(i + 1) % n][i] = 1;
  for (register int i = 1, u, v; i <= n - 3; i++) {
    u = read() - 1, v = read() - 1;
    G1[u][v] = G1[v][u] = 1;
  }
  for (register int i = 1, u, v; i <= n - 3; i++) {
    u = read() - 1, v = read() - 1;
    G2[u][v] = G2[v][u] = 1;
  }
  solve1();
  solve2();
  printf("%d\n", X1[0] + X2[0]);
  for (register int i = 1; i <= X1[0]; i++)
    printf("%d %d\n", X1[i] + 1, Y1[i] + 1);
  for (register int i = X2[0]; i >= 1; i--)
    printf("%d %d\n", X2[i] + 1, Y2[i] + 1);
  return 0;
}
