#include <bits/stdc++.h>
using namespace std;
template <class T>
bool mini(T &a, T b) {
  return a > b ? (a = b, true) : false;
}
template <class T>
bool maxi(T &a, T b) {
  return a < b ? (a = b, true) : false;
}
signed main() {
  { ios_base::sync_with_stdio(false), cin.tie(NULL); };
  cout.precision(10);
  cout << fixed;
  int n = 400000;
  int m;
  cin >> m;
  vector<pair<int, int> > eds;
  vector<vector<int> > G(n);
  vector<int> deg(n);
  for (int i = 0; i < (int)(m); i++) {
    int u, v;
    cin >> u >> v;
    v += 200000;
    u--;
    v--;
    eds.push_back({u, v});
    G[u].push_back(i);
    G[v].push_back(i);
    deg[u]++;
    deg[v]++;
  }
  vector<int> ANS(m, -1);
  for (int i = 0; i < (int)(n); i++)
    if (deg[i] & 1) {
      int u = i;
      bool lab = 0;
      while (G[u].size()) {
        int id = G[u].back();
        G[u].pop_back();
        if (~ANS[id]) continue;
        ANS[id] = lab ^= 1;
        int v = eds[id].first ^ eds[id].second ^ u;
        deg[u]--;
        deg[v]--;
        u = v;
      }
    }
  for (int i = 0; i < (int)(n); i++)
    if (deg[i]) {
      int u = i;
      bool lab = 0;
      while (G[u].size()) {
        int id = G[u].back();
        G[u].pop_back();
        if (~ANS[id]) continue;
        ANS[id] = lab ^= 1;
        int v = eds[id].first ^ eds[id].second ^ u;
        deg[u]--;
        deg[v]--;
        u = v;
      }
    }
  for (bool e : ANS) cout << (e ? 'b' : 'r');
  cout << "\n";
}
