import java.util.Random;
import java.util.Scanner;

public class Coasters {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int bx, by, br, c1x, c1y, c2x, c2y;
        bx=sc.nextInt();
        by=sc.nextInt();
        br=sc.nextInt();
        c1x=sc.nextInt();
        c1y=sc.nextInt();
        c2x=sc.nextInt();
        c2y=sc.nextInt();
        c1x+=bx;
        c2x+=bx;
        c1y+=by;
        c2y+=by;
        if(c1x<c2x){
            if(c1y<c2y){

            }else{
                int h = c1y;
                c1y=c2y;
                c2y=h;
            }
        }else{
            if(c1y<c2y){
                int h = c1x;
                c1x=c2x;
                c2x=h;
            }else{
                int h = c1y;
                c1y=c2y;
                c2y=h;
                h = c1x;
                c1x=c2x;
                c2x=h;
            }
        }
        int rx = Math.abs(c1x)+Math.abs(c2x);
        int ry = Math.abs(c1y)+Math.abs(c2y);
        Random r = new Random();
        double x,y;
        double rr= br*br;
        double c = 0;
        for (int i = 0;i<100000000;i++){
            x=r.nextDouble()*rx+c1x;
            y=r.nextDouble()*ry+c1y;
          //  System.out.println(r.nextDouble()*rx);
            if(x*x+y*y<rr){
                c++;
            }
        }
        //System.out.println(c);
        double rect = rx*ry;
        System.out.println(Math.round((c*rect)/20000)/10000.0);
    }

    static boolean is(double x, double y, double ccc, int br){
        return ccc>Math.pow(x-br,2) + Math.pow(y-br,2);
    }
}

