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

#define ll long long
#define print(a)        for (auto x : a) cout << x << " "; cout << endl
#define print_upto(a,n)        for(ll i=1;i<=n;i++)    cout<<a[i]<<" "; cout<<endl
#define take(a,n)           for(ll i=1;i<=n;i++)  cin>>a[i];

#define watch(x) cout << (#x) << " is " << (x) << "\n"
#define watch2(x,y) cout <<(#x)<<" is "<<(x)<<" and "<<(#y)<<" is "<<(y)<<"\n"
#define watch3(x,y,z) cout <<(#x)<<" is "<<(x)<<" and "<<(#y)<<" is "<<(y)<<" and "<<(#z)<<" is "<<(z)<<"\n"

#define ff first
#define ss second
#define null NULL
#define all(c) (c).begin(),(c).end()
#define nl "\n"

#define ld long double
#define eb emplace_back
#define pb push_back
#define pf push_front
#define MOD 1000000007
#define inf INT_MAX
// cout << fixed << setprecision(9) << ans << nl;

typedef vector<ll> vl;
typedef vector< vl > vvl;
typedef pair< ll, ll> pll;
typedef map< ll, ll> mll;

const ll N = 200009;

void solve() {
	ld x, y, r;
	cin>>x>>y>>r;

	double ep = 1e-14;
	r = r + ep;

	ld lx = x-r;
	ld rx = x+r;

	ld llx = ceil(lx);
	ld rrx  = floor(rx);

	ll ans=0;
	for(ld i=llx;i<=rrx;i++){
		ld res = (r*r) - (i-x)*(i-x);
		if(res<0)
			continue;
		res = sqrt(res);

		ld ly = res + y;
		ld ry = -res + y;

		ld lly = ceil(ry);
		ld rry = floor(ly);

		ans += (ll)(rry-lly+1);
	}

	cout<<ans<<nl;
}



int main() {

	ios_base::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);

	ll t = 1;
	// cin >> t;

	while (t--) {
		solve();
	}

	return 0;
}

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

typedef long double ld;
typedef long long ll;

const ld eps = 1e-10l;

ld X, Y, R;
ll res;

int main()
{
	cin >> X >> Y >> R;
	for (int i = X - R - 5; i <= X + R + 5; i++) {
		int intY = Y;
		int lef = Y - R - 5, rig = intY;
		while (lef <= rig) {
			int m = (lef + rig) / 2;
			if (ld(i - X) * ld(i - X) + ld(Y - m) * (Y - m) <= R * R + eps)
				rig = m - 1;
			else lef = m + 1;
		}
		if (lef <= intY) res += intY - lef + 1;
		lef = intY + 1, rig = Y + R + 5;
		while (lef <= rig) {
			int m = (lef + rig) / 2;
			if (ld(i - X) * ld(i - X) + ld(Y - m) * (Y - m) <= R * R + eps)
				lef = m + 1;
			else rig = m - 1;
		} 
		if (rig > intY) res += rig - intY;
	}
	cout << res << endl;
    return 0;
}
