#include <iostream>
#include <algorithm>
struct Fraction {
long long numerator;
long long denominator;
};
long long gcd(long long a, long long b) {
while (b != 0) {
long long temp = b;
b = a % b;
a = temp;
}
return a;
}
Fraction simplifyFraction(Fraction frac) {
long long commonGCD = gcd(abs(frac.numerator), frac.denominator);
frac.numerator /= commonGCD;
frac.denominator /= commonGCD;
return frac;
}
int main() {
long long a, b, c, d;
char ch, o;
while (std::cin >> a >> ch >> b >> o >> c >> ch >> d) {
Fraction result;
if (o == '+') {
result.numerator = a * d + b * c;
result.denominator = b * d;
} else if (o == '-') {
result.numerator = a * d - b * c;
result.denominator = b * d;
}
Fraction simplifiedResult = simplifyFraction(result);
std::cout << simplifiedResult.numerator << "/" << simplifiedResult.denominator << std::endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKc3RydWN0IEZyYWN0aW9uIHsKICAgIGxvbmcgbG9uZyBudW1lcmF0b3I7CiAgICBsb25nIGxvbmcgZGVub21pbmF0b3I7Cn07Cgpsb25nIGxvbmcgZ2NkKGxvbmcgbG9uZyBhLCBsb25nIGxvbmcgYikgewogICAgd2hpbGUgKGIgIT0gMCkgewogICAgICAgIGxvbmcgbG9uZyB0ZW1wID0gYjsKICAgICAgICBiID0gYSAlIGI7CiAgICAgICAgYSA9IHRlbXA7CiAgICB9CiAgICByZXR1cm4gYTsKfQoKRnJhY3Rpb24gc2ltcGxpZnlGcmFjdGlvbihGcmFjdGlvbiBmcmFjKSB7CiAgICBsb25nIGxvbmcgY29tbW9uR0NEID0gZ2NkKGFicyhmcmFjLm51bWVyYXRvciksIGZyYWMuZGVub21pbmF0b3IpOwogICAgZnJhYy5udW1lcmF0b3IgLz0gY29tbW9uR0NEOwogICAgZnJhYy5kZW5vbWluYXRvciAvPSBjb21tb25HQ0Q7CiAgICByZXR1cm4gZnJhYzsKfQoKaW50IG1haW4oKSB7CiAgICBsb25nIGxvbmcgYSwgYiwgYywgZDsKICAgIGNoYXIgY2gsIG87CgogICAgd2hpbGUgKHN0ZDo6Y2luID4+IGEgPj4gY2ggPj4gYiA+PiBvID4+IGMgPj4gY2ggPj4gZCkgewogICAgICAgIEZyYWN0aW9uIHJlc3VsdDsKCiAgICAgICAgaWYgKG8gPT0gJysnKSB7CiAgICAgICAgICAgIHJlc3VsdC5udW1lcmF0b3IgPSBhICogZCArIGIgKiBjOwogICAgICAgICAgICByZXN1bHQuZGVub21pbmF0b3IgPSBiICogZDsKICAgICAgICB9IGVsc2UgaWYgKG8gPT0gJy0nKSB7CiAgICAgICAgICAgIHJlc3VsdC5udW1lcmF0b3IgPSBhICogZCAtIGIgKiBjOwogICAgICAgICAgICByZXN1bHQuZGVub21pbmF0b3IgPSBiICogZDsKICAgICAgICB9CgogICAgICAgIEZyYWN0aW9uIHNpbXBsaWZpZWRSZXN1bHQgPSBzaW1wbGlmeUZyYWN0aW9uKHJlc3VsdCk7CgogICAgICAgIHN0ZDo6Y291dCA8PCBzaW1wbGlmaWVkUmVzdWx0Lm51bWVyYXRvciA8PCAiLyIgPDwgc2ltcGxpZmllZFJlc3VsdC5kZW5vbWluYXRvciA8PCBzdGQ6OmVuZGw7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0=