#include <bits/stdc++.h>
using namespace std;
bool g(long long n, long long k);
bool f(long long n, long long k) {
  if (k > n) return 0;
  if (n % 2 == 1) return !(k % 2 == 1);
  long long piv = n / 2;
  if (k > piv)
    return (k % 2);
  else
    return g(n / 2, k);
}
bool g(long long n, long long k) {
  if (k > n) return 1;
  long long piv = n / 2;
  if (k > piv)
    return 1;
  else
    return f(n / 2, k);
}
int main() {
  int n;
  scanf("%d", &n);
  bool x = 0, y = 1;
  for (int i = 0; i < n; i++) {
    long long a, b;
    scanf("%lld %lld", &a, &b);
    int nx = f(b, a), ny = g(b, a);
    if (x && y) break;
    if (!x && !y) break;
    if (y)
      x = nx, y = ny;
    else
      x = nx ^ 1, y = ny ^ 1;
  }
  printf("%d %d\n", x, y);
}
