#include<bits/stdc++.h>
#define ll long long int
#define mk make_pair
#define pb push_back
#define INF (ll)1e18
#define pii pair<ll,ll>
#define mod 1000000007 //998244353
#define f(i,a,b) for(ll i=a;i<b;i++)
#define fb(i,a,b) for(ll i=a;i>b;i--)
#define ff first
#define ss second
#define srt(v)  if(!v.empty())sort(v.begin(),v.end())
#define rev(v)  if(!v.empty())reverse(v.begin(),v.end())
#define PI 3.141592653589793238
#define pqr priority_queue<ll,vector<ll>,greater<ll>()>
using namespace std;
ll pow_mod(ll a,ll b)
{
	ll res=1;
	while(b!=0)
	{
		if(b&1)
		{
			res=(res*a)%mod;
		}
		a=(a*a)%mod;
		b/=2;
	}
	return res;
}
void solve()
{
   long double x,y,r;
   cin>>x>>y>>r;
   r=nextafter(r,INFINITY);
   
   
   ll ans=0;
  
  
  // cout<<rr<<endl;
  
 // cout<<ceil(-5.5)<<endl;
  
  ll low=(ll)ceil(x-r);
  ll high=(ll)floor(x+r);
  
  //  cout<<low<<" "<<high<<endl;

   for(ll i=low;i<=high;i++){
       long double x_cor=i;
       long double y_cor=sqrt(r*r-(x-x_cor)*(x-x_cor));
       
        long double up=y_cor+y+1e-14;
        long double down=y-y_cor-1e-14;
        
       //  cout<<up<<" "<<down<<endl;
       
        ll u=(floor)(up);
        ll d=(ceil)(down);
        
      
       
        ans+=(u-d+1);
       //ans+=(2*lim_y+1);
   }
 
   cout<<ans<<endl;
}
int main()
{    ios_base::sync_with_stdio(false);
     cin.tie(NULL);
     cout.tie(NULL);
     
//Start from Here.

  ll t;
  t=1;
 // cin>>t;
  while(t--)
  solve();
  
//Good Bye!
    return 0;
}
#include <bits/stdc++.h>
#define REP(i,n) for(ll i=0;i<(ll)(n);i++)
#define REPD(i,n) for(ll i=n-1;i>=0;i--)
#define FOR(i,a,b) for(ll i=a;i<=(ll)(b);i++)
#define FORD(i,a,b) for(ll i=a;i>=(ll)(b);i--)
#define ALL(x) (x).begin(),(x).end()
#define RALL(x) (x).rbegin(),(x).rend()
#define SIZE(x) ((ll)(x).size())
#define MAX(x) *max_element(ALL(x))
#define MIN(x) *min_element(ALL(x))
using namespace std;
template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return true; } return false; }
template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return true; } return false; }
typedef long long ll;
const int INF = 1000000000;

bool ok(ll x, ll y, ll r){
    return x*x + y*y <= r*r;
}

ll solver(ll x, ll y, ll r, ll lim){
    int L = 0, R = 1;
    ll res = 0;
    for(int i = int(1e9)+50000; i >= lim; i-=10000){
        while(ok(x-L*10000,i-y,r)) --L;
        while(ok(R*10000-x,i-y,r)) ++R;
        res += R - L - 1;
    }
    return res;
}

ll in(){
    double x;
    cin >> x;
    x *= 10000;
    return round(x);
}

int main() {
    ll x = in();
    ll y = in();
    ll r = in();

    x %= 10000;
    y %= 10000;
   
    ll ans = solver(x, y, r, 10000);
    ans += solver(x, -y, r, 0);

    cout << ans << endl;
    
    return 0;
}