I - Moviendo luces

Time limit: 3 seconds
Memory limit: 256 megabytes
Languages: MS C# .NET 4.7.2053,GNU G++11 5.1.0 ...

Fito es voluntario en la organización del acto de graduación de su curso. El acto va consistir en un gran espectáculo con artistas aficionados. A Fito le han encargado la preparación de las luces que se van a usar durante la presentación. Para cumplir su tarea cuenta con un viejo equipo de luces, que le prestó un amigo. El equipo consiste de varias luces de colores,situadas en unos carriles de forma tal que se pueden subir o bajar para formar varios diseños. Todas las luces funcionan pero el mecanismo para moverlas está averiado, por lo que cualquier cambio debe ser hecho manualmente. Fito quiere que el diseño final tenga al menos $K$ luces con alturas distintas. Las acciones que Fito puede hacer es disminuir o aumentar la altura de una de las luces en un nivel cada vez. Puede que una luz quede en una altura negativa, esto solo quiere decir que va  a estar por debajo del nivel central del equipo de luces. Como mover cada luz es trabajoso Fito quiere hacer la menor cantidad de acciones posibles para obtener su diseño.

Input

La primera línea de la entrada son dos enteros $N (1 ≤ N ≤ 50)$  y $K (1 ≤ K ≤ N)$ que indican la cantidad de luces y la cantidad de niveles diferentes que quiere Fito respectivamente. La segunda línea contiene $N$ enteros separados por un espacio representando las alturas de las luces. Las alturas iniciales están entre $1$ y $1000$.

Output

La salida es un entero con la menor cantidad de operaciones que debe hacer Fito, para obtener al menos $K$ luces con distinta altura.

Sample test(s)

Input
3 2 1 1 1
Output
1