Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

DALGO - Drzwi Adriana

Tym razem Twej pomocy potrzebuje wysportowany Adrian. W drzwiach do jego pokoju jest zamek na szyfr, jednak można go zmieniać i może być on bardzo długi. Szalona Magda zrobiła mu piskus i zmieniła kod w zamku; żeby go nie zapomnieć, zapisała kod na kartce. Co prawda Adrian ma specjalną moc otwierania zamkniętych drzwi (zawdzięcza to również swojej bardzo dobrej kondycji fizycznej), ale... ich spójność jest wtedy "zaburzona" i wymagają wymiany, więc poprosił tajnego agenta Krystiana o zdobycie kodu. Jak się można było spodziewać, Magda zgubiła kartkę z hasłem, jednak Krystian, który nie spuszczał ładnej Magdy z oczu, zauważył tę zgubę i zabrał ją. Miał zamiar przekazać ją Adrianowi na szalonym kółku matematycznym, jednak na tym kółku nie było ani Adriana, ani Magdy (nikt chyba nie zna powodu ich nieobecności).

Jednak Krystian podzielił się informacją o znalezionej kartce z uczestnikami kółka. Marysia wpadła na pomysł zrobienia gry bazującej na tym kodzie: zapisano wszystkie liczby kodu na tablicy a następnie każdy uczestnik kółka podawał przedział (a, b) oraz wartość m, oznaczało to, że od pozycji a do pozycji b (włącznie) odejmuje się wartość m, i tak gra się toczyła, aż w końcu ostatnia osoba nie miała żadnej możliwości - ta osoba przegrywa (los chciał, że padło na bezradnego Mateusza, zwanego Zimą). I tak oto powstał zestaw n trójek, jednak okazało się, że te liczby mogą służyć do dalszej zabawy.

Na kolejny pomysł ich wykorzystania wpadła Ania, mianowicie polegał on na tym, że liczby a, b zamieniamy na p, q takie, że: a*p+b*q=NWD(p, q), - gra się toczyła, niektórzy popełniali błędy, ale inni ich poprawiali, i tak po skoczonej grze został wyłoniony mistrz, a dokładniej mistrzyni, mianowicie Marysia. Krystian wpadł na pomysł, że zamiast dać Adrianowi gotowy kod, da zestaw tych końcowych trójek i napisze, co z nimi robili. Gdy Adrian odczytał tę wiadomość, załamał się (było ich tak dużo, że przez najbliższe 2^10 dni musiałby to ręcznie liczyć, bo nie mógł użyć laptopa, który został w pokoju). Miał już zamiar skorzystać ze specjalnego daru otwierania drzwi bez znajomości kodu, ale na szczęście spotkał Ciebie! Pomożesz Adrianowi?

Input

W pierwszym wierszu liczba n, oznaczająca liczbę trójek (n<=1000000).
W nastepnych n liniach liczby p, q, m ( 1< p, q <500010; m<20).
Dane są tak dobrane, że obliczone liczby a, b spełnią warunek -1000000<b<1000000  0<=a<1000000 (ta zależnośc zachodzi przed wymianą miejscami , po wyminaie miejscami a<=b)

Output

Należy wypisać szukany kod otwierający drzwi.
*co prawda z danych wejściowych nie można od razu określić, ile jest liczb kodu, jednak wiadomo, że nie zaczyna się on 0 i nie kończy 0, w środku 0 może występować.

Przykład:

Input:
5
1 4 2
2 3 5
7 8 2
9 11 2
6 3 2 Output: 2 2 4 4 4 9 13 13 9 4 4 4 2 2

Wyjaśnienie przykładu:
p (wczytane)q(wczytane)a (wyliczone)b (wyliczone)
1410
232-1
787-6
9115-4
6301



 Jak wiadomo warunek a*p+b*q=NWD(p, q), spelnia wiele par a b jednak Adrian dostał wskazówkę że szukane a jest najmniejsze z możliwych ale nie ujemne (a minimalne i a>=0), b może być ujemne, wiec jeśłi wyjdzie a>b to należy zmienić je miejscami tak że jak sie dodaje liczby do przedziału a b to żeby a<=b.


Dodane przez:Marek Mystkowski
Data dodania:2013-02-10
Limit czasu wykonania programu:0.100s-0.175s
Limit długości kodu źródłowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: ASM64 GOSU
Pochodzenie:Algoliga 4
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.