Cerința
Pe Aeroportul Internaţional Iaşi urmează să se organizeze un spectacol de acrobatiuni aviatice, cu ocazia sărbătoririi centenarului României.
Fiecare dintre cei n
piloţi înscrişi va pilota câte un avion. La înscriere, pilotul primeşte un cod p
i
şi avionul său un cod a
i
. Astfel, fiecare pilot i
poate afla codul spectacolului pe care îl va prezenta publicului, calculând cel mai mare divizor comun dintre codul său şi cel al avionului pe care îl pilotează: cmmdc(p
i
, a
i
)
.
Un pilot poate fi considerat „spectaculos” dacă codul spectacolului său este multiplul unui număr x
dat. Organizatorul evenimentului a vrut să le facă spectatorilor o surpriză şi a infiltrat printre piloţii spectaculoşi nişte piloţi „legendari” (ale caror spectacole vor fi de asemenea multiplu al numărului x
). Totodată, organizatorul concursului a stabilit o metodă prin care un pilot „legendar” să poată fi identificat: pe lângă caracteristicile unui pilot special, spectacolul unui pilot legendar va avea exact 2
divizori primi.
Fiind mult prea concentrat pe organizarea spectacolului acrobatic, organizatorul a pierdut din greşeală lista cu numele piloţilor care sunt „spectaculoşi” şi „legendari”, însă încă mai are lista cu toate codurile participanţilor. Având la dispoziţie o singură zi până la finalizarea înscrierilor el vă cere ajutorul pentru a găsi numărul de piloţi „spectaculoşi” şi „legendari”.
Date de intrare
Pe prima linie a fişierului de intrare pilot.in
se găsesc două numere: n
(numărul total de piloţi care sunt pe listă), x
(numărul cu care trebuie să fie divizibil codul unui spectacol pentru ca acel pilot să fie „spectaculos”).
Pe fiecare din următoarele n
linii ale fişierului de intrare se va citi câte o pereche de numere p
i
a
i
, reprezentând codul pilotului, respectiv al avionului pe care acesta îl va pilota.
Date de ieșire
În fişierul de ieşire pilot.out
se vor afişa două numere, primul număr reprezentând numărul de piloţi care sunt „spectaculoşi” şi al doilea, numărul de piloţi „legendari”. Cele două numere vor fi separate printr-un spaţiu.
Restricții și precizări
1 ≤ x ≤ 100, x număr prim
2 ≤ n ≤ 10000
1 ≤ p
i
, a
i
≤ 1000000000
- un pilot “legendar” va fi considerat întotdeauna şi “spectaculos”, dar invers nu.
Exemplu:
pilot.in
5 3 3 61 27 7 15 60 66 45 90 30
pilot.out
3 1
Explicație
cmmdc(3, 61) = 1
, care nu este divizibil cu 3
. Astfel, pilotul este normal.
cmmdc(27, 7) = 1
, care nu este divizibil cu 3
. Astfel, pilotul este normal.
cmmdc(15, 60) = 15
, care este divizibil cu 3
, deci pilotul este „spectaculos”. 15 = 3 * 5
.
3
şi 5
sunt numere prime, deci acest spectacol are exact 2
divizori primi. Astfel, pilotul este şi „spectaculos”, şi „legendar”.
cmmdc(66, 45) = 3
, care este divizibil cu 3
şi are doar un singur divizor prim. Astfel, pilotul este „spectaculos”.
cmmdc(90, 30) = 30
, care este divizibil cu 3
. 30 = 2 * 3 * 5
, iar 2
, 3
şi 5
sunt divizori primi. Astfel, spectacolul are 3 divizori primi, deci pilotul este „spectaculos”.
Aşadar, la spectacol participa 3
piloţi „speciali”, dintre care doar 1
este „legendar”.