#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")

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

ll read(){
	ll a=0,b=1;char c=getchar();
	while(c>'9'||c<'0'){if(c=='-')b=-1;c=getchar();}
	while(c>='0'&&c<='9')a=a*10+c-48,c=getchar();
	return a*b;
}

const long double eps=1e-14;

int main(){
	long double x,y,rr;
	cin>>x>>y>>rr;rr+=eps;
	ll anss=0;
	for(int i=x-rr-1;i<=x+rr+1;i++){
		long double p=rr*rr-(x-i)*(x-i);
		if(p<0.0)continue;
		long double dy=sqrt(p+eps);
		anss+=(floor(y+dy)-ceil(y-dy)+1);
	}
	cout<<anss<<'\n';
	return 0;
}
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
using vl = vector<ll>;
using vvl = vector<vl>;
using pl = pair<ll, ll>;
#define rep(i,n) for(int i=0;i<(n);i++)
#define rrep(i,n) for(int i=(n)-1;i>=0;i--)
#define rep1(i,n) for(int i=1;i<=(n);i++)
#define rrep1(i,n) for(int i=(n);i>0;i--)
#define REP(i,a,b) for(int i=a;i<b;i++)
#define fore(i_in,a) for (auto& i_in: a)
#define forp(x,y,a) for(auto& [x, y]: a)
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define pq(T) priority_queue<T, vector<T>, greater<T>>
#define fio() cin.tie(nullptr);ios::sync_with_stdio(false);
#define ofst_FLR(a, b) (a-1)/b;
#define DEBUG(x) cerr<<#x<<": "<<x<<endl;
#define DEBUG_VEC(v) cerr<<#v<<":";for(int i=0;i<(int)v.size();i++) cerr<<" "<<v[i]; cerr<<endl
#define UNIQUE(v) v.erase(unique(all(v)), v.end());
template<class T> bool chmax(T &a, const T &b) {if (a<b) { a = b; return true; } return 0;}
template<class T> bool chmin(T &a, const T &b) {if (a>b) { a = b; return true; } return 0;}
template<class T> void print(const T &t) { cout << t << "\n"; }

int main() {
    fio(); long double x,y,r; cin>>x>>y>>r;
    r+=1e-14;
    ll ans = 0;
    ll start = ceil(x-r), end = floor(x+r);
    for(ll i=start; i<=end; i++) {
        long double p = sqrt(pow(r,2)-pow(x-i,2));
        ll bottom = ceil(y-p), top = floor(y+p);
        ans += top - bottom + 1;
    }
    print(ans);
}
