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;

#define pii pair<int,int>
#define mp make_pair
#define pb push_back
#define lg long long
#define db double
#define lb(x) ((x)&-(x))
#define ft first
#define sd second

#define HII cerr<<"HI"<<endl
#define LLLINE cerr<<"@@@@@@@@@@@@@@@@@@@@"<<endl

template <class _T_>
void read(_T_& d){
	d=0;int f=1;char c=getchar();
	for(;c<'0'||c>'9';c=getchar())if(c=='-')f*=-1;
	for(;c>='0'&&c<='9';c=getchar())d=d*10+c-'0';
	d*=f;
}

/************************************************/
#define MN 3005
#define Md 998244353
int Fix(int x){return x<0?x+Md:(x>=Md?x-Md:x);}
int dp[MN][MN*2];
int C[MN][MN];
int n,x;
int main(){
	read(n);read(x);
	C[0][0]=1;
	lg res=0;
	for(int i=1;i<MN;++i){
		C[i][0]=C[i][i]=1;
		for(int j=1;j<i;++j){
			C[i][j]=Fix(C[i-1][j-1]+C[i-1][j]);
		}
	}
	dp[0][0]=1;
	for(int i=0;i<x;++i){
		for(int j=0;j<=n;++j){
			res=Fix(res+1ll*C[n][j]*dp[j][i]%Md);
			dp[j+1][i+2]=Fix(dp[j+1][i+2]+dp[j][i]);
			dp[j+1][i+1]=Fix(dp[j+1][i+1]+dp[j][i]);
		}
		res%=Md;
	}
	if(x&1){
		for(int j=1;j<=n;++j){
			if(j*2>x){
				res=Fix(res+C[n][j]);
			}
		}
	}
	memset(dp,0,sizeof dp);
	dp[1][1]=1;
	for(int i=1;i<=n;++i)C[n][i]=Fix(C[n][i]+C[n][i-1]);
	for(int i=1;i<x;++i){
		for(int j=1;j<=n;++j){
			if(((x-i)&1)&&(x-i>2)){
				int h=(x-i)/2+j;
				res=Fix(res+1ll*Fix(C[n][min(n,h+(x-i)/2)]-C[n][min(n,h)])*dp[j][i]%Md);
			}
			dp[j+1][i+2]=Fix(dp[j+1][i+2]+dp[j][i]);
			dp[j+1][i+1]=Fix(dp[j+1][i+1]+dp[j][i]);
		}
		res%=Md;
	}
	cout<<res;
	return 0;
}
