You are given two positive integers N and K. How many multisets of rational numbers satisfy all of the following conditions?
 - The multiset has exactly N elements and the sum of them is equal to K.
 - Each element of the multiset is one of 1, \frac{1}{2}, \frac{1}{4}, \frac{1}{8}, \dots. In other words, each element can be represented as \frac{1}{2^i}\ (i = 0,1,\dots).
The answer may be large, so print it modulo 998244353.
-----Constraints-----
 - 1 \leq K \leq N \leq 3000
 - All values in input are integers.
-----Input-----
Input is given from Standard Input in the following format:
N K
-----Output-----
Print the number of multisets of rational numbers that satisfy all of the given conditions modulo 998244353.
-----Sample Input-----
4 2
-----Sample Output-----
2
The following two multisets satisfy all of the given conditions:
 - {1, \frac{1}{2}, \frac{1}{4}, \frac{1}{4}}
 - {\frac{1}{2}, \frac{1}{2}, \frac{1}{2}, \frac{1}{2}}
N,K = list(map(int,input().split()))

MOD = 998244353

dp = [[0 for i in range(N+1)] for j in range(N+1)]

dp[1][1] = 1

for i in range(1,N+1):
    for j in range(N,0,-1):
        if (i,j) == (1,1):
            continue
        else:
            dp[i][j] = (dp[i-1][j-1] + (dp[i][2*j] if 2*j <= N else 0)) % MOD

print((dp[N][K]))


N,K = list(map(int,input().split()))

MOD = 998244353

dp = [[0 for i in range(N+1)] for j in range(N+1)]

dp[1][1] = 1

for i in range(1,N+1):
    for j in range(N,0,-1):
        if (i,j) == (1,1):
            continue
        else:
            dp[i][j] = (dp[i-1][j-1] + (dp[i][2*j] if 2*j <= N else 0)) % MOD

print((dp[N][K]))

