    #include <bits/stdc++.h>
    using namespace std;
    #include <math.h>
    #include <iomanip>
    #include <cstdint>
    #include <string>
    #include <sstream>
    template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; }
    template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; }
    #define rep(i,n) for (int i = 0; i < (n); ++i)
    typedef long long ll;
    using P=pair<ll,ll>;
    const ll INF=1e18;
    const int mod=1e9+7;
    
    bool check(ll X,ll Y,ll R){return X*X+Y*Y<=R*R;}
    ll f(ll x,ll y,ll R,ll st){
      int l=0,r=1;
      ll cnt=0;
      for(int i=int(1e9)+50000;i>=st;i-=10000){
        while(check(x-l*10000,i-y,R)){l--;}
        while(check(r*10000-x,i-y,R)){r++;}
        cnt+=r-l-1;
      }
      return cnt;
    }

    int main() {
      long double a,b,c;cin>>a>>b>>c;
      ll x=round(a*10000),y=round(b*10000),r=round(c*10000);
      x%=10000,y%=10000;
      ll ans=f(x,y,r,10000)+f(x,-y,r,0);
      cout<<ans<<endl;
      return 0;
    }
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
  long long ans=0;
  long double x,y,r;
  	cin >> x >> y >> r;
  r+=1e-14;
  long long a = (long long)ceil(x-r);
    
  for(int i=a;i<=x+r;i++){
      		ans += floor(y+sqrt(r*r-(x-i)*(x-i)))-ceil(y-sqrt(r*r-(x-i)*(x-i)))+1;
  }
  
  cout << ans << endl;

  return 0;
}