Задача. Складываем дроби

Напишите процедуру

procedure add(a,b,c,d:longint;var q,w:longint);
которая получает на вход две дроби a/b и c/d (задаваемые соответствующими переменными), складывает их, получает результат в виде дроби q/w и возвращает результат, записывая его в переменные, указанные в качестве двух последних параметров при вызове процедуры.

Напишите программу, которой вводятся четыре числа a,b,c,d, задающие дроби a/b и c/d, и которая выводит результат сложения этих двух дробей в виде двух чисел, задающих числитель и знаменатель результата.

Все вводимые числа натуральные, не превышающие 1000. Выдаваемые числа должны не превышать 2000000. Если ответ может быть записан несколькими дробями, любая из них является верной (например, 5/4 может быть записано и как 10/8).

Пример вводаПример вывода
1 2 3 4
5 4