toI(s=readline()) = parse(Int,s)
toVI(s=readline()) = toI.(split(s))

function main()
	n,p = toVI()
	solve(n,p) |> println
end

function solve(n,p)
	cnt = 0
	e = 1
	while p^e ≤ n
		cnt += n ÷ p^e
		e += 1
	end
	powermod(p,cnt,998244353)
end

main()