#include<bits/stdc++.h>
using namespace std;
class Complex
{
private:
double real;
double img;
public:
void setvalue(double r,double i)
{
real=r;
img=i;
}
double getreal()
{
return real;
}
double getimg()
{
return img;
}
void display()
{
if(img < 0) cout << real << " - " << abs(img) << "i" <<endl;
else cout << real << " + " << (img) << "i" <<endl;
}
void add(Complex c,Complex d)
{
Complex e;
e.real = c.real +d.real;
e.img = c.img + d.img ;
e.display();
}
void sub(Complex c,Complex d)
{
Complex e;
e.real = c.real -d.real;
e.img = c.img - d.img ;
e.display();
}
};
int main()
{
Complex a,b;
a.setvalue(3,5);
b.setvalue(9,6);
a.display();
b.display();
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY2xhc3MgQ29tcGxleAp7CnByaXZhdGU6CiAgICAgICAgICBkb3VibGUgcmVhbDsKICAgICAgICAgIGRvdWJsZSBpbWc7CnB1YmxpYzoKICAgICAgICAgIHZvaWQgc2V0dmFsdWUoZG91YmxlIHIsZG91YmxlIGkpCiAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgcmVhbD1yOwogICAgICAgICAgICAgICAgICAgIGltZz1pOwogICAgICAgICAgfQogICAgICAgICAgZG91YmxlIGdldHJlYWwoKQogICAgICAgICAgewogICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlYWw7CiAgICAgICAgICB9CiAgICAgICAgICBkb3VibGUgZ2V0aW1nKCkKICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW1nOwogICAgICAgICAgfQogICAgICAgICAgdm9pZCBkaXNwbGF5KCkKICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIGlmKGltZyA8IDApIGNvdXQgPDwgcmVhbCA8PCAiIC0gIiA8PCBhYnMoaW1nKSA8PCAiaSIgPDxlbmRsOwogICAgICAgICAgICAgICAgICAgZWxzZSBjb3V0IDw8IHJlYWwgPDwgIiArICIgPDwgKGltZykgPDwgImkiIDw8ZW5kbDsKICAgICAgICAgIH0KICAgICAgICAgIHZvaWQgYWRkKENvbXBsZXggYyxDb21wbGV4IGQpCiAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQ29tcGxleCBlOwogICAgICAgICAgICAgICAgICAgIGUucmVhbCA9IGMucmVhbCArZC5yZWFsOwogICAgICAgICAgICAgICAgICAgIGUuaW1nID0gYy5pbWcgKyBkLmltZyA7CiAgICAgICAgICAgICAgICAgICAgZS5kaXNwbGF5KCk7CiAgICAgICAgICB9CiAgICAgICAgICAgdm9pZCBzdWIoQ29tcGxleCBjLENvbXBsZXggZCkKICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDb21wbGV4IGU7CiAgICAgICAgICAgICAgICAgICAgZS5yZWFsID0gYy5yZWFsIC1kLnJlYWw7CiAgICAgICAgICAgICAgICAgICAgZS5pbWcgPSBjLmltZyAtIGQuaW1nIDsKICAgICAgICAgICAgICAgICAgICBlLmRpc3BsYXkoKTsKICAgICAgICAgIH0KCn07CmludCBtYWluKCkKewogICAgICAgICAgQ29tcGxleCBhLGI7CiAgICAgICAgICBhLnNldHZhbHVlKDMsNSk7CiAgICAgICAgICBiLnNldHZhbHVlKDksNik7CiAgICAgICAgICBhLmRpc3BsYXkoKTsKICAgICAgICAgIGIuZGlzcGxheSgpOwp9CgoK