func_code_string: #include <bits/stdc++.h>   using namespace std;   const int maxn = 2e5 + 10;   set<int> adj[maxn * 2 + 20];   int ans[maxn], n;   vector<int> ans_eu;   map<pair<int, int>, int> mp;   void find_eu(int v) {     while (adj[v].size()) {       int tmp = *adj[v].begin();       adj[v].erase(tmp);       adj[tmp].erase(v);       find_eu(tmp);     }     ans_eu.push_back(v);   }   void solve() {     for (int i = 1, tmp = maxn * 2 + 9; i < maxn * 2 + 10; i++)       if (adj[i].size() % 2 == 1) adj[tmp].insert(i), adj[i].insert(tmp);     for (int i = maxn * 2 + 9; i > 0; i--) {       if (adj[i].size()) {         ans_eu.clear();         find_eu(i);         for (int j = 1; j < ans_eu.size(); j++)           if (max(ans_eu[j], ans_eu[j - 1]) != maxn * 2 + 9)             ans[mp[{ans_eu[j], ans_eu[j - 1]}]] = j % 2;       }     }     for (int i = 1; i <= n; i++) cout << (ans[i] ?  r  :  b );     cout << endl;   }   int main() {     cin >> n;     for (int i = 1, x, y; i <= n; i++) {       cin >> x >> y;       adj[x].insert(y + maxn);       adj[y + maxn].insert(x);       mp[{x, y + maxn}] = mp[{y + maxn, x}] = i;     }     solve();     return 0;   }   