#include <stdio.h>
typedef struct { float r, i; } C;
/* (a) Read complex number */
C readC() {
C c;
printf("Enter real and imaginary parts: "); scanf("%f %f", &c.
r, &c.
i); return c;
}
/* (b) Print complex number */
void writeC(C c) {
printf("%.1f + %.1fi\n", c.
r, c.
i); }
/* (c) Add & subtract */
C add(C a, C b) { C t = { a.r + b.r, a.i + b.i }; return t; }
C sub(C a, C b) { C t = { a.r - b.r, a.i - b.i }; return t; }
int main() {
C c1 = readC();
C c2 = readC();
writeC(add(c1, c2));
writeC(sub(c1, c2));
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp0eXBlZGVmIHN0cnVjdCB7IGZsb2F0IHIsIGk7IH0gQzsKCi8qIChhKSBSZWFkIGNvbXBsZXggbnVtYmVyICovCkMgcmVhZEMoKSB7CiAgICBDIGM7CiAgICBwcmludGYoIkVudGVyIHJlYWwgYW5kIGltYWdpbmFyeSBwYXJ0czogIik7CiAgICBzY2FuZigiJWYgJWYiLCAmYy5yLCAmYy5pKTsKICAgIHJldHVybiBjOwp9CgovKiAoYikgUHJpbnQgY29tcGxleCBudW1iZXIgKi8Kdm9pZCB3cml0ZUMoQyBjKSB7CiAgICBwcmludGYoIiUuMWYgKyAlLjFmaVxuIiwgYy5yLCBjLmkpOwp9CgovKiAoYykgQWRkICYgc3VidHJhY3QgKi8KQyBhZGQoQyBhLCBDIGIpIHsgQyB0ID0geyBhLnIgKyBiLnIsIGEuaSArIGIuaSB9OyByZXR1cm4gdDsgfQpDIHN1YihDIGEsIEMgYikgeyBDIHQgPSB7IGEuciAtIGIuciwgYS5pIC0gYi5pIH07IHJldHVybiB0OyB9CgppbnQgbWFpbigpIHsKICAgIEMgYzEgPSByZWFkQygpOwogICAgQyBjMiA9IHJlYWRDKCk7CgogICAgcHJpbnRmKCJBZGRpdGlvbjogIik7CiAgICB3cml0ZUMoYWRkKGMxLCBjMikpOwoKICAgIHByaW50ZigiU3VidHJhY3Rpb246ICIpOwogICAgd3JpdGVDKHN1YihjMSwgYzIpKTsKCiAgICByZXR1cm4gMDsKfQo=