{
ZADATAK: Meteor
JEZIK: PASCAL
}
program zad1;
var
x,y,r:real;
lx,dy,dx,gy:longint;

function check(x1,y1:real):boolean;
var
 p:boolean;
 d,d1,i:real;
begin
 p:=false;
 i:=0.01;
 while (i<1)and not p do
  begin
  d:=sqrt(sqr(abs((x1+i)-x))+sqr(abs((y1+i)-y)));
  d1:=sqrt(sqr(abs((x1+i)-x))+sqr(abs((y1+(1-i))-y)));
  p:=(d<=r)or(d1<=r);
  i:=i+0.01;
  end;
 check:=p;
end;

function povrsina(px,py,kx,ky:longint):longint;
var
 q:boolean;
 p:longint;
 i,j,pom,i1,j1:longint;
begin
 i:=kx-1;i1:=px;
 j:=ky-1;j1:=py;
 p:=0;
 while not check(i,j) do
  begin
   p:=p+4;
   pom:=i-1;
   while pom>=i1+1 do
    begin
     if not check(pom,j) then p:=p+1;
     if not check(pom,j1) then p:=p+1;
     pom:=pom-1;
    end;
   pom:=j-1;
   while pom>=j1+1 do
    begin
     if not check(i,pom) then p:=p+1;
     if not check(i1,pom) then p:=p+1;
     pom:=pom-1;
    end;
   i:=i-1;
   j:=j-1;
   i1:=i1+1;
   j1:=j1+1;
  end;
 povrsina:=(abs(kx-px)*abs(ky-py))-p;
end;

begin
read(x,y,r);
if (x-r)=trunc(x-r) then lx:=trunc(x-r)
                else if (x-r)>0 then lx:=trunc(x-r)
                                else lx:=trunc((x-r)-1);
if (x+r)=trunc(x+r) then dx:=trunc(x+r)
                else if (x+r)<0 then dx:=trunc(x+r)
                                else dx:=trunc((x+r)+1);
if (y-r)=trunc(y-r) then dy:=trunc(y-r)
                else if (y-r)>0 then dy:=trunc(y-r)
                                else dy:=trunc((y-r)-1);
if (y+r)=trunc(y+r) then gy:=trunc(y+r)
                else if (y+r)<0 then gy:=trunc(y+r)
                                else gy:=trunc((y+r)+1);
writeln(povrsina(lx,dy,dx,gy));
end.