Калькулятор дробей
Просмотр в формате PDFШкольный калькулятор умеет работать с обыкновенными дробями: он последовательно складывает и вычитает их, а затем автоматически приводит ответ к несократимому виду.
Каждая дробь записывается в формате p/q, где p — целое число, а q — положительное целое число.
Дано выражение из n дробей, между которыми стоят операции + и -. Необходимо вычислить результат работы калькулятора и вывести его в виде несократимой дроби.
Правила записи ответа:
- результат должен быть выведен в формате
p/q, гдеq > 0; - если результат равен нулю, нужно вывести
0/1; - в противном случае дробь должна быть несократимой, то есть
gcd(|p|, q) = 1, а знак должен находиться в числителе.
Входные данные
В первой строке задано целое число n — количество дробей в выражении.
Во второй строке задано выражение в виде
f_1 op_1 f_2 op_2 f_3 ... op_{n-1} f_n
где:
f_i— дробь в форматеp_i/q_i;op_i— символ+или-.
Между всеми соседними токенами стоит ровно один пробел. Если n = 1, то во второй строке записана только одна дробь.
Выходные данные
Выведите одну дробь в формате p/q — значение выражения, приведённое к несократимому виду.
Гарантируется, что числитель и знаменатель промежуточных результатов помещаются в __int128 в C++ и в стандартный тип int в Python.
Ограничения
1 <= n <= 10^5-10^9 <= p_i <= 10^91 <= q_i <= 10^9- ввод осуществляется через стандартный ввод
- вывод осуществляется через стандартный вывод
Примеры
Пример 1
Входные данные
1
1/2
Выходные данные
1/2
Пример 2
Входные данные
2
1/2 + 1/3
Выходные данные
5/6
Комментарии