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>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
#include<queue>
#include<vector>
#include<ctime>
#include<map>
#include<bitset>
#include<set>
#define LL long long
#define mp(x,y) make_pair(x,y)
#define pll pair<long long,long long>
#define pii pair<int,int>
using namespace std;
inline int read()
{
	int f=1,x=0;char ch=getchar();
	while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
	while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
	return x*f;
}
int stack[20];
inline void write(int x)
{
	if(x<0){putchar('-');x=-x;}
    if(!x){putchar('0');return;}
    int top=0;
    while(x)stack[++top]=x%10,x/=10;
    while(top)putchar(stack[top--]+'0');
}
inline void pr1(int x){write(x);putchar(' ');}
inline void pr2(int x){write(x);putchar('\n');}
const int MAXN=3005;
const int mod=998244353;
void ad(int &x,int y){x+=y;if(x>=mod)x-=mod;}
int f[MAXN][MAXN*2],C[MAXN][MAXN];
void init()
{
	for(int i=0;i<MAXN;i++)
	{
		C[i][0]=1;
		for(int j=1;j<=i;j++)C[i][j]=(C[i-1][j-1]+C[i-1][j])%mod;
	}
	f[0][0]=1;
	for(int i=1;i<MAXN;i++)
		for(int j=0;j<=2*i;j++)
		{
			if(j-1>=0)ad(f[i][j],f[i-1][j-1]);
			if(j-2>=0)ad(f[i][j],f[i-1][j-2]);
		}
}
int n,X;
int main()
{
	init();
	n=read();X=read();
	int ans=1;
	for(int i=1;i<=n;i++)
	{
		int sum=0;
		for(int j=1;j<X;j++)ad(sum,f[i][j]);
		for(int j=X+1;j<=2*i;j+=2)if(j>=i)
		{
			int a=(j-X+1)/2;
			if(2*a<X-1&&i-2*a>=1)ad(sum,f[i-2*a][X-2*a-1]);
			else if(X&1&&2*a>=i&&j==i*2)ad(sum,1);
		}
		ad(ans,1LL*sum*C[n][i]%mod);
	}
	pr2(ans);
	return 0;
}