You are given a binary string of 0s and 1s.
Your task is to calculate the number of ways so that a string can be partitioned by satisfying the following constraints:
For example, the string 101100 contains 10|1100 , 101100 as the two valid partitions whereas 10|1|100, 1|0|1100 as some of the invalid partitions.
Note: The string as a whole is a valid partition.
Print the number of ways modulo 1e9+7.
Input format
The first and only line contains n and s that represents the length of the string and binary string.
Output format
Print the number of ways to partition the binary string.
Constraints
n≤5000
The three valid partitions are 101110, 10|1110, 101|110.