//GIVE ME AC!!!!!!!!!!!!!!!!! #pragma GCC target("avx") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include #define ll long long using namespace std; const ll mod=998244353; int64_t read_int() { int64_t ret = 0, sgn = 1; int ch = getchar_unlocked(); while (isspace(ch)) { ch = getchar_unlocked(); } if (ch == '-') { sgn = -1; ch = getchar_unlocked(); } for (; isdigit(ch); ch = getchar_unlocked()) ret = (ret * 10) + (ch - '0'); ungetc(ch, stdin); return sgn * ret; } int main(){ ll n=read_int(),m=read_int(); ll ans=0; for(ll i=1;i<=m;i++){ ans+=n/i*i+(n/i)*(n/i+1)/2*i; ans%=mod; } cout<