#include using namespace std; #include using namespace atcoder; using ll = int64_t; using ul = uint64_t; using ld = long double; using vi = vector; using vd = vector; using vc = vector; using vs = vector; using vb = vector; using vl = vector; using vvi = vector; using vvd = vector; using vvc = vector; using vvb = vector; using vvl = vector; using mint = modint998244353; using vm = vector; ll GCD(ll A, ll B) { if (A%B == 0) return B; else return GCD(B, A%B); } int main() { ll N,M; cin >> N >> M; ll ans = 0,mod = 998244353; for (ll a = 1; a <= N; a++) { for (ll b = 1; b <= M; b++) { ans += a*b/GCD(a, b)%mod; ans %= mod; } } cout << ans << endl; return 0; }