#include <iostream>
#include <vector>

static const int digits = 305;

std::vector<char> divide(int nomin, int denom) {
	std::vector<char> num(digits,0);

	for (int i = 0; i < digits && nomin; i++) {
		if (nomin < denom) {
			num[i] = 0;
		} else {
			num[i] = nomin/denom;
			nomin %= denom;
		}
		
		nomin *= 10;
	}
	
	return num;
}

std::vector<char> summ(std::vector<char> a, std::vector<char> b) {
	std::vector<char> res(digits, 0);
	for (int i = digits-1; i >= 0; i--) {
		res[i] += a[i] + b[i];
		if (res[i] > 9) {
			res[i] -= 10;
			if (i > 0) res[i-1]++;
		}
	}
	
	return res;
}

std::vector<char> neg(std::vector<char> a, std::vector<char> b) {
	std::vector<char> res(digits, 0);
	for (int i = digits-1; i >= 0; i--) {
		res[i] += a[i] - b[i];
		if (res[i] < 0) {
			res[i] += 10;
			if (i > 0) res[i-1]--;
		}
	}
	
	return res;
}


void print_num(std::vector<char> num) {
	std::cout << int(num[0]) << '.';
	
	for (int i = 1; i < digits; i++)
		std::cout << int(num[i]);
		
	std::cout << std::endl;
}

std::vector<char> divideBy2_times(std::vector<char> nomin, int times) {
	std::vector<char> res = nomin;
	for (int t = 0; t < times; t++) {
		for (int i{}; i < digits; i++) {
			if(i < digits - 1 && res[i] % 2) res[i+1] += 10;
			res[i] /= 2;
		}
	}
	
	return res;
}

int main() {
	std::vector<char> pi(digits, 0);
	for(int i = 0; i < 275; i++)	{
		std::vector<char> mem = divide(4, 8*i + 1);
		mem = neg(mem, divide(2, 8*i + 4));
		mem = neg(mem, divide(1, 8*i + 5));
		mem = neg(mem, divide(1, 8*i + 6));
		mem = divideBy2_times(mem, i * 4);
		pi = summ(pi, mem);
	}
	
	print_num(pi);
	return 0;
}