#include<bits/stdc++.h>

#define ll long long
#define fornum(A,B,C) for(A=B;A<C;A++)
#define mp make_pair
#define pii pair<int,int>
#define pll pair<ll,ll>

using namespace std;

/////////////////////////////////////////////////////
#define MOD 998244353
ll N,M;
ll Fa[5050505],Finv[5050505];
ll i,j,k,ans;
ll moddiv(ll a,ll b){
    a %= MOD;
    b %= MOD;
    for(ll m=MOD-2;m>0;m/=2){
        if(m&1){
            a=a*b%MOD;
        }
        b=b*b%MOD;
    }
    return a;
}
ll C(ll a,ll b){
    return Fa[a] * Finv[a - b]%MOD * Finv[b]%MOD;
}
int main(){
    scanf("%lld%lld", &N,&M);
    Fa[0] = 1;
    fornum(i,0,N+M*3){
        Fa[i + 1] = (Fa[i] * (i + 1)) % MOD;
    }
    Finv[i] = moddiv(1, Fa[i]);
    for (i = i; i > 0;i--){
        Finv[i - 1] = Finv[i] * i % MOD;
    }

    for (i = M % 2; i <= N && i <= M; i += 2)
    {
        ll b = 3 * M - i;
        ans = (ans + C(N,i) * C(b / 2 + N - 1, N - 1)) % MOD;
        ll c = M - i;
        if (i == N)
        {
            ans = (ans - C(c / 2 + N - 1, N - 1) * N % MOD + MOD) % MOD;
        }
        else
        {
            ans = (ans - (C(N, i) * C(c / 2 + N - 1, N - 1) % MOD * N % MOD) + (C(N - 1, i) * C(c / 2 + N - 2, N - 2) % MOD * N % MOD) + MOD) % MOD;
        }
        //printf("%lld\n", ans);
    }
    printf("%lld",ans);

    return 0;
}