#include <bits/stdc++.h>
using namespace std;
int const N = 5e5 + 20;
int n, m, p[N], res[N], x[N], y[N];
vector<int> adj[N];
map<int, int> mp[2];
int other(int ed, int v) { return (v == x[ed] ? y[ed] : x[ed]); }
void dfs(int v, int col, bool f = 0) {
  while (p[v] < adj[v].size() && res[adj[v][p[v]]]) p[v]++;
  if (p[v] == adj[v].size()) return;
  int ed = adj[v][p[v]++];
  res[ed] = col;
  dfs(other(ed, v), 3 - col);
  if (!f) return;
  while (p[v] < adj[v].size() && res[adj[v][p[v]]]) p[v]++;
  if (p[v] == adj[v].size()) return;
  ed = adj[v][p[v]++];
  res[ed] = 3 - col;
  dfs(other(ed, v), col);
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cin >> m;
  for (int i = 0; i < m; i++) {
    cin >> x[i] >> y[i];
    if (!mp[0].count(x[i])) mp[0][x[i]] = n++;
    if (!mp[1].count(y[i])) mp[1][y[i]] = n++;
    x[i] = mp[0][x[i]], y[i] = mp[1][y[i]];
    adj[x[i]].push_back(i);
    adj[y[i]].push_back(i);
  }
  for (int i = 0; i < n; i++)
    while (p[i] < adj[i].size()) dfs(i, 1, 1);
  for (int i = 0; i < m; i++) cout << (res[i] == 1 ? 'r' : 'b');
}
