codeforces#P1045H. Self-exploration

Self-exploration

Description

Being bored of exploring the Moon over and over again Wall-B decided to explore something he is made of — binary numbers. He took a binary number and decided to count how many times different substrings of length two appeared. He stored those values in $c_{00}$, $c_{01}$, $c_{10}$ and $c_{11}$, representing how many times substrings 00, 01, 10 and 11 appear in the number respectively. For example:

$10111100 \rightarrow c_{00} = 1, \ c_{01} = 1,\ c_{10} = 2,\ c_{11} = 3$

$10000 \rightarrow c_{00} = 3,\ c_{01} = 0,\ c_{10} = 1,\ c_{11} = 0$

$10101001 \rightarrow c_{00} = 1,\ c_{01} = 3,\ c_{10} = 3,\ c_{11} = 0$

$1 \rightarrow c_{00} = 0,\ c_{01} = 0,\ c_{10} = 0,\ c_{11} = 0$

Wall-B noticed that there can be multiple binary numbers satisfying the same $c_{00}$, $c_{01}$, $c_{10}$ and $c_{11}$ constraints. Because of that he wanted to count how many binary numbers satisfy the constraints $c_{xy}$ given the interval $[A, B]$. Unfortunately, his processing power wasn't strong enough to handle large intervals he was curious about. Can you help him? Since this number can be large print it modulo $10^9 + 7$.

First two lines contain two positive binary numbers $A$ and $B$ ($1 \leq A \leq B < 2^{100\,000}$), representing the start and the end of the interval respectively. Binary numbers $A$ and $B$ have no leading zeroes.

Next four lines contain decimal numbers $c_{00}$, $c_{01}$, $c_{10}$ and $c_{11}$ ($0 \leq c_{00}, c_{01}, c_{10}, c_{11} \leq 100\,000$) representing the count of two-digit substrings 00, 01, 10 and 11 respectively.

Output one integer number representing how many binary numbers in the interval $[A, B]$ satisfy the constraints mod $10^9 + 7$.

Input

First two lines contain two positive binary numbers $A$ and $B$ ($1 \leq A \leq B < 2^{100\,000}$), representing the start and the end of the interval respectively. Binary numbers $A$ and $B$ have no leading zeroes.

Next four lines contain decimal numbers $c_{00}$, $c_{01}$, $c_{10}$ and $c_{11}$ ($0 \leq c_{00}, c_{01}, c_{10}, c_{11} \leq 100\,000$) representing the count of two-digit substrings 00, 01, 10 and 11 respectively.

Output

Output one integer number representing how many binary numbers in the interval $[A, B]$ satisfy the constraints mod $10^9 + 7$.

Samples

10
1001
0
0
1
1

1

10
10001
1
2
3
4

0

Note

Example 1: The binary numbers in the interval $[10,1001]$ are $10,11,100,101,110,111,1000,1001$. Only number 110 satisfies the constraints: $c_{00} = 0, c_{01} = 0, c_{10} = 1, c_{11} = 1$.

Example 2: No number in the interval satisfies the constraints