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;
typedef double D;
typedef pair<ll,ll> P;
#define M 998244353
#define F first
#define S second
#define PB push_back
#define INF 100000000000000000
ll ka[10000],in[10000];
ll pw(ll x,ll y){
	ll res=1;
	while(y){
		if(y&1)res=res*x%M;
		y>>=1;
		x=x*x%M;
	}
	return res;
}
ll cm(ll x,ll y){
	return ka[x]*in[x-y]%M*in[y]%M;
}
ll n,x,ans;
int main(void){
    cin>>n>>x;
    ka[0]=1,in[0]=1;
    for(ll i=1;i<=n;i++){
		ka[i]=ka[i-1]*i%M;
		in[i]=pw(ka[i],M-2);
	}
    for(ll i=0;i<=n;i++){
		for(ll j=0;j+i<=n;j++){
			ll s=i+j*2,a=(s-x+1)/2;
			if(i==0&&(s<x||x%2))ans=(ans+cm(n,j))%M;
			else if(s<x)ans=(ans+cm(n,i)*cm(n-i,j)%M)%M;
			else if(s%2!=x%2&&j>=a*2)ans=(ans+cm(i+j-a*2,i)*cm(n,i+j)%M)%M;
		}
	}
	cout<<ans<<endl;
}