n, m = map(int, input().split()) MOD = 998244353 if m <= 33: ans = 0 for i in range(m): ans ^= n << i print(ans % MOD) exit() d = [n >> i & 1 for i in range(30)] d2 = [0] * (30 * 2 - 1) for i in range(30): for j in range(30): d2[i+j] ^= d[j] ans = 0 for i in range(30): ans |= d2[i] << i tmp = 0 for i in range(30, 30 * 2 - 1): tmp |= d2[i] << (i - 30) ans += tmp * pow(2, m, MOD) x = d2[29] ans += x * (pow(2, m, MOD) - pow(2, 30)) print(ans % MOD)