#include<bits/stdc++.h>
#define int long long
#define rep(i,a,b) for(register int i=(a);i<=(b);i++)
#define per(i,a,b) for(register int i=(a);i>=(b);i--)
using namespace std;
const double eps=1e-14;

inline int read() {
    register int x=0, f=1; register char c=getchar();
    while(c<'0'||c>'9') {if(c=='-') f=-1; c=getchar();}
    while(c>='0'&&c<='9') {x=(x<<3)+(x<<1)+c-48,c=getchar();}
    return x*f;
}

long double x,y,r;
int ans;

signed main() {
	cin>>x>>y>>r;
	r+=eps;
	rep(i,ceil(y-r),floor(y+r)) {
		long double dc=i-y;
		if(r*r-dc*dc<0) continue;
		long double dl=sqrt(r*r-dc*dc);
		long double l=x-dl, r=x+dl;
		int il=ceil(l-eps), ir=floor(r+eps);
		ans=ans+ir-il+1;
		//cout<<i<<" "<<l<<" "<<r<<" "<<il<<" "<<ir<<endl;
	}
	printf("%lld\n",ans);
	return 0;
}
//#include "bits/stdc++.h"

#define _USE_MATH_DEFINES
#include<cstdio>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <deque>
#include <algorithm>
#include <functional>
#include <iostream>
#include <list>
#include <map>
#include <array>
#include <unordered_map>
#include<unordered_set>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <utility>
#include <vector>
#include <iterator>
#include<iomanip>
#include<complex>
#include<fstream>
#include<assert.h>

#include<stdio.h>

using namespace std;

#define rep(i,a,b) for(int i=(a), i##_len=(b);i<i##_len;i++)
#define rrep(i,a,b) for(int i=(b)-1;i>=(a);i--)
#define all(c) begin(c),end(c)

#define int ll
#define SZ(x) ((int)(x).size())
#define pb push_back
#define mp make_pair

//typedef unsigned long long ull;
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef pair<ll, int> pli;
typedef pair<int, double> pid;
typedef pair<double, int> pdi;
typedef pair<double, double> pdd;
typedef vector< vector<int> > mat;

template<class T> bool chmax(T &a, const T &b) { if (a < b) { a = b; return true; } return false; }
template<class T> bool chmin(T &a, const T &b) { if (b < a) { a = b; return true; } return false; }

const int INF = sizeof(int) == sizeof(long long) ? 0x3f3f3f3f3f3f3f3fLL : 0x3f3f3f3f;
const int MOD = (int)1e9 + 7;

const double EPS = 1e-9;

int dec()
{
	string S;
	cin >> S;

	string res;

	int si = 0;
	while (si < SZ(S) && S[si] != '.')res += S[si++];
	if (si < SZ(S) && S[si] == '.')si++;
	rep(i, 0, 4)
	{
		if (si < SZ(S))res += S[si];
		else res += '0';
		si++;
	}

	return stoi(res);
}

signed main()
{
	cin.tie(0);
	ios::sync_with_stdio(false);

	int X, Y, R;
	X = dec();
	Y = dec();
	R = dec();

	int lx = X - R, rx = X + R;
	while (lx % 10000 != 0)lx++;
	while (rx % 10000 != 0)rx--;

	int ans = 0;
	for (int x = lx; x <= rx; x += 10000)
	{
		int dx = abs(x - X);
		int l = Y, r = Y + R + 1;
		while (r - l > 1)
		{
			int mid = (l + r) / 2;
			int dy = abs(mid - Y);
			if (dx*dx + dy * dy <= R * R)
			{
				l = mid;
			}
			else
			{
				r = mid;
			}
		}
		l -= Y;
		int dy = Y - l;
		int uy = Y + l;
		if (uy > 0)uy /= 10000;
		else
		{
			uy = (uy - 9999) / 10000;
		}
		if (dy > 0)dy = (dy + 9999) / 10000;
		else dy /= 10000;
		ans += uy - dy + 1;
	}

	cout << ans << endl;

	return 0;
}