#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 2e6 + 10, mod = 998244353;
int dep[N];
int qmi(int b)
{
int res = 1, a = 2;
while(b)
{
if(b & 1) res = res * a % mod;
a = a * a % mod;
b >>= 1;
}
return res % mod;
}
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n, d;
cin >> n >> d;
int res = 0;
for(int i = 0; i <= d; i ++)
{
if(d - i > i) { continue;}
if(i == d - i) dep[i] = (dep[i - 1] + qmi(i) * qmi(d - i) % mod / 2 % mod) % mod;
else if(i == 0 || d - i == 0) dep[i] = (dep[i - 1] + qmi(i) * qmi(d - i) % mod * 2 % mod) % mod;
else dep[i] = (dep[i - 1] + qmi(i) * qmi(d - i) % mod) % mod;
}
for(int i = 0; i < n; i ++) res = (res + dep[min(d, n - i - 1)] * qmi(i) % mod) % mod;
cout << res % mod << "\n";
return 0;
}