#include <bits/stdc++.h>
using namespace std;
long long gcd(long long x, long long y) {
  if (y == 0) return x;
  return gcd(y, x % y);
}
long long fpow(long long x, long long y) {
  if (y == 0) return 1;
  if (y == 1) return x;
  long long p = fpow(x, y / 2);
  p *= p;
  if (y & 1) p *= x;
  return p;
}
int a[105], vis[105], b[105];
int main() {
  int n;
  cin >> n;
  string s;
  cin >> s;
  for (int i = 0; i < n; i++) {
    if (s[i] == '1') vis[i] = 1;
  }
  for (int i = 0; i < n; i++) {
    cin >> a[i] >> b[i];
  }
  int ans = 1;
  for (int i = 0; i <= 50000; i++) {
    int sum = 0;
    for (int j = 0; j < n; j++) {
      int x = i - b[j];
      if (x < 0) {
        if (vis[j]) sum++;
      } else {
        x /= a[j];
        if (vis[j]) {
          if (x % 2 != 0) sum++;
        } else if (x % 2 == 0)
          sum++;
      }
    }
    ans = max(ans, sum);
  }
  cout << ans << endl;
  return 0;
}
