Fermierul Amooot merge la magazinul de furaje pentru a achiziționa amestecuri de iarbă pentru pășunatul vacilor sale. Vânzătorul Popică, viclean de fel, îi prezintă un șir V de N oferte; însă, pentru ca Amooot să poată achiziționa hrana, acesta va trebui neapărat să selecteze o subsecvență canonică de oferte!
Spunem că o subsecvență A[i], A[i+1], … , A[j] , 1 ≤ i ≤ j ≤ N este canonică dacă A[k] % A[i] = 0, pentru orice k, i ≤ k ≤ j. De exemplu, în șirul (3, 4, 2, 10, 4, 12, 3), subsecvențe canonice sunt (2, 10) sau (2, 10, 4, 12), dar nu și subsecvența (10, 4, 12).
Cerința
Văzând condițiile impuse de Popică, Amooot își pune două întrebări:
- Care este cea mai lungă subsecvență canonică din
V? - Câte subsecvențe canonice există în
V?
Date de intrare
Fișierul de intrare canonic.in conține pe prima linie numărul C, numărul cerinței de rezolvat.
Pe a doua linie a fișierului de intrare se găsește numărul N, reprezentând numărul elementelor șirului de oferte.
Pe a treia linie a fișierului de intrare se vor găsi N numere naturale, care reprezintă șirul de oferte 𝑉 . Numerele aflate pe aceeași linie a fișierului sunt separate prin câte un spațiu.
Date de ieșire
Fișierul de ieșire canonic.out va conține pe prima linie răspunsul la cerința din test.
Restricții și precizări
C ∈ {1, 2}1 ≤ N ≤ 500 0001 ≤ V[i] ≤ 1012, pentru orice1 ≤ i ≤ N- Atenție la limita de memorie!
Subtaskuri
C = 1,N ≤ 500C = 1,N ≤ 2 000C = 1,N ≤ 100 000,V[i] ≤ 1 000, pentru orice1 ≤ i ≤ NC = 1, Fără restricții suplimentare.C = 2,V[i] = 1, pentru orice1 ≤ i ≤ NC = 2,N ≤ 500C = 2,N ≤ 2 000C = 2,N ≤ 100 000,V[i] ≤ 1 000, pentru orice1 ≤ i ≤ NC = 2, Fără restricții suplimentare.
Exemplul 1
canonic.in
1 7 3 4 2 10 4 12 3
canonic.out
4
Explicație
Subsecvența canonică de lungime maximă din șir este (2, 10, 4, 12). Așadar, lungimea maximă este 4.
Exemplul 2
canonic.in
2 7 3 4 2 10 4 12 3
canonic.out
11
Explicație
Subsecvențele canonice din șir sunt:
(3)(4)(2)(2, 10)(2, 10, 4)(2, 10, 4, 12)(10)(4)(4, 12)(12)(3)