class complex_rt;
class complex_ab{
friend class complex_rt;
public:
complex_ab(): a(0), b(0) { }
complex_ab(const double x, const double y): a(x), b(y) { }
complex_ab(complex_rt);
~complex_ab() { }
private:
double a, b;
};
class complex_rt{
friend class complex_ab;
public:
complex_rt(): r(0), theta(0) { }
complex_rt(const double x, const double y): r(x), theta(y) { }
complex_rt(complex_ab);
~complex_rt() { }
private:
double r, theta;
};
#include <cmath>
#include <iostream>
using namespace std;
complex_ab::complex_ab(complex_rt polar){
a = polar.r * cos(polar.theta);
b = polar.r * sin(polar.theta);
}
complex_rt::complex_rt(complex_ab cart){
r = sqrt(cart.a * cart.a + cart.b * cart.b);
theta = atan(cart.b/cart.a);
}
int main() {
}
Y2xhc3MgY29tcGxleF9ydDsKCmNsYXNzIGNvbXBsZXhfYWJ7CmZyaWVuZCBjbGFzcyBjb21wbGV4X3J0OwoKcHVibGljOgogICAgY29tcGxleF9hYigpOiBhKDApLCBiKDApIHsgfQogICAgY29tcGxleF9hYihjb25zdCBkb3VibGUgeCwgY29uc3QgZG91YmxlIHkpOiBhKHgpLCBiKHkpIHsgfQogICAgY29tcGxleF9hYihjb21wbGV4X3J0KTsKICAgIH5jb21wbGV4X2FiKCkgeyB9Cgpwcml2YXRlOgogICAgZG91YmxlIGEsIGI7Cn07CgpjbGFzcyBjb21wbGV4X3J0ewogICAgZnJpZW5kIGNsYXNzIGNvbXBsZXhfYWI7CnB1YmxpYzoKICAgIGNvbXBsZXhfcnQoKTogcigwKSwgdGhldGEoMCkgeyB9CiAgICBjb21wbGV4X3J0KGNvbnN0IGRvdWJsZSB4LCBjb25zdCBkb3VibGUgeSk6IHIoeCksIHRoZXRhKHkpIHsgfQogICAgY29tcGxleF9ydChjb21wbGV4X2FiKTsKICAgIH5jb21wbGV4X3J0KCkgeyB9Cgpwcml2YXRlOgogICAgZG91YmxlIHIsIHRoZXRhOwp9OwoKI2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb21wbGV4X2FiOjpjb21wbGV4X2FiKGNvbXBsZXhfcnQgcG9sYXIpewogICAgYSA9IHBvbGFyLnIgKiBjb3MocG9sYXIudGhldGEpOwogICAgYiA9IHBvbGFyLnIgKiBzaW4ocG9sYXIudGhldGEpOwp9CmNvbXBsZXhfcnQ6OmNvbXBsZXhfcnQoY29tcGxleF9hYiBjYXJ0KXsKICAgIHIgPSBzcXJ0KGNhcnQuYSAqIGNhcnQuYSArIGNhcnQuYiAqIGNhcnQuYik7CiAgICB0aGV0YSA9IGF0YW4oY2FydC5iL2NhcnQuYSk7Cn0KCmludCBtYWluKCkgewp9