Problem description
W tym roku komitet główny Bitockiej Olimpiady Informatycznej Juniorów postanowił ustawić wielki wyświetlacz, na którym pokazane zostaną wyniki wszystkich zawodników, również Twoje. W trakcie zawodów do pokonania będzie N zadań wartych odpowiednio w1, …, wN punktów. Ponadto, każde zadanie można rozwiązać jedynie w pełni poprawnie lub błędnie, co skutkuje tym, że za i-te zadanie możesz otrzymać dokładnie 0 lub dokładnie wi punktów. Twoim wynikiem w zawodach jest suma zdobytych punktów.
Zauważyłeś, że wyświetlacz jest zepsuty – jeżeli wynik danego zawodnika dzieli się przez K, wyświetlacz zawsze pokaże, że dany zawodnik otrzymał 0 punktów! Chcesz tego uniknąć za wszelką cenę w swoim przypadku (co pomyślą sobie koledzy, kiedy zobaczą 0 przy Twoim nazwisku?). Zastanawiasz się, jaki jest najwyższy możliwy do osiągnięcia wynik, który poprawnie wyświetli się na wyświetlaczu?
Wejście
W pierwszym wierszu wejścia znajdują się dwie liczby naturalne N oraz K. W następnym wierszu znajduje się N liczb naturalnych w1, …, wN.
Wyjście
W pierwszym i jedynym wierszu wyjścia należy wypisać jedną liczbę oznaczającą największy możliwy wynik, który poprawnie wyświetli się na wyświetlaczu.
Ograniczenia
1 ≤ N ≤ 1 000 000, 1 ≤ K ≤ 109, 1 ≤ wi ≤ 109 dla i = 1, …, N.
Podzadania
Każde podzadanie odpowiada jednej grupie testowej spełniającej warunki podzadania.
Podzadanie | Warunki | Punkty |
---|---|---|
1 | K = 2 | 18 |
2 | N ≤ 1 000, suma wi nie przekracza 20 000. | 33 |
3 | Brak dodatkowych ograniczeń. | 49 |
Przykład
Wejście | Wyjście | |
|
|
Wejście | Wyjście | |
|
|