#include <bits/stdc++.h>
using namespace std;
namespace i207M {
template <class T>
inline void in(T &x) {
  x = 0;
  bool f = 0;
  char c = getchar();
  while (c < '0' || c > '9') {
    if (c == '-') f = 1;
    c = getchar();
  }
  while (c >= '0' && c <= '9') x = x * 10 + (c ^ '0'), c = getchar();
  if (f) x = -x;
}
int n;
int v[400005 << 1], nx[400005 << 1];
int head[400005], cnte = 1;
int du[400005];
inline void adde(int uu, int vv) {
  ++du[uu];
  v[++cnte] = vv, nx[cnte] = head[uu], head[uu] = cnte;
}
bool use[400005];
bool vis[400005];
int ans[400005];
void dfs(int x) {
  vis[x] = 1;
  for (register int &i = head[x]; i; i = nx[i])
    if (!use[i >> 1]) {
      ans[i >> 1] = (v[i] < x);
      use[i >> 1] = 1;
      dfs(v[i]);
    }
}
signed main() {
  in(n);
  for (register int i = 1, x, y; i <= n; ++i) {
    in(x), in(y);
    adde(x, y + 200000);
    adde(y + 200000, x);
  }
  int lst = -1;
  for (register int i = 1; i <= 400000; ++i)
    if (du[i] & 1) {
      if (lst != -1)
        adde(i, lst), adde(lst, i), lst = -1;
      else
        lst = i;
    }
  for (register int i = 1; i <= 400000; ++i)
    if (!vis[i] && head[i]) dfs(i);
  for (register int i = 1; i <= n; ++i) putchar(ans[i] ? 'r' : 'b');
  return 0;
}
}  // namespace i207M
int main() {
  i207M::main();
  return 0;
}
