III Obóz im. A. Kreczmara 2002
|
Zadanie: b
|
Autor: Krzysztof Onak
|
dzień czwarty | 9 sierpnia 2002 |
Plik źródłowy: | b.??? (np. pas, c, cpp) |
Plik wejściowy: | b.in |
Plik wyjściowy: | b.out |
Ustalmy dodatni całkowity dzielnik n. Każda liczba naturalna dzieli się przez pewne potęgi naturalne liczby n. Na przykład 54 dzieli się przez 30, 31, 32 i 33, ale nie dzieli się przez 34, 35, ... Liczbę całkowitą k należącą do przedziału [a;b] (a i b całkowite, a <= b) nazywamy najdzielną przedziału [a;b], jeśli nie istnieją liczby - naturalna m oraz całkowita l (l należy do [a;b]) - takie, że nm dzieli l, ale nie dzieli k. Jeśli na przykład n=3 i [a;b]=[53;55], to mamy w tym przedziale jedną najdzielną - jest to liczba 54.
Napisz program, który:
W pierwszym wierszu pliku tekstowego b.in znajduje się jedna liczba całkowita x, 1 <= x <= 30000, oznaczająca liczbę zestawów danych. W każdym z kolejnych x wierszy znajduje się po jednej trójce liczb całkowitych n, a i b (1 <= n <= 1018, -1018 <= a <= b <= 1018), oddzielonych pojedynczymi znakami odstępu, które oznaczają dokładnie to samo, co odpowiednie liczby w treści zadania. W wierszu o numerze i+1 znajduje się i-ty zestaw.
Plik tekstowy b.out powinien zawierać dokładnie x wierszy. Wiersz o numerze i powinien zawierać tylko jedną liczbę całkowitą - najmniejszą najdzielną dla i-tego zestawu danych.
Dla pliku wejściowego b.in:
1 3 53 55
poprawną odpowiedzią jest plik wyjściowy b.out:
54