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;

const int mod=998244353;
const int N=3005;
int n,x,f[N][2*N],dp[N][2*N];
int fac[N],infac[N],inv[N];

namespace MATHEMATICS
{
	int add(int x,int y)
	{
		int ret=x+y;
		if(ret>=mod) ret-=mod;
		return ret;
	}
	int mi(int x,int y)
	{
		int ret=x-y;
		if(x<0) x+=mod;
		return ret;
	}
	
	void inc(int &x,int y)
	{
		x+=y;
		if(x>=mod) x-=mod;
	}
	void dec(int &x,int y)
	{
		x-=y;
		if(x<0) x+=mod;
	}
	
	int mul(int x,int y)
	{
		return 1LL*x*y%mod;
	}
	int F_p(int x,int y)
	{
		int bas=x,ret=1;
		while(y)
		{
			if(y&1) ret=mul(ret,bas);
			bas=mul(bas,bas);
			y>>=1;
		}
		return ret;
	}
}
using namespace MATHEMATICS;

int C(int x,int y)
{
	return mul(fac[x],mul(infac[y],infac[x-y]));
}
void prework()
{
	int i,j;f[0][0]=1;
	for(i=1;i<=n;++i)
		for(j=i;j<=2*i;++j)
			f[i][j]=add(f[i-1][j-1],f[i-1][j-2]);
	
	fac[0]=1;for(i=1;i<=n;++i) fac[i]=mul(fac[i-1],i);
	inv[1]=1;for(i=2;i<=n;++i) inv[i]=mul(inv[mod%i],mod-mod/i);
	infac[0]=1;for(i=1;i<=n;++i) infac[i]=mul(infac[i-1],inv[i]);
}

void DP()
{
	int i,j,k;dp[0][0]=1;
	for(i=1;i<=n;++i)
		for(j=i;j<=2*i;++j)
		{
			if(j<x-1) dp[i][j]=f[i][j];
			else
			{
				if((j&1)==(x&1)) dp[i][j]=0;
				else
				{
					int len=(j-(x-1))>>1;
					if(2*len>i||4*len>j)
					{
						if((x&1)&&(i<<1)==j) dp[i][j]=1;
						else dp[i][j]=0;
					}
					else dp[i][j]=f[i-2*len][j-4*len];
				}
			}
		}
}

void work()
{
	int i,j,ans=0;
	for(i=0;i<=n;++i)
		for(j=i;j<=2*i;++j)
			inc(ans,mul(dp[i][j],C(n,i)));
	printf("%d\n",ans);
}

int main()
{
	scanf("%d%d",&n,&x);
	prework();DP();work();
	return 0;
}