See your score below

Bussen

Er wordt een programmeerwedstrijd gehouden in Utrecht.
Teams van scholieren uit verschillende landen arriveren bij het busstation om deel te nemen aan de competitie. 
Er zijn T teams, en team i arriveert op tijd ti. 
De organisatoren hebben B bussen ingezet om de teams te vervoeren van het busstation naar de wedstrijdlocatie. 
Elke bus kan tot C teams vervoeren. 
De organisatoren willen de arriverende teams efficiënt aan de bussen toewijzen. De organisatoren streven ernaar de teams niet te lang te laten wachten bij het busstation.
Een bus mag vertrekken als deze nog niet vol is. 

Schrijf een programma dat de minimale maximale wachttijd berekent als de organisatoren de bussen optimaal coördineren.
De wachttijd van een team is het verschil tussen hun aankomsttijd en het vertrek van hun toegewezen bus.

Het is gegarandeerd dat er genoeg bussen zijn.

Invoer
Op de eerste regel staan 3 gehele getallen gescheiden door een spatie T (1≤T≤ 105), B (1≤B≤105) en C (1≤C≤T), dit zijn het aantal teams, het aantal bussen en de capaciteit van de bus.
Op de volgende T regels staan de aankomsttijden van de teams (0≤ti≤109).

Uitvoer
De uitvoer is de minimale maximale wachttijd

Voorbeeld invoer:
6 3 2
1
1
10
14
4
3

 

Voorbeeld uitvoer:
4

Bus 1: Teams die arriveren op 1, 1. Deze teams kunnen samen in één bus, waarbij de wachttijd 0 is aangezien ze tegelijk arriveren.
Bus 2: Teams die arriveren op 3, 4. Voor deze groep is de maximale wachttijd 4 - 3 = 1.
Bus 3: Teams die arriveren op 10, 14. Hier is de maximale wachttijd 14 -10 = 4.
De maximale wachttijd wordt bepaald door de grootste wachttijd over alle bussen en dit is 4.

Problem credits: Usaco