IX Wiosenny Turniej w Programowaniu Zespołowym Politechnika Poznańska, 11.06.2005 |
Zadanie A - Ułamki |
Opis
Zarówno Anty-Patentowcy jak i Anty-Anty-Patentowcy bardzo lubią dodawać do siebie przeróżne liczby. Z tego powodu dwa razy do roku organizują wspólnie(!) specjalne Zjazdy Domyślnie Zaawansowanych Dodawaczy. Za każdym razem punktem kulminacyjnym zjazdu jest próba obliczenia specjalnej, za każdym razem unikatowe sumy. Ostatnio Domyślnie Zaawansowani Dodawacze postanowili dodać do siebie ciąg specjalnych ułamków. Ich specjalność polegała na sposobie w jaki one powstawały. Mianowicie najpierw wypisali sobie wyrazy (a jakże!) specjalnego ciągu:
a0 = 0
ai = ai-1 + 2i dla i ≥ 1.
Owe specjalne ułamki przeznaczone do sumowania tworzyli poprzez prostą odwrotność i-tych wyrazów powyższego ciągu dla 1 ≤ i ≤ n. Dodatkowo Domyślnie Zaawansowani Dodawacze uradzili, że wynik przedstawią w postaci nieskracalnego ułamka. Niestety o ułamkach uczyli się dawno, dawno temu (chyba jeszcze w szkole podstawowej), więc tym razem strasznie się męczyli nad dodaniem do siebie tych wszystkich liczb. Dlatego ich wysiłki były często przerywane bardzo głośnymi dyskusjami na temat poprawności (lub nie) uzyskiwanych przez nich cząstkowych wyników.
Wielodniowy hałas w końcu zirytował okolicznych mieszkańców którzy postanowili poprosić Cię o pomoc. Można przyspieszyć zakończenie uciążliwego zjazdu poprzez podanie wielce się szanującym Domyślnie Zaawansowanych Dodawaczom ostatecznego wyniku obliczanej przez nich sumy.
Zadanie
Napisz program który wyliczy sumę 1/a1 + 1/a2 + ... + 1/an i przedstawi wynik w postaci skróconego ułamka.
Wejście
W pierwszej linii wejścia znajduje się jedna dodatnia liczba całkowita, oznaczająca liczbę następujących zestawów danych.
Każdy zestaw składa się z pojedynczej linii zawierającej jedną liczbę naturalną n (1 ≤ n ≤ 100000).
Wyjście
Dla każdego zestawu danych należy w pojedynczej linii wypisać dwie dodatnie liczby całkowite: najpierw licznik a potem mianownik szukanego wyniku.
1 1
1 2