Problem description
To już trzecie zadanie z NWW. Czyżby autorom zadań na sparingi kończyły się pomysły? Zadanie jest tym razem bardzo krótkie: chcemy obliczyć najmniejszą wspólną wielokrotność kolejnych liczb w przedziale [A;B]: czyli NWW(A,A+1,…,B). Niestety, jest wiele zapytań do rozpatrzenia.
Napisz program, który: wczyta zapytania, dla każdego z nich obliczy najmniejszą wspólną wielokrotność i wypisze wyniki na standardowe wyjście.
Wejście
W pierwszym (jedynym) wierszu wejścia znajduje się jedna liczba naturalna Q – liczba zapytań. W kolejnych Q wierszach znajdują się kolejne zapytania, każde z nich składa się z dwóch liczb Ai oraz Bi, oddzielonych pojedynczym odstępem – są to końce przedziału obustronnie domkniętego, którego dotyczy zapytanie.
Wyjście
Twój program powinien wypisać na wyjście dokładnie Q wierszy. W i-tym z nich powinna się znaleźć odpowiedź dla i-tego zapytania – reszta z dzielenia przez 109 + 7 liczby NWW(Ai,Ai+1,…,Bi−1,Bi).
Ograniczenia
1 ≤ Q ≤ 50 000, 1 ≤ Ai ≤ Bi ≤ 50 000.
Przykład
Wejście | Wyjście | |
|
|