#include<bits/stdc++.h>
using ll = long long;
using ld = long double;
using namespace std;
const ld EPS = 1e-9;
signed main() {
	cout << fixed << setprecision(15);
	ld x, y, r; cin >> x >> y >> r;
	if (x >= 0) { x += EPS; } else { x -= EPS; }
	if (y >= 0) { y += EPS; } else { y -= EPS; } r+=EPS;
	ll bai = 10000, ans = 0;
  	ll xbai = x * bai, ybai = y * bai, rbai = r * 10000;//rbai++;
  //cout<<xbai<<' '<<ybai<<' '<<rbai<<endl;
	for (int i = 0 - 200000; i <= 200000; i++) {
		if (abs(i - x) > r) { continue; }
		ll cnt = 0, ibai = i * bai;
		//下をにぶたん
		ll ok = -200001, ng = (ll)y + 1, mid = (ok + ng) / 2;
		while (ng - ok > 1) {
			//cout << i << ' ' << mid << ' ' << (ll)pow(abs(ibai - xbai), 2) << ' ' << (ll)pow(abs(mid * bai - ybai), 2) << ' ' << (ll)pow(rbai, 2) << endl;
			if ((ll)pow(abs(ibai - xbai), 2) + (ll)pow(abs(mid * bai - ybai), 2) <= (ll)pow(rbai, 2)) {
				ng = mid;
			}
			else { ok = mid; }
			mid = (ok + ng) / 2;
		}
		cnt = ng;//cout<<i<<' '<<ng<<endl;
		//上をにぶたん
		ok = (ll)y; ng = 200001; mid = (ok + ng) / 2;
		while (ng - ok > 1) {
			//cout << i << ' ' << mid << ' ' << (ll)pow(abs(ibai - xbai), 2) << ' ' << (ll)pow(abs(mid * bai - ybai), 2) << ' ' << (ll)pow(rbai, 2) << endl;
			if ((ll)pow(abs(ibai - xbai), 2) + (ll)pow(abs(mid * bai - ybai), 2) <= (ll)pow(rbai, 2)) {
				ok = mid;
			}
			else { ng = mid; }
			mid = (ok + ng) / 2;
		}
		ans += ok - cnt + 1;
	}
	cout << ans << endl;
	return 0;
}
#include <vector>
#include <array>
#include <stack>
#include <queue>
#include <list>
#include <bitset>
#include <set>
#include <map>
#include <unordered_set>
#include <unordered_map>
#include <algorithm>
#include <numeric>
#include <iostream>
#include <iomanip>
#include <string>
#include <chrono>
#include <random>
#include <cmath>
#include <cassert>
#include <climits>
#include <cstring>
#include <cstdlib>
#include <functional>
#include <sstream>

using namespace std;


int main(int argc, char** argv) {
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout << fixed << setprecision(12);


    auto read = [&]() {
        string s;
        cin >> s;

        int n = s.length();
        long long res = 0;
        int cnt = -12;
        for (auto c : s) {
            if (c == '.') {
                cnt = 0;
            } else {
                ++cnt;
                res = res * 10 + (c - '0');
            }
        }
        if (cnt < 0) {
            res *= 10000;
        } else {
            while (cnt < 4) {
                res *= 10;
                ++cnt;
            }
        }
        return res;
    };
    auto x = read();
    auto y = read();
    auto r = read();
    auto ceil = [&](long long p, long long q) {
        if (q < 0) {
            p = -p;
            q = -q;
        }
        if (p >= 0) {
            return (p + q - 1) / q * q;
        } else {
            return p / q * q;
        }
    };
    auto floor = [&](long long p, long long q) {
        if (q < 0) {
            p = -p;
            q = -q;
        }
        if (p >= 0) {
            return p / q * q;
        } else {
            return (p - (q - 1)) / q * q;
        }
    };

    auto calc = [&](long long x, long long y, long long r, long long h) {
        __int128 dy = y - h;
        dy = dy * dy;
        long long lo = 0, hi = r;
        __int128 d = r;
        d *= r;
        while (lo < hi) {
            auto mi = (lo + hi + 1) / 2;
            __int128 dx = mi;
            dx *= mi;
            if (dx + dy <= d) {
                lo = mi;
            } else {
                hi = mi - 1;
            }
        }
        __int128 dx = lo;
        dx *= lo;
        if (dx + dy <= d) {
            long long l = x - lo;
            long long r = x + lo;
            l = ceil(l, 10000) / 10000;
            r = floor(r, 10000) / 10000;
            if (l <= r) {
                return r - l + 1;
            }
        }
        return 0LL;
    };

    long long t = y + r;
    long long b = y - r;
    t = floor(t, 10000);
    b = ceil(b, 10000);
    // cout << t << " " << b << endl;
    long long res = 0;
    for (long long h = b; h <= t; h += 10000) {
        res += calc(x, y, r, h);
    }

    cout << res << '\n';

    return 0;
}