#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <cmath>
#include <queue>
#include <map>
#include <iomanip>
using namespace std;
using ll = long long int;

vector<string> myspliter(const string &s, const char delimiter){
    vector<string> res;
    string part = "";
    for(auto &p: s){
        if(p == delimiter){
            if(part.length() > 0) res.push_back(part);
            part = "";
        }else{
            part += p;
        }
    }
    if(part.length() > 0) res.push_back(part);
    return res;
}

ll transToInt(vector<string> str){
    ll ans = 0;
    ans += stoi(str[0])*10000;
    if(str.size() == 2){
        while(str[1].length() < 4) str[1] += '0';
        ans += stoi(str[1]);
    }
    return ans;
}

ll solve(ll x, ll y, ll r){
    ll ans = 0;
    for(ll i = -2'000'000'000; i <= 2'000'000'000; i += 10000){
        if(r*r-(i-y)*(i-y) < 0) continue;

        ll inner = x;
        ll outer = 4'000'000'000;
        ll border = r*r-(i-y)*(i-y);
        while(outer-inner > 1){
            ll mid = (outer+inner)/2;
            if((mid-x)*(mid-x) <= border) inner = mid;
            else outer = mid;
        }
        ll left = x*2-inner;
        ll right = inner;
        if(left <= 0){
            left = left/10000 - 1;
        }else{
            left = (left-1)/10000;
        }
        if(right < 0){
            right = (right+1)/10000;
        }else{
            right = right/10000 + 1;
        }
        ans += max(right - left - 1, 0LL);
        // if(right > 1 && left < -1) ans++;
        // if(i == 00000) cerr << left << " " << right << " " << inner << endl;
    }
    return ans;
}

int main(){
    string x0, y0, r0;
    cin >> x0 >> y0 >> r0;
    ll x = transToInt(myspliter(x0, '.'));
    ll y = transToInt(myspliter(y0, '.'));
    ll r = transToInt(myspliter(r0, '.'));

    cout << solve(x, y, r) << endl;
    return 0;
}
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
	long double x,y,r;
	cin>>x>>y>>r;
	r+=1e-14;
	long long ans=0;
	
	long long ll=ceil(x-r);
	long long rr=floor(x+r);
	//cout<<ll<<" "<<rr<<endl;
	for(int i=ll;i<=rr;i++){
		if(r*r-(1.0*i-x)*(1.0*i-x)<0)
			continue;
		long double yy=sqrt(r*r-(1.0*i-x)*(1.0*i-x));
		long long tmp=floor(y+yy)-ceil(y-yy)+1;
		
		ans+=tmp;
	}
	cout<<ans<<endl;
	return 0;
}