#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mod 998244353
#define maxn 1000007

int main()
{
    ios::sync_with_stdio(0);
    ll a,b,c;
    cin>>a>>b>>c;
    cout<<a*(a+1)/2%mod*(b*(b+1)/2%mod)%mod*(c*(c+1)/2%mod)%mod<<endl;
    return 0;
}

#include <bits/stdc++.h>
//#include <ext/pb_ds/assoc_container.hpp>
//#include <ext/pb_ds/tree_policy.hpp>

//#pragma GCC optimize("unroll-loops")
//#pragma GCC optimize("-O3")
//#pragma GCC optimize("Ofast")

#define N 200005
#define NN 1005000
#define PB push_back
#define M ll(1e9 + 7)
#define all(x) x.begin(), x.end()
#define sz(x) int(x.size())
#define pri(x) cout << x << endl
#define endl '\n'
#define _ << " " <<
#define F first
#define S second

using namespace std;
//using namespace __gnu_pbds;

//typedef tree <int, null_type, less <int>, rb_tree_tag, tree_order_statistics_node_update> oredered_set;

typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
typedef short int si;

int main()
{
    ios_base::sync_with_stdio(0); istream::sync_with_stdio(0); cin.tie(0); cout.tie(0);

//    freopen("1.in", "r", stdin);

    int a, b, c;

    cin >> a >> b >> c;

    if (a * a + b * b < c * c)
    {
        pri("Yes");

    }else pri("No");
}
