// Nguyen Thien Nhan (tomato)
#include <bits/stdc++.h>
//#pragma GCC optimize("O3,unroll-loops")
//#pragma GCC target("avx2,bmi,bmi2,popcnt")
using namespace std;
#define TASK "A"
#define ll long long
#define fi first
#define se second
#define BIT(x, i) (((x) >> (i)) & (1LL))
#define MASK(i) ((1LL) << (i))
#define ii pair<double, double>
template<class T> bool maximize(T &a, const T &b) {
return a < b ? a = b, 1 : 0;
}
template<class T> bool minimize(T &a, const T &b) {
return a > b ? a = b, 1 : 0;
}
const int MAXN = 1e4 + 5;
const int MAXM = 2e5 + 5;
const int MOD = 1e9 + 7;
const int INF = 1e9;
//---------Variable---------//
int numQuery;
ii arr[MAXN];
//--------------------------//
signed main() {
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
// freopen(TASK".INP", "r", stdin);
// freopen(TASK".OUT", "w", stdout);
int x, y;
while(cin >> x >> y) {
arr[++numQuery].fi = x;
arr[numQuery].se = y;
}
for (int i = 1; i <= numQuery; ++i) {
cout << "{";
if (arr[i].fi != 0) cout << arr[i].fi;
if (arr[i].se != 0) {
if (arr[i].se == 1 || arr[i].se == -1) {
if (arr[i].se == 1) cout << "+i";
else cout << "-i";
}
else {
if (arr[i].se > 0) cout << "+" << arr[i].se;
else cout << arr[i].se;
cout << "i";
}
}
cout << "}" << " ";
}
cout << '\n';
for (int i = 1; i <= numQuery; ++i) {
int tmp = arr[i].fi * arr[i].fi + arr[i].se * arr[i].se;
cout << fixed << setprecision(2) << sqrt(tmp) << " ";
}
cout << '\n';
int curA = 0, curB = 0;
for (int i = 1; i <= numQuery; ++i) {
curA += arr[i].fi;
curB += arr[i].se;
}
if (curA != 0) cout << curA;
if (curB != 0) {
if (curB == 1 || curB == -1) {
if (curB == 1) cout << "+i";
else cout << "-i";
}
else {
if (curB> 0) cout << "+" << curB;
else cout << curB;
cout << "i";
}
}
return 0;
}
Ly8gTmd1eWVuIFRoaWVuIE5oYW4gKHRvbWF0bykKI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Ci8vI3ByYWdtYSBHQ0Mgb3B0aW1pemUoIk8zLHVucm9sbC1sb29wcyIpCi8vI3ByYWdtYSBHQ0MgdGFyZ2V0KCJhdngyLGJtaSxibWkyLHBvcGNudCIpCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBUQVNLICJBIgojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgQklUKHgsIGkpICgoKHgpID4+IChpKSkgJiAoMUxMKSkKI2RlZmluZSBNQVNLKGkpICgoMUxMKSA8PCAoaSkpCiNkZWZpbmUgaWkgcGFpcjxkb3VibGUsIGRvdWJsZT4KCnRlbXBsYXRlPGNsYXNzIFQ+IGJvb2wgbWF4aW1pemUoVCAmYSwgY29uc3QgVCAmYikgewogICAgcmV0dXJuIGEgPCBiID8gYSA9IGIsIDEgOiAwOwp9CiAKdGVtcGxhdGU8Y2xhc3MgVD4gYm9vbCBtaW5pbWl6ZShUICZhLCBjb25zdCBUICZiKSB7CiAgICByZXR1cm4gYSA+IGIgPyBhID0gYiwgMSA6IDA7Cn0KCmNvbnN0IGludCBNQVhOID0gMWU0ICsgNTsKY29uc3QgaW50IE1BWE0gPSAyZTUgKyA1Owpjb25zdCBpbnQgTU9EID0gMWU5ICsgNzsKY29uc3QgaW50IElORiA9IDFlOTsKCgovLy0tLS0tLS0tLVZhcmlhYmxlLS0tLS0tLS0tLy8KCmludCBudW1RdWVyeTsKaWkgYXJyW01BWE5dOwoKLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgoKCgoKCgpzaWduZWQgbWFpbigpIHsKCiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgY2luLnRpZShOVUxMKTsgY291dC50aWUoTlVMTCk7CiAgICAvLyBmcmVvcGVuKFRBU0siLklOUCIsICJyIiwgc3RkaW4pOwogICAgLy8gZnJlb3BlbihUQVNLIi5PVVQiLCAidyIsIHN0ZG91dCk7CgogICAgaW50IHgsIHk7CiAgICB3aGlsZShjaW4gPj4geCA+PiB5KSB7CiAgICAgICAgYXJyWysrbnVtUXVlcnldLmZpID0geDsKICAgICAgICBhcnJbbnVtUXVlcnldLnNlID0geTsKICAgIH0KICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG51bVF1ZXJ5OyArK2kpIHsKICAgICAgICBjb3V0IDw8ICJ7IjsKICAgICAgICBpZiAoYXJyW2ldLmZpICE9IDApIGNvdXQgPDwgYXJyW2ldLmZpOwogICAgICAgIGlmIChhcnJbaV0uc2UgIT0gMCkgewogICAgICAgICAgICBpZiAoYXJyW2ldLnNlID09IDEgfHwgYXJyW2ldLnNlID09IC0xKSB7CiAgICAgICAgICAgICAgICBpZiAoYXJyW2ldLnNlID09IDEpIGNvdXQgPDwgIitpIjsKICAgICAgICAgICAgICAgIGVsc2UgY291dCA8PCAiLWkiOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgaWYgKGFycltpXS5zZSA+IDApIGNvdXQgPDwgIisiIDw8IGFycltpXS5zZTsKICAgICAgICAgICAgICAgIGVsc2UgY291dCA8PCBhcnJbaV0uc2U7CiAgICAgICAgICAgICAgICBjb3V0IDw8ICJpIjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjb3V0IDw8ICJ9IiA8PCAiICI7CiAgICB9CiAgICBjb3V0IDw8ICdcbic7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBudW1RdWVyeTsgKytpKSB7CiAgICAgICAgaW50IHRtcCA9IGFycltpXS5maSAqIGFycltpXS5maSArIGFycltpXS5zZSAqIGFycltpXS5zZTsKICAgICAgICBjb3V0IDw8IGZpeGVkIDw8IHNldHByZWNpc2lvbigyKSA8PCBzcXJ0KHRtcCkgPDwgIiAiOwogICAgfQogICAgY291dCA8PCAnXG4nOwogICAgaW50IGN1ckEgPSAwLCBjdXJCID0gMDsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG51bVF1ZXJ5OyArK2kpIHsKICAgICAgICBjdXJBICs9IGFycltpXS5maTsKICAgICAgICBjdXJCICs9IGFycltpXS5zZTsKICAgIH0KICAgIGlmIChjdXJBICE9IDApIGNvdXQgPDwgY3VyQTsKICAgIGlmIChjdXJCICE9IDApIHsKICAgICAgICBpZiAoY3VyQiA9PSAxIHx8IGN1ckIgPT0gLTEpIHsKICAgICAgICAgICAgaWYgKGN1ckIgPT0gMSkgY291dCA8PCAiK2kiOwogICAgICAgICAgICBlbHNlIGNvdXQgPDwgIi1pIjsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIGlmIChjdXJCPiAwKSBjb3V0IDw8ICIrIiA8PCBjdXJCOwogICAgICAgICAgICBlbHNlIGNvdXQgPDwgY3VyQjsKICAgICAgICAgICAgY291dCA8PCAiaSI7CiAgICAgICAgfQogICAgfQogCgogICAgcmV0dXJuIDA7Cgp9Cg==