#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e3 + 10;
const int mod = 998244353;
void add(int &x, int y) {
  x += y;
  if (x > mod) x -= mod;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int n = 0;
  int k = 0;
  cin >> n >> k;
  vector<vector<vector<int>>> last(k + 5,
                                   vector<vector<int>>(2, vector<int>(2)));
  vector<vector<vector<int>>> cur(k + 5,
                                  vector<vector<int>>(2, vector<int>(2)));
  last[1][0][0] = 1;
  last[1][1][1] = 1;
  last[2][0][1] = 1;
  last[2][1][0] = 1;
  n--;
  while (n--) {
    for (int i = 0; i <= k; i++) {
      for (int j = 0; j < 2; j++) {
        for (int l = 0; l < 2; l++) {
          cur[i][j][l] = 0;
        }
      }
    }
    for (int cmp = 0; cmp <= k; cmp++) {
      for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 2; j++) {
          for (int l = 0; l < 2; l++) {
            for (int h = 0; h < 2; h++) {
              int nxt = cmp;
              if (i == j) {
                if (l != i) nxt++;
                if (h != j) nxt++;
                if (l == h && l != i) nxt--;
              } else {
                if (l != i) nxt++;
                if (h != j) nxt++;
                if (l == h) nxt--;
              }
              add(cur[nxt][l][h], last[cmp][i][j]);
            }
          }
        }
      }
    }
    last = cur;
  }
  int res = 0;
  for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 2; j++) {
      add(res, last[k][i][j]);
    }
  }
  cout << res;
  return 0;
}
