#include <bits/stdc++.h>   #pragma GCC optimize( Ofast )   #pragma GCC target( sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native )   using namespace std;   long long n, m, a, b, c, k, temp, x, y;   const int MAXN = 1e5 + 11, mod = 1e9 + 7;   inline long long max(long long a, long long b) { return ((a > b) ? a : b); }   inline long long min(long long a, long long b) { return ((a > b) ? b : a); }   inline vector<long long> read(int n) {     vector<long long> v(n);     for (int i = 0; i < v.size(); i++) cin >> v[i];     return v;   }   long long setbits(long long n) {     if (n % 4 == 0) return n;     if (n % 4 == 1) return 1;     if (n % 4 == 2) return n + 1;     if (n % 4 == 3) return 0;     return 1e18;   }   long long getxor(long long x, long long m) {     return setbits(x + m - 1) ^ setbits(x - 1);   }   void sol() {     cin >> n;     long long txor = 0;     for (int i = 0; i < n; i++) {       cin >> x >> m;       txor = txor ^ getxor(x, m);     }     if (txor)       cout <<  tolik ;     else       cout <<  bolik ;     return;   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     int test = 1;     for (int i = 1; i <= test; i++) sol();   }   