/// PI Challenge
/// rirosi . net / plus2 /
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <vector>
#include <algorithm>
using namespace std;
#define double long double
using t = pair<double, long long>;
double simurate(long long p) {
double r = 3.141592653589793L;
while (p) {
if (p&1) r-=2.0L; else r=r*r;
p>>=1;
}
return r;
}
int main()
{
double x = 3.141592653589793L;
t sel = { x, 0 } ;
for (long long p = 1LL << 25; p > 0; p--) {
auto r = simurate(p);
if (r*r <= sel.first*sel.first) sel = {r, p};
}
printf("%0.60llf\n", x);
printf("%0.60llf\n", sel.first);
printf("%0.60llf\n", sel.first - x);
while (sel.second>0) {
printf("%lld", sel.second & 1);
sel.second >>= 1;
}
}
Ly8vIFBJIENoYWxsZW5nZQovLy8gcmlyb3NpIC4gbmV0IC8gcGx1czIgLwoKI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBkb3VibGUgbG9uZyBkb3VibGUKdXNpbmcgdCA9IHBhaXI8ZG91YmxlLCBsb25nIGxvbmc+OwoKZG91YmxlIHNpbXVyYXRlKGxvbmcgbG9uZyBwKSB7Cglkb3VibGUgciA9IDMuMTQxNTkyNjUzNTg5NzkzTDsKCXdoaWxlIChwKSB7CgkJaWYgKHAmMSkgci09Mi4wTDsgZWxzZSByPXIqcjsKCQlwPj49MTsKCX0KCXJldHVybiByOwp9CgppbnQgbWFpbigpCnsKICAgIGRvdWJsZSB4ID0gMy4xNDE1OTI2NTM1ODk3OTNMOwogICAgCiAgICB0IHNlbCA9IHsgeCwgMCB9IDsKICAgIGZvciAobG9uZyBsb25nIHAgPSAxTEwgPDwgMjU7IHAgPiAwOyBwLS0pIHsKICAgIAlhdXRvIHIgPSBzaW11cmF0ZShwKTsKICAgIAlpZiAocipyIDw9IHNlbC5maXJzdCpzZWwuZmlyc3QpIHNlbCA9IHtyLCBwfTsKICAgIH0KCiAgICBwcmludGYoIiUwLjYwbGxmXG4iLCB4KTsKICAgIHByaW50ZigiJTAuNjBsbGZcbiIsIHNlbC5maXJzdCk7CiAgICBwcmludGYoIiUwLjYwbGxmXG4iLCBzZWwuZmlyc3QgLSB4KTsKICAgIHdoaWxlIChzZWwuc2Vjb25kPjApIHsKICAgICAgICBwcmludGYoIiVsbGQiLCBzZWwuc2Vjb25kICYgMSk7CiAgICAgICAgc2VsLnNlY29uZCA+Pj0gMTsKICAgIH0KfQo=