0과 1로 이루어진 문자열에서 길이가 K인 연속 부분문자열을 모두 살펴봤을 때 그 안에 들어 있는 1의 개수가 전부 같으면, 이 문자열을 K-균등하다고 하자.
예를 들어 문자열 100110은 4-균등하다. 길이가 4인 연속 부분문자열은 1001, 0011, 0110 세 개인데 셋 다 1을 두 개씩 담고 있기 때문이다.
온조는 0과 1로 이루어진 길이 N의 문자열을 만들려고 한다. 온조에게는 좋아하는 구간 M개와 좋아하는 수 M개가 있다. i번째 구간은 Li번째 문자부터 Ri번째 문자까지의 부분문자열을 뜻하고, i번째 수는 Ki이다. 온조는 i번째 구간에 해당하는 부분문자열이 Ki-균등하기를 원한다. Ki는 i번째 구간의 길이보다 크지 않다.
온조가 만들 수 있는 문자열의 개수를 구하여라. 수가 커질 수 있으니 1,000,000,007로 나눈 나머지를 출력한다.