N, M = map(int, input().split()) MOD = 998244353 if 60 <= N or M <= (1 << (N-1)): a, b = 1, 1 k = (pow(2, N, MOD) - 2) % MOD l = (pow(2, N-1, MOD) - 1) % MOD m = 1 for i in range(1, M): a *= k a %= MOD k -= 1 k %= MOD b *= l b %= MOD l -= 1 l %= MOD m *= i m %= MOD a *= pow(M, -1, MOD) b %= MOD ans = (a - b) % MOD ans *= pow(2, N, MOD) - 1 ans %= MOD ans *= pow(m, -1, MOD) ans %= MOD print(ans) else: ans = 1 a, b = pow(2, N, MOD)-1, 1 for i in range(1, M+1): ans *= a ans %= MOD a -= 1 a %= MOD b *= i b %= MOD print((ans * pow(b, -1, MOD)) % MOD)