#include <bits/stdc++.h>
using namespace std;
const int N = 1005;
int n, x, y, qwq1, qwq2;
int zn[N], cnt;
bitset<N> s[N], t[N], r;
pair<int, int> Ans1[N], Ans2[N];
void get1(int u, int v) {
  if (u + 1 == v) return;
  r = s[u] & s[v];
  for (int i = u; i <= v; i++)
    if (r[i]) {
      Ans1[++qwq1] = pair<int, int>(u, v);
      s[u][i] = s[v][i] = 0;
      s[1][i] = s[i][1] = 1;
      get1(u, i);
      get1(i, v);
      return;
    }
}
void get2(int u, int v) {
  if (u + 1 == v) return;
  r = t[u] & t[v];
  for (int i = u; i <= v; i++)
    if (r[i]) {
      Ans2[++qwq2] = pair<int, int>(1, i);
      t[u][i] = t[v][i] = 0;
      t[1][i] = t[i][1] = 1;
      get2(u, i);
      get2(i, v);
      return;
    }
}
int main() {
  scanf("%d", &n);
  for (int i = 2; i < n; i++) s[i][i - 1] = s[i][i + 1] = 1;
  s[1][2] = s[1][n] = 1;
  s[n][n - 1] = s[n][1] = 1;
  for (int i = 1; i <= (n - 3); i++) {
    scanf("%d%d", &x, &y);
    s[x][y] = s[y][x] = 1;
  }
  zn[++cnt] = 2;
  for (int i = 3; i < n; i++)
    if (s[1][i]) zn[++cnt] = i;
  zn[++cnt] = n;
  for (int i = 1; i < cnt; i++) get1(zn[i], zn[i + 1]);
  cnt = 0;
  for (int i = 2; i < n; i++) t[i][i - 1] = t[i][i + 1] = 1;
  t[1][2] = t[1][n] = 1;
  t[n][n - 1] = t[n][1] = 1;
  for (int i = 1; i <= (n - 3); i++) {
    scanf("%d%d", &x, &y);
    t[x][y] = t[y][x] = 1;
  }
  zn[++cnt] = 2;
  for (int i = 3; i < n; i++)
    if (t[1][i]) zn[++cnt] = i;
  zn[++cnt] = n;
  for (int i = 1; i < cnt; i++) get2(zn[i], zn[i + 1]);
  printf("%d\n", qwq1 + qwq2);
  for (int i = 1; i <= qwq1; i++)
    printf("%d %d\n", Ans1[i].first, Ans1[i].second);
  for (int i = qwq2; i >= 1; i--)
    printf("%d %d\n", Ans2[i].first, Ans2[i].second);
}
