#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define M_PI 3.14159265

int isInsideCircle(double x, double y, double centerX, double centerY) {
    return (pow(x - centerX, 2) + pow(y - centerY, 2)) < 1.0;
}

int main() {
    double x, y;
    int count, n;
    double areaEstimate, intersectionArea;
    intersectionArea = 0.0;

    printf("n\tError\n");

    for (n = 10; n <= 100000; n *= 5) {
        count = 0;
        areaEstimate = 0.0;

        for (int m = 0; m < n; m++) {
            x = (double)rand() / RAND_MAX;
            y = (double)rand() / RAND_MAX;

            if (isInsideCircle(x, y, 0, 0) && 
                isInsideCircle(x, y, 1, 0) && 
                isInsideCircle(x, y, 0, 1) && 
                isInsideCircle(x, y, 1, 1)) {
                areaEstimate += 1.0;
            }
            count++;
        }

        areaEstimate /= count;
        double theoreticalArea = M_PI - 4;
        printf("%d\t%f\n", n, fabs(areaEstimate - theoreticalArea));
    }

    return 0;
}