#include <bits/stdc++.h>
using namespace std;
int n;
set<int> from[1024];
set<int> dest[1024];
vector<pair<int, int>> flips;
int progress;
vector<pair<int, int>> flipreserve;
pair<int, int> lastflip;
void flip(set<int> mukou[], int stage) {
  for (auto res : flipreserve) {
    int a = res.first;
    int b = res.second;
    auto I = mukou[a].find(b);
    auto J = I, K = I;
    if (J == mukou[a].begin())
      J = --mukou[a].end();
    else
      --J;
    ++K;
    if (K == mukou[a].end()) K = mukou[a].begin();
    int c = *J, d = *K;
    mukou[a].erase(b);
    mukou[b].erase(a);
    mukou[c].insert(d);
    mukou[d].insert(c);
    if (stage == 0) {
      flips.emplace_back(c, d);
    } else {
      flips.emplace_back(a, b);
    }
    lastflip = make_pair(c, d);
  }
  flipreserve.clear();
}
void solve(set<int> mukou[], int stage) {
  for (int i = 1; i < n - 1; i++) {
    vector<int> others(mukou[i].rbegin(), mukou[i].rend());
    for (auto soko : others) {
      if (soko == i - 1 || soko == i + 1) continue;
      if (soko == 0) continue;
      flipreserve.emplace_back(i, soko);
    }
    flip(mukou, stage);
  }
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n - 3; i++) {
    int a, b;
    scanf("%d%d", &a, &b);
    a--, b--;
    from[a].insert(b);
    from[b].insert(a);
  }
  for (int i = 0; i < n; i++) {
    from[i].insert((i + 1) % n);
    from[i].insert((i - 1 + n) % n);
  }
  for (int i = 0; i < n - 3; i++) {
    int a, b;
    scanf("%d%d", &a, &b);
    a--, b--;
    dest[a].insert(b);
    dest[b].insert(a);
  }
  for (int i = 0; i < n; i++) {
    dest[i].insert((i + 1) % n);
    dest[i].insert((i - 1 + n) % n);
  }
  solve(dest, 0);
  auto tt = flips;
  flips.clear();
  solve(from, 1);
  flips.insert(flips.end(), tt.rbegin(), tt.rend());
  printf("%d\n", (int)flips.size());
  for (int i = 0; i < flips.size(); i++) {
    printf("%d %d\n", flips[i].first + 1, flips[i].second + 1);
  }
  return 0;
}
