N, M = map(int, input().split())

MOD = 998244353
ans = M*N%MOD
for i in range(1, min(N+1, 10**6+1)):
    ans -= M
    ans %= MOD
    ans += M%i
    ans %= MOD
if N <= 10**6:
    exit(print(ans))

def SUM(left, right, cnt):
    return (left+right)*cnt//2%MOD

right = M
left = M//2+1
cnt = 1
while True:
    R = min(right, N)
    L = max(left, 10**6+1)
    if R-L+1 > 0:
        ans -= (R-L+1)*M
        ans %= MOD
        ans += SUM(M%R, M%L, R-L+1)
        ans %= MOD
    if left <= 10**6:
        break
    cnt += 1
    right = M//cnt
    left = M//(cnt+1)+1

print(ans)