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 <stdio.h>  
#include <algorithm>  
#include <assert.h>
#include <bitset>
#include <cmath>  
#include <complex>  
#include <deque>  
#include <functional>  
#include <iostream>  
#include <limits.h>  
#include <map>  
#include <math.h>  
#include <queue>  
#include <set>  
#include <stdlib.h>  
#include <string.h>  
#include <string>  
#include <time.h>  
#include <unordered_map>  
#include <unordered_set>  
#include <vector>  

#pragma warning(disable:4996)  
#pragma comment(linker, "/STACK:336777216")  
using namespace std;

#define mp make_pair  
#define Fi first  
#define Se second  
#define pb(x) push_back(x)  
#define szz(x) ((int)(x).size())  
#define rep(i, n) for(int i=0;i<n;i++)  
#define all(x) (x).begin(), (x).end()  
#define ldb ldouble  

typedef tuple<int, int, int> t3;
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
typedef long double ldb;
typedef pair <int, int> pii;
typedef pair <ll, ll> pll;
typedef pair <ll, int> pli;
typedef pair <db, db> pdd;

int IT_MAX = 1 << 17;
const ll MOD = 998244353;
const int INF = 0x3f3f3f3f;
const ll LL_INF = 0x3f3f3f3f3f3f3f3f;
const db PI = acos(-1);
const db ERR = 1e-10;

ll Co[3050][3050];
int main() {
	int i, j, k;
	for (i = 0; i <= 3020; i++) {
		Co[i][0] = Co[i][i] = 1;
		for (j = 1; j < i; j++) Co[i][j] = (Co[i - 1][j - 1] + Co[i - 1][j]) % MOD;
	}

	ll ans = 0;
	int N, X;
	scanf("%d %d", &N, &X);
	for (i = 0; i <= N; i++) {
		for (j = 0; j <= N-i; j++) {
			ll s = i + 2 * j;

			ll cnt = 0;
			if (s < X) cnt = Co[i + j][i];
			else if (s < 2 * X) {
				ll K = s - X;
				if (K % 2 && K != X-1) {
					int c2 = K + 1;
					if (j >= c2) cnt = Co[i + j - c2][i];
				}
			}
			else {
				if (i == 0 && X % 2 == 1) cnt = 1;
			}

			ans = (ans + cnt * Co[N][i + j]) % MOD;
		}
	}
	return !printf("%lld\n", ans);
}