Bobo String Count
时间限制:C/C++/Rust/Pascal 4秒,其他语言8秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

After the failure of “Bobo Encoding” (for information on “Bobo Encoding”, you may refer to the statement of “Binary String Construction”, but it is not necessary to understand this problem), Bobo decided to study strings carefully. Now he is considering a very simple problem:

Given a string t consisting of only 0s and 1s,  a positive integer n, and an integer 0\leq k\leq n, you need to calculate the number of strings s consisting of only 0s and 1s with length exactly n, satisfying:
  •  The string t appears exactly k times in the string s (note that the appearance here can be overlapped, such as 101 appearing twice in 10101).
Since the answer may be too large, you need to output the answer modulo 998244353.

输入描述:

The first line contains two integers n,k (1 \le n \le 50000,0\leq k\leq n). 

The second line contains a binary string t (1 \le |t| \le 50000).

输出描述:

Output an integer in one line, denoting the answer modulo 998244353.
示例1

输入

复制
5 2
11

输出

复制
6
示例2

输入

复制
10 5
0

输出

复制
252
示例3

输入

复制
10 0
1001

输出

复制
631