It is a holiday season, and Koala is decorating his house with cool lights! He owns $n$ lights, all of which flash periodically.
After taking a quick glance at them, Koala realizes that each of his lights can be described with two parameters $a_i$ and $b_i$. Light with parameters $a_i$ and $b_i$ will toggle (on to off, or off to on) every $a_i$ seconds starting from the $b_i$-th second. In other words, it will toggle at the moments $b_i$, $b_i + a_i$, $b_i + 2 \cdot a_i$ and so on.
You know for each light whether it’s initially on or off and its corresponding parameters $a_i$ and $b_i$. Koala is wondering what is the maximum number of lights that will ever be on at the same time. So you need to find that out.

Here is a graphic for the first example.
Input
The first line contains a single integer $n$ ($1 \le n \le 100$), the number of lights.
The next line contains a string $s$ of $n$ characters. The $i$-th character is “1”, if the $i$-th lamp is initially on. Otherwise, $i$-th character is “0”.
The $i$-th of the following $n$ lines contains two integers $a_i$ and $b_i$ ($1 \le a_i, b_i \le 5$) — the parameters of the $i$-th light.
Output
Print a single integer — the maximum number of lights that will ever be on at the same time.
Examples
input
3 101 3 3 3 2 3 1
Output
2
input
4 1111 3 4 5 2 3 1 3 2
output
4
input
6 011100 5 3 5 5 2 4 3 5 4 2 1 5
output
6
Note
For first example, the lamps’ states are shown in the picture above. The largest number of simultaneously on lamps is $2$ (e.g. at the moment $2$).
In the second example, all lights are initially on. So the answer is $4$.
Solution:
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
const int MAX = 100000;
vector<int> cnt(MAX);
int n;
cin >> n;
string s;
cin >> s;
for (int i = 0; i < n; i++) {
int a, b;
cin >> a >> b;
int c = (int) (s[i] - '0');
for (int j = 0; j < MAX; j++) {
cnt[j] += c;
if (j == b) {
c ^= 1;
b += a;
}
}
}
cout << *max_element(cnt.begin(), cnt.end()) << '\n';
return 0;
}