#include <iostream>
#include <cmath>
#include <cassert>
double const a = 3.1415926;
double const b = 2.1828182;
double const delta = +1.0e-5;
class P {
double x, y;
public:
P(double x, double y) : x(x), y(y) {}
double len(P p) { double u = p.x - this->x, v = p.y - this->y; return std::sqrt(u * u + v * v); }
double operator+=(double a) { return this->x += a; }
double getx() { return this->x; }
};
double const epsilon = +1.0e-5;
int main() {
assert(a > 0 && delta > 0);
P p(a, b), q(0.0, 0.0);
for (;std::fabs(q.len(p) - q.getx()) > epsilon; q += delta)
;
std::cout << q.getx() << std::endl;
return 0;
}
/* end */