Polish version    English version  
 


 News
 About Olympic
 History of OI
 OI books
 National team
 Olympic camps
 Photo gallery
 Links
 SIO
 MAIN
This document is not available in English version.

III Obóz im. A. Kreczmara 2002

Zadanie: b
Autor: Krzysztof Onak
B: Najdzielna

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.

Zadanie

Napisz program, który:

  • wczyta z pliku tekstowego b.in zestawy danych opisujące różne trójki liczb n, a i b,
  • dla każdego zestawu danych znajdzie najmniejszą najdzielną,
  • zapisze wynik w pliku tekstowym b.out.

Wejście

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.

Wyjście

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.

Przykład

Dla pliku wejściowego b.in:

1
3 53 55

poprawną odpowiedzią jest plik wyjściowy b.out:

54



Print friendly version