#include <bits/stdc++.h>
using namespace std;
bool Yes;
int a[1001][1001], b[1001], c[1001], e[1001], f[1001], i, j, n, m, x, y, k, l;
int main() {
  cin >> n;
  m = n;
  l = 0;
  for (i = 1; i <= n; i++)
    for (j = 1; j <= n; j++) a[i][j] = 0;
  for (i = 1; i <= n - 1; i++) {
    cin >> x >> y;
    a[x][y] = 1;
  }
  while (n != 1) {
    Yes = false;
    for (i = 1; i <= n; i++)
      if (a[i][n] == 1) Yes = true;
    if (Yes == true) {
      for (j = 1; j <= n; j++) {
        Yes = true;
        for (i = 1; i <= n; i++)
          if (a[i][j] != 0) Yes = false;
        if (Yes == true) {
          x = j;
          for (i = 1; i <= n; i++) b[i] = a[i][n];
          for (i = 1; i <= n; i++) a[i][n] = a[i][j];
          for (i = 1; i <= n; i++) a[i][j] = b[i];
          break;
        }
      }
      if (x != n) {
        l++;
        c[l] = 2;
        e[l] = x;
        f[l] = n;
      }
    }
    k = 0;
    for (j = 1; j <= n; j++)
      if (a[n][j] == 1) k++;
    if (k == 0) {
      for (i = 1; i <= n; i++) {
        k = 0;
        for (j = 1; j <= n; j++)
          if (a[i][j] == 1) k++;
        if (k > 0) {
          y = i;
          for (j = 1; j <= n; j++) b[j] = a[n][j];
          for (j = 1; j <= n; j++) a[n][j] = a[i][j];
          for (j = 1; j <= n; j++) a[i][j] = b[j];
          break;
        }
      }
      if (y != n) {
        l++;
        c[l] = 1;
        e[l] = y;
        f[l] = n;
      }
    }
    n--;
  }
  cout << l << "\n";
  for (i = 1; i <= l; i++) cout << c[i] << " " << e[i] << " " << f[i] << "\n";
  return 0;
}
