În jurul muzeului din orașul Smallville exista un gard ce conține N scânduri de înălțimi diferite. Putem spune că scândura i are înălțimea Hi. Directorul muzeului le-a cerut angajaților să vopsească acest gard cu un număr minim de culori, astfel încât să se respecte următoarea condiție: pentru un număr întreg K cunoscut, orice secvență de K scânduri consecutive nu trebuie să conțină două scânduri de aceeași înălțime, colorate identic.
Cerința
Scrieţi un program care să găsească numărul minim de culori ce vor fi folosite pentru a colora gardul.
Date de intrare
Fișierul de intrare culori.in conține pe prima linie N K – două numere întregi reprezentând numărul de scânduri și lungimea secvenței. Pe următoarea linie, N numere naturale Hi reprezentand înălțimile celor N scânduri.
Date de ieșire
Fișierul de ieșire culori.out va conține un număr întreg C reprezentând numărul minim de culori folosite.
Restricții și precizări
1 ≤ K ≤ 200.0001 ≤ K ≤ N ≤ 1.000.0001 ≤ Hi≤ 1.000- Pentru 50% din punctaj,
1 ≤ K ≤ N ≤ 5.000 - Pentru 80% din punctaj,
1 ≤ K ≤ N ≤ 200.000
Exemplu:
culori.in
6 4 1 1 2 1 3 2
culori.out
3
Explicație
O posibilă colorare a scândurilor folosind culorile 1, 2, 3 este: 1 2 1 3 1 2.
Există 3 secvențe: 1 1 2 1, 1 2 1 3 și 2 1 3 2 și orice secvență respectă condiția din enunț.