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

int main()
{
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	
	long double x0,y0,r;
	cin>>x0>>y0>>r;
	
	//问题转换为，圆内的点，满足(x-X0)^2+(y-Y0)^2 <= R^2的解中，
	//			  整数解的个数
	//可以固定x，求解y的有效数值
	//x的范围：当y=y0时，[x0-r,x0+r];
	int xmin = ceil( x0-r );
	int xmax = floor( x0+r );
	r += 1e-14; 
	//(y-y0)^2 <= R^2-(x-x0)^2
	ll ans = 0;
	for( long double x=xmin; x<=xmax; x+=1 ) 
	{
		long double tmp = sqrt(r*r-(x-x0)*(x-x0));
		long double ymin = ceil(y0-tmp);
		long double ymax = floor(y0+tmp);
		
		ans += ymax>=ymin ? (ymax-ymin)+1: 0;		
	}
	cout << ans << endl;
	return 0;
}


#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef unsigned long long ull;
 
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
ll myRand(ll B) {
    return (ull)rng() % B;
}

int to_int(string s){
    bool f=false;
    if(s[0]=='-'){
        f=true;
        s=s.substr(1);
    }
    int cnt=4;
    int n=s.size();
    for(int i=0;i<n;i++){
        if(s[i]=='.'){
            s=s.substr(0,i)+s.substr(i+1);
            cnt-=(n-1-i);
            break;
        }
    }
    int res=stoi(s);
    for(int i=0;i<cnt;i++){
        res*=10;
    }
    if(f)res*=-1;
    return res;
}

int main(){
    cin.tie(nullptr);
    ios::sync_with_stdio(false);
    string s;
    ll x,y,r;
    cin >> s; x=to_int(s);
    cin >> s; y=to_int(s);
    cin >> s; r=to_int(s);
    ll res=0;
    constexpr int N=10000;
    auto uo=[](ll x)->ll{
        if(x<=0){
            x-=(N-1);
            x+=abs(x)%N;
            return x;
        }
        x-=abs(x)%N;
        return x;
    };
    auto uoo=[](ll x)->ll{
        if(x<=0){
            x+=abs(x)%N;
            return x;
        }
        x+=(N-1);
        x-=abs(x)%N;
        return x;
    };
    for(ll i=-r;i<=r;){
        if(abs(y+i)%N!=0){
            i++; continue;
        }
        ll L=0,R=2e9;
        while(R-L>1){
            ll mid=(L+R)/2;
            if(mid*mid+i*i<=r*r){
                L=mid;
            }
            else{
                R=mid;
            }
        }
        // cout << i << endl;
        ll X=uo(x+L),XX=uoo(x-L);
        if(X>=XX)res+=(X-XX)/N+1;
        i+=N;
    }
    cout << res << endl;
}