Find the number, modulo 998244353, of sequences of length N consisting of 0, 1 and 2 such that none of their contiguous subsequences totals to X.

Constraints

* 1 \leq N \leq 3000
* 1 \leq X \leq 2N
* N and X are integers.

Input

Input is given from Standard Input in the following format:


N X


Output

Print the number, modulo 998244353, of sequences that satisfy the condition.

Examples

Input

3 3


Output

14


Input

8 6


Output

1179


Input

10 1


Output

1024


Input

9 13


Output

18402


Input

314 159


Output

459765451
#include<bits/stdc++.h>
using namespace std;

typedef long long ll;

int N, X;
ll con[6010][6010];
ll mod = 998244353;
ll ans;

int main()
{
    cin >> N >> X;

    for(int i = 0; i < 6010; i++)for(int j = 0; j <= i; j++)
    {
        if(i == j)con[i][j] = 1;
        else if(j == 0)con[i][j] = 1;
        else con[i][j] = (con[i - 1][j] + con[i - 1][j - 1]) % mod;
    }

    for(int i = 0; i <= N; i++)
    {
        ll tmp = 0;
        for(int j = 0; j <= i; j++)
        {
            if(2 * j < X - 1)continue;
            int t = (X - 1) - j;
            if(j - t != 0 && t < i - j)continue;
            tmp += con[max(0, j - (i - j))][max(0, t - (i - j))] * con[N][i];
            tmp %= mod;
        }
        ans += tmp;
        ans %= mod;
    }

    for(int i = 0; i <= N; i++)
    {
        ll tmp = 0;
        for(int j = 0; j <= i; j++)
        {
            if(i - j + j * 2 < X - 1)
            {
                tmp += con[N][i] * con[i][j] % mod;
                tmp %= mod;
            }
        }
        ans += tmp;
        ans %= mod;
    }

    cout << ans << endl;
}
