#include<bits/stdc++.h>
#pragma GCC optimize("O3")
#pragma GCC target ("avx2")
#pragma GCC optimize("unroll-loops")
#pragma comment(linker, "/stack:200000000")
#define ll long long int
#define endl '\n'
#define M 998244353
#define f first
#define s second
#define pb push_back
#define mp make_pair
#define FOR(i,a,b) for(i=a;i<b;i++)
#define RFOR(i,a,b) for(i=a;i>=b;i--)
#define all(x) x.begin(),x.end()
#define flash ios_base::sync_with_stdio(false); cin.tie(NULL)
using namespace std;

int main()
{
    flash;
    //sieve();
    ll T=1,t=1,n,m,q,k,i,j;
    // cin>>T;
    while(T--)
    {
        cin>>n>>m>>k;
        ll sn = (n *(n+1))/2;
        sn = sn%M;
        ll sm = (m *(m+1))/2;
        sm = sm%M;
        ll sk = (k *(k+1))/2;
        sk = sk%M;
        ll ans = ((sn%M * sm%M)%M * sk%M)%M;
        cout<<ans<<endl;
    }
}
 
#include<bits/stdc++.h>
#define ll long long
#define mod 1000000007
using namespace std;



int main()
{
  long long a,b,c,h=998244353;
  cin>>a>>b>>c; 
  long long d=((a*(a+1))/2)%h; 
  long long e=((b*(b+1))/2)%h; 
  long long f=((c*(c+1))/2)%h; 
  long long ans=(((d*e)%h)*f)%h;
  cout<<ans;
}
