#include <bits/stdc++.h>
#pragma GCC optimize("-O3")
using namespace std;
const long long mod = 998244353;
int win(long long s, long long e) {
  if (e == s) return 0;
  if (e - s == 1ll) return 1;
  if (e & 1ll) {
    if (s & 1ll)
      return 0;
    else
      return 1;
  }
  if (s > e / 2) return ((e - s) & 1ll);
  if (s > e / 4) return 1;
  return win(s, e / 4);
}
int lose(long long s, long long e) {
  if ((s << 1) > e) return 1;
  return win(s, e / 2);
}
int n;
void solve() {
  cin >> n;
  int w = 0, l = 1, tempw, templ;
  long long s, e;
  for (int i = 0; i < n; i++) {
    cin >> s >> e;
    if (w & l) continue;
    if ((w | l) == 0) continue;
    tempw = win(s, e);
    templ = lose(s, e);
    if (w) tempw ^= 1, templ ^= 1;
    w = tempw;
    l = templ;
  }
  cout << w << " " << l << '\n';
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int t = 1;
  while (t--) {
    solve();
  }
}
