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;
int dp[6100][6100];
const ll M = 998244353;
ll ch(int a,int b) {
	if(b < 0 || b > a) return 0;
	if(b == 0 || b == a) return 1;
	if(dp[a][b] != -1) return dp[a][b];
	ll val = ch(a-1,b-1)+ch(a-1,b);
	if(val >= M) val -= M;
	return dp[a][b] = val;
}
int main() {
	int n,x;
	cin >> n >> x;
	memset(dp,-1,sizeof(dp));
	ll tot = 0;
	for(int i=0;i<x;i++) {
		for(int j=0;j<=x-1-i;j++) {
			tot += ch(i,j)*ch(n,i);
			tot %= M;
		}
	}
	//cout << tot << '\n';
	if(x%2) {
		int st = max(x-1,(x+1)/2);
		for(int i=st;i<=n;i++) {
			tot += ch(n,i);
			tot %= M;
		}
		//cout << tot << '\n';
	}
	for(int i=1;2*i<x-1;i++) {
		for(int j=0;x-1-2*i-j>=0;j++) {
			tot += ch(x-1-2*i-j,j)*ch(n,x-1-j);
			tot %= M;
			//cout << ch(x-1-2*i-j,j) << " * " << ch(n,x-1-j) << "ad\n";
		}
		//cout << tot << '\n';
	}
	tot %= M;
	cout << tot << '\n';
}
