resturi

Time limit: 0.04s Memory limit: 4MB Input: resturi.in Output: resturi.out

Se dă un număr natural KK şi numerele naturale p1,p2,,pK,r1,r2,...,rKp_1, p_2, …, p_K, r_1, r_2, ... , r_K, unde p1,...,pKp_1, ... , p_K sunt numere prime diferite două câte două şi 0ri<pi0 \leq r_i < p_i, pentru orice ii de la 11 la KK. Spunem că un număr XX este liber de resturi, dacă restul împărţirii lui XX la pip_i este diferit de rir_i, pentru orice ii de la 11 la KK. Considerăm şirul sortat al numerelor naturale libere de resturi.

Cerinţă

Să se determine al NN-lea element al şirului.

Date de intrare

Fişierul resturi.in conţine pe prima linie numerele KK şi NN, separate printr-un spaţiu. Următoarele KK linii conţin perechi de numere pi,rip_i, r_i, separate printr-un spaţiu.

Date de ieşire

Fişierul resturi.out conţine pe prima linie un singur număr MM, reprezentând al NN-lea număr din şirul considerat.

Restricţii şi precizări

  • 0K100 \leq K \leq 10
  • 1N2 000 000 0001 \leq N \leq 2 \ 000 \ 000 \ 000 (două miliarde)
  • Şirul considerat este indexat începând de la 11.
  • Se garantează că rezultatul va fi mai mic decât 10 000 000 00010 \ 000 \ 000 \ 000 (zece miliarde). Programatorii în C++ pot folosi tipul de date long long, iar cei în Pascal tipul int64.

Exemplul 1

resturi.in

3 6
2 1
3 2
5 2

resturi.out

18

Explicație

În acest caz, şirul considerat este: 0,4,6,10,16,18,24,...0, 4, 6, 10, 16, 18, 24, ...

Exemplul 2

resturi.in

4 16
3 2
17 9
7 1
23 0

resturi.out

30

Explicație

În acest caz, şirul considerat este: 3,4,6,7,10,12,13,16,18,19,21,24,25,27,28,30,31,...3, 4, 6, 7, 10, 12, 13, 16, 18, 19, 21, 24, 25, 27, 28, 30, 31, ...

Log in or sign up to be able to send submissions!