#include <bits/stdc++.h>
using namespace std;
int N;
multiset<pair<int, int> > G[401000];
int ans[1010000];
const int MAX_N = 200001;
vector<int> res;
int circuitpos;
multiset<pair<int, int> >::iterator it;
void find_circuit(int n) {
  int i, j, k, m, x;
  while (G[n].size() != 0) {
    it = G[n].begin();
    m = it->first;
    x = it->second;
    G[n].erase(it);
    it = G[m].find(make_pair(n, x));
    G[m].erase(it);
    find_circuit(m);
    res.push_back(x);
  }
  return;
}
int main() {
  ios::sync_with_stdio(false);
  cin >> N;
  int i, j, k, x, y, crt;
  for (i = 0; i < N; i++) {
    cin >> x >> y;
    G[x].insert(make_pair(y + MAX_N, i));
    G[y + MAX_N].insert(make_pair(x, i));
  }
  crt = N;
  vector<int> odd;
  for (i = 1; i < 400003; i++) {
    if ((G[i].size() % 2) == 0) continue;
    if (i < 200001) {
      G[i].insert(make_pair(400002, crt));
      G[400002].insert(make_pair(i, crt));
    } else {
      G[i].insert(make_pair(200001, crt));
      G[200001].insert(make_pair(i, crt));
    }
    crt++;
  }
  for (i = 1; i <= 2 * MAX_N; i++) {
    find_circuit(i);
  }
  for (i = 0; i < res.size(); i++) {
    ans[res[i]] = (i % 2);
  }
  for (i = 0; i < N; i++) {
    if (ans[i])
      cout << 'r';
    else
      cout << 'b';
  }
  cout << endl;
  return 0;
}
