Se consideră un șir de numere naturale nenule . Două numere situate pe poziții consecutive în șir ( și , unde ) pot fuziona dacă ele au cel puțin un divizor comun strict mai mare decât . În urma fuziunii ele vor fi înlocuite de cel mai mic număr care se divide cu toți divizorii lui și ai lui . Operația de fuziune se poate repeta, pe noul șir obținut, până când în șir nu va exista nicio pereche de numere situate pe poziții consecutive care să poată fuziona. Să notăm cu șirul obținut după efectuarea tuturor operațiilor de fuzionare.
Numim coeficient de fuziune al șirului și îl notăm cu un număr nenul care are proprietatea că orice termen al șirului are cel puțin un divizor comun cu , strict mai mare decât . În plus, trebuie să respecte următoarele condiții:
- factorii săi primi sunt distincți (de exemplu are doar factori primi distincți, dar nu are doar factori primi distincți);
- orice factor prim al lui este factor prim pentru cel puțin un număr din șirul ;
- lista factorilor primi distincți ai lui ordonată strict crescător este minimă din punct de vedere lexicografic.
Cerință
Dat fiind un șir de numere naturale nenule, scrieți un program care să rezolve următoarele două cerințe:
- să se determine lungimea minimă a șirului obținut după efectuarea tuturor operațiilor de fuziune posibile;
- să se determine .
Date de intrare
Fișierul de intrare fuziune.in
conține pe prima linie cerința care trebuie să fie rezolvată ( sau ). Pe cea de-a doua linie se află un număr natural , reprezentând numărul de valori din șir. Pe următoarele linii se află cele numere din șir, câte un număr pe o linie.
Date de ieșire
Fișierul de ieșire fuziune.out
va conține o singură linie pe care va fi scris răspunsul la cerința din fișierul de intrare.
Restricții
- ;
- , pentru orice ;
- Se garantează că numărul de factori primi distincți pentru numerele din șirul (pentru cerința ) și pentru (pentru cerința ) este cel mult egal cu .
- Fie și două liste de factori primi distincți ordonate strict crescător. Spunem că este mai mică din punct de vedere lexicografic decât dacă există o poziție astfel încât , pentru orice și ( sau ).
# | Punctaj | Restricții |
---|---|---|
1 | 15 | , și numerele din șir sunt . |
2 | 15 | , și numerele din șir sunt . |
3 | 10 | , și numerele din șir sunt . |
4 | 30 | , și numerele din șir sunt . |
5 | 12 | și rezultatul va fi un număr de maximum cifre. |
6 | 18 | și rezultatul va fi un număr cu maximum cifre. |
Exemplul 1
fuziune.in
1
8
30
18
997
121
625
5
55
101
fuziune.out
4
Explicații
.
Numerele și vor fuziona și se obține valoarea .
Numerele , și vor fuziona de asemenea, apoi rezultatul va fuziona cu și se obține valoarea .
În șirul rezultat vor rămâne, după efectuarea tuturor fuzionărilor numere (, , și ).
Exemplul 2
fuziune.in
2
3
16
18
25
fuziune.out
30
Explicație
.
În urma efectuării tuturor operațiilor de fuziune posibile se obține șirul:
.
Exemplul 3
fuziune.in
2
8
30
18
97
121
625
5
55
10403
fuziune.out
3233010
Explicație
.
În urma efectuării tuturor operațiilor de fuziune posibile se obține șirul
.