시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 512 MB53360.000%

문제

The lighting system in Binary Casino is controlled by a very complex and secure mechanism, which is connected to a central control console. At the console, the state of each light is stored as one bit of information (0=the corresponding light is off, 1=light is on), so the complete state of all lights in the building may be represented by a binary number a.

To avoid manipulation by unauthorized persons, the lighting system has a special method to control the lights. Should one want to change the configuration of the lights, it is necessary to enter a binary number b which gets added to the original configuration a using standard integer summation.

You need a particular number of lights to be switched ON and you are curious what are you chances of success. How many suitable binary numbers are there?

입력

The first line of input contains two integers N and K (1 ≤ N ≤ 1000, 0 ≤ K ≤ N), N representing the number of bits of a and of b, and K the target number of lights to be switched ON. The second line contains a binary integer a of length N.

출력

Print the number of different nonnegative N-bit integers b such that the sum a + b has exactly K bits set to 1. As the result might be large, output it modulo 109 + 7.

예제 입력 1

4 2
1100

예제 출력 1

5

예제 입력 2

10 5
1000100111

예제 출력 2

260

예제 입력 3

13 1
0000000000000

예제 출력 3

13