Strongman

Na miejsce zawodów "Strongman" dostarczono ciężarówkami N przedmiotów z którymi będą zmagać się siłacze w trakcie zawodów. Niestety organizatorzy mają poważny problem gdyż zastrajkowali pracownicy firmy która miała zająć się rozładunkiem przedmiotów z ciężarówek na arenę główną zawodów. Jeden z organizatorów wpadł na pomysł aby sami zawodnicy pomogli rozładować ciężarówki, co byłoby dla nich treningiem przed zawodami. Oczywiście nie zostało to przyjęte z entuzjazmem wśród zawodników, jednak po negocjacjach i groźbie odwołania zawodów zgodzili się rozładować ciężarówki.

Zawodnicy zgodzili się rozładować ciężarówki ponieważ organizatorzy poszli na następujące ustępstwa:

Organizatorom zależy na tym, aby zawodnicy rozładowali ciężarówki jednak chcą aby odbyło się to jak najmniejszym kosztem. W tym celu wynajęli Ciebie abyś napisał program, który wyznaczy jaki jest minimalny koszt rozładowania ciężarówek.

Dane wejściowe:

Dane wejściowe składają się z K zestawów danych.

W pierwszym wierszu zestawu danych znajduje się liczba całkowita M (1 ≤ M ≤ 200) określająca maksymalną łączną masę przedmiotów jakie może przenieść zawodnik. W drugim wierszu znajduje się liczba całkowita N (1 ≤ N ≤ 50000) będąca liczbą przedmiotów do rozładowania z ciężarówek. W kolejnych N wierszach znajdują się opisy przedmiotów które należy rozładować. Każdy wiersz zawiera liczbę całkowitą X (1 ≤ X ≤ M) określająca masę przedmiotu.

Dane wyjściowe:

Dane wyjściowe składają się z K wierszy. Jeden wiersz odpowiada jednemu zestawowi danych wejściowych i zawiera liczbę całkowitą określającą minimalny koszt rozładowania ciężarówek.

Przykładowe dane wejściowe:

5
200
5
180
170
100
30
100
100
4
81
62
74
58
150
6
70
50
80
100
110
90
120
2
75
40
200
6
100
110
80
120
130
140
        

Przykładowe dane wyjściowe:

300
400
400
100
500