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<cstdio>
const long long mod = 998244353;
long long f[6005], invf[6005];

long long power(long long a,long long b){
    long long res = 1;
    while(b){
        if(b&1) res = res*a%mod;
        a = a*a%mod;
        b /= 2;
    }
    return res;
}

long long inv(long long u){ return power(u,mod-2); } 

void preWork(int n){
    f[0] = invf[0] = 1;
    for(int i = 1; i <= n; i++){
        f[i] = f[i-1]*(long long)i%mod;
        invf[i] = inv(f[i]);
    }
}

long long getC(long long n,long long m){
    if(m>n || m<0) return 0;
    else{
        long long res = f[n];
        res = res*invf[m]%mod;
        res = res*invf[n-m]%mod;
        return res;
    }
}

int min(int a,int b){ return a>b?b:a; }

int main(){
    preWork(6000);
    int n,x;
    scanf("%d%d",&n,&x);
    long long ans = 0;
    for(int cnt0 = 0; cnt0 <= n; cnt0++){
        int m = n-cnt0;
        long long res = 0;
        if(x<=m) res = x%2;
        else{
            for(int i = 0; i < x-m; i++){
                res += getC(m,i);
                if(res>=mod) res -= mod;
            }
            for(int i = x/2; i <= min(x-1,m-1); i++){
                int cnt2 = x-1-i, left2 = m-i;
                if(left2<=cnt2){
                    res += getC(i-left2,cnt2-left2);
                    if(res>=mod) res -= mod;
                }
            }
            //printf("n = %d, x = %d: %lld\n",m,x,res);
        } 
        ans = ans + getC(n,cnt0)*res%mod;
        if(ans>=mod) ans -= mod;
    }
    printf("%lld\n",ans);
    return 0;
}
