#pragma GCC optimize("Ofast")
#include<bits/stdc++.h>
using namespace std;
#define setbits(x) __builtin_popcountll(x)
#define max(a,b) (a>b?a:b)
#define min(a,b) (a<b?a:b)
#define int long long int
#define ff first
#define ss second
#define float long double
void solve()
{
          int n=0,x=0,y=0;
          cin>>n>>x>>y;
          float dist=sqrt((float)x*(float)x+(float)y*(float)y);
          float temp=dist;
          int temp2=(int)temp;
          if((float)temp2 == dist)
          {
                  if((int)dist%n == 0)
                    {
                              cout<<dist/n<<"\n";
                              return;
                    }
          }
          for(int i=2;i<1e6;i++)
          {
                    if(dist < (float)(i*n))
                    {
                              cout<<i<<"\n";
                              return;
                    }
          }
}
signed main()
{
          ios_base::sync_with_stdio(false);
          cin.tie(0);
          cout.tie();
          int t;
          //cin>>t;
          t=1;
          while(t--)
          {
                    solve();
          }
          return 0;
}

#include<bits/stdc++.h>
using namespace std;

int main(){
  long long int a,b,c;
  cin >> a >> b >> c;
  long long int x=(a*(a+1))/2,y=(b*(b+1))/2,z=(c*(c+1))/2;
  x%=998244353;
  y%=998244353;
  z%=998244353;
  long long int d=x*y%998244353;
  cout << d*z%998244353 << endl;
}