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 cerr if (false) cerr
#define db(x) cerr << #x << "=" << x << endl
#define db2(x, y) cerr << #x << "=" << x << "," << #y << "=" << y << endl
#define db3(x, y, z) cerr << #x << "=" << x << "," << #y << "=" << y << "," << #z << "=" << z << endl
#define dbv(v) cerr << #v << "="; for (auto _x : v) cerr << _x << ", "; cerr << endl
#define dba(a, n) cerr << #a << "="; for (int _i = 0; _i < (n); ++_i) cerr << a[_i] << ", "; cerr << endl
typedef long long ll;
typedef long double ld;
const int MAXN = 3005;
ll binom[MAXN][MAXN];
const ll MOD = 998244353;
int main() {
	for (int i = 0; i < MAXN; ++i)
		for (int j = 0; j <= i; ++j)
			if (!j || j == i) binom[i][j] = 1;
			else binom[i][j] = (binom[i - 1][j - 1] + binom[i - 1][j]) % MOD;
	int n, x;
	scanf("%d%d", &n, &x);
	ll ans = 0;
	for (int a = 0; a <= n; ++a) {
		for (int b = 0; b <= a; ++b) {
			int c = min(b, a - b);
			if (b + c > x - 1) continue;
			if (b + b < x - 1) continue;
			int r = b - c;
			int t = x - 1 - b - c;
			assert(0 <= t && t <= r);
			ans = (ans + binom[r][t] * binom[n][a]) % MOD;
		}
		// Sum to s <= x - 2
		for (int s = a; s <= x - 2; ++s) {
			int t = s - a;
			if (t < 0 || t > a) continue;
			ans = (ans + binom[a][t] * binom[n][a]) % MOD;
		}
	}
	printf("%lld\n", ans);
}
