#include <bits/stdc++.h>
using namespace std;
const int MAXN = 200100;
int a[MAXN], b[MAXN];
int go[MAXN];
int n;
int sol[MAXN];
void dfs(int i) {
  if (!sol[i ^ 1]) {
    sol[i ^ 1] = sol[i] ^ 1;
    dfs(i ^ 1);
  }
  if (!sol[go[i]]) {
    sol[go[i]] = sol[i] ^ 1;
    dfs(go[i]);
  }
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> a[i] >> b[i];
    a[i]--;
    b[i]--;
    go[a[i]] = b[i];
    go[b[i]] = a[i];
  }
  n *= 2;
  for (int i = 0; i < n; i++) {
    if (!sol[i]) {
      sol[i] = 2;
      dfs(i);
    }
  }
  for (int i = 0; i < n / 2; i++) {
    cout << sol[a[i]] - 1 << ' ' << sol[b[i]] - 1 << '\n';
  }
}
