CSES - KILO 2015 5/5 - Contests
  • Time limit: 1.00 s
  • Memory limit: 128 MB

A team of coders has participated in nn contests. The score for each contest is an integer between 00 and 1010, and the total score is the sum of the scores.

You know the total score of the team and some scores for individual contests. Your task is to calculate the number of ways the team may have achieved the total score.

Input

The first input line contains two integers nn and ss: the number of the contests and the total score.

The second input line contains nn numbers, and describes the scores of the contests. Each number is either ? or an integer between 00 and 1010. Value ? means that the score is unknown, and otherwise the number is the score.

Output

Output one integer: the number of ways to achieve the total score. The answer may be large so output it modulo 109+710^9+7.

You may assume that there is at least one solution.

Constraints

  • 1n1001 \le n \le 100
  • 0s10000 \le s \le 1000

Example

Input:

4 25
8 ? 3 ?

Output:

7