#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define mp make_pair
#define pb push_back

#define eprintf(...) fprintf(stderr, __VA_ARGS__)
#define rep(i, n) for (int i = 0; i < (int)(n); ++ i)

int dp[3005][3005];

int main() {
	int n, k;
	cin >> n >> k;
	const int mod = 998244353;
	dp[0][k] = 1;
	rep(i, n + 1) rep(j, n + 1) if (i || j > k)
		dp[i][j] = (
				(i ? dp[i - 1][j + 1] : 0) +
				(j & 1 ? 0 : dp[i][j / 2])) % mod;
	cout << dp[n][0] << endl;
	return 0;
}

#include <iostream>
#include <math.h>
#include <cmath>
#include <algorithm>
#include <utility>
#include <vector>
 
#define ll long long
 
using namespace std;
 
 
 
 
int main() {
  int arr[3]={0,0,0};
  int x, y;
  cin >> x >> y;
  arr[x]++;
  arr[y]++;
 
  if(x==y){cout << x;}
  else{
    if(arr[0]==0){cout << "0";}
    else if(arr[1]==0){cout << "1";}
    else if(arr[2]==0){cout << "2";}
  }
 
}