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

#define FAST ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define MAXX 300005
#define pb push_back
#define fixx(n) fixed << setprecision(n)
#define F first
#define S second
#define PI  3.14159265358979323846
#define ll   long long int
#define int ll
#define double long double
const int mod = 1e6 + 11;
const int N = 1e10;

int solve(double &x, double &y, double &r) {
    int ans = 0;
    r = nextafter(r, 1e9);
    int y2 = floor(y + r), y1 = ceil(y - r);
    for(; y1 <= y2; y1 ++) {
        double l = sqrt(r * r  -  (y - y1)*(y - y1));
        int x1 = ceil(x - l), x2 = floor(x  + l);
        ans +=  x2 - x1 + 1;
    }
    return ans;
}

signed main()
{
    FAST;

    double x, y, r;
    cin >> x >> y >> r;

    cout << solve(x, y , r);
    return 0;

}

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

typedef long long ll;
typedef pair<int,int> P;

#define p_ary(ary,a,b) do { cout << "["; for (int count = (a);count < (b);++count) cout << ary[count] << ((b)-1 == count ? "" : ", "); cout << "]\n"; } while(0)
#define p_map(map,it) do {cout << "{";for (auto (it) = map.begin();;++(it)) {if ((it) == map.end()) {cout << "}\n";break;}else cout << "" << (it)->first << "=>" << (it)->second << ", ";}}while(0)

template<typename T1,typename T2>ostream& operator<<(ostream& os,const pair<T1,T2>& a) {os << "(" << a.first << ", " << a.second << ")";return os;}

const char newl = '\n';

int main() {
    double xf,yf,rf;
    cin >> xf >> yf >> rf;
    ll x = round(xf*10000),y = round(yf*10000),r = round(rf*10000);
    ll ans = 0;
    for (ll i = (y-r)/10000;i <= (y+r)/10000;i += 1) {
        ll ok,ng;
        ok = x/10000;ng = -2e5-1;
        while (abs(ok-ng) > 1) {
            ll mid = (ok+ng)/2;
            ((i*10000-y)*(i*10000-y)+(mid*10000-x)*(mid*10000-x) > r*r ? ng : ok) = mid;
        }
        if ((i*10000-y)*(i*10000-y)+(ok*10000-x)*(ok*10000-x) <= r*r) ans += x/10000-ok+1;
        ok = x/10000+1;ng = 2e5+1;
        while (abs(ok-ng) > 1) {
            ll mid = (ok+ng)/2;
            ((i*10000-y)*(i*10000-y)+(mid*10000-x)*(mid*10000-x) > r*r ? ng : ok) = mid;
        }
        if ((i*10000-y)*(i*10000-y)+(ok*10000-x)*(ok*10000-x) <= r*r) ans += ok-(x/10000+1)+1;
    }
    cout << ans << newl;
}