# @author godmar n, k = map(int, input().split()) from fractions import Fraction as F MOD=998244353 # # I solved this problem by simply spotting the pattern # # n = 3 4/3 # n = 4 16/9 # n = 5 20/9 256/125 # n = 6 8/3 1536/625 # n = 7 28/9 1792/625 46656/16807 # n = 8 32/9 2048/625 373248/117649 # n = 9 4 2304/625 419904/117649 16777216/4782969 # n = 10 40/9 512/125 466560/117649 # def E_O1_f(n, k): return F((2*k)**(2*k) * n, (2*k+1)**(2*k)) def E_O1(n, k): p = E_O1_f(n, k) return p.numerator * pow(p.denominator, -1, MOD) % MOD print (E_O1(n, k)) def E(n, k): d = [-k] * n # 2k+1 - adic counter cnt = (2*k+1)**n exp = 0 while True: room = [0] * n for i, _d in enumerate(d): room[(i + _d) % n] += 1 exp += sum(1 if _room == 1 else 0 for _room in room) # awkward counter incremented by 1 i = n - 1 while i >= 0: if d[i] < k: d[i] += 1 break d[i] = -k i -= 1 if i == -1: break return F(exp, cnt) if False: import sys for n in range(3, 11): print (f'n = {n:2} ', end='') for k in range(1, (n-1)//2+1): print (E(n, k), "vs", E_O1_f(n, k), end= " ... ") sys.stdout.flush() print ()