Kolekcjonowanie znaczków

Najnowszą pasją Kapitana Mambeksa jest kolekcjonowanie znaczków pocztowych. Kapitan w celu uzupełnienia swoich zbiorów wybrał się do filatelisty. Niestety filatelista stosuje specyficzny sposób sprzedaży. Nie można kupić dowolnych znaczków, tylko te, które ułożone są w klaserze kolejno obok siebie (znaczki ułożone są tylko w jednym wierszu). Fakt ten zmartwił Kapitana, gdyż chcąc kupić znaczki które go interesują będzie musiał kupić także te, które już posiada.

Każdy znaczek ma przypisaną pewną liczbę punktów określającą jego wartość filatelistyczną. Znaczki którymi Kapitan jest zainteresowany mają dodatnie punkty, natomiast te które już posiada mają punkty ujemne. Kapitan postanowił kupić te znaczki, dla których suma punktów będzie maksymalna.

Twoim zadaniem jest pomóc Kapitanowi i napisać program, który podpowie mu za jaką maksymalną liczbę punktów może kupić znaczki.

Dane wejściowe:

W pierwszym wierszu wejścia znajduje się jedna liczba N będąca liczbą zestawów danych. W kolejnych N wierszach znajdują się kolejne zestawy danych.

W pierwszym wierszu pojedynczego zestawu danych znajduje się liczba M (1 ≤ M ≤ 32000) będąca liczbą wszystkich znaczków dostępnych w sprzedaży. W kolejnych M wierszach znajdują się liczby całkowite K (-1000 ≤ K ≤ 1000) określające punkty poszczególnych znaczków. Punkty podane są w takiej samej kolejności w jakiej znaczki ułożone są w klaserze.

Dane wyjściowe:

Dane wyjściowe składają się z N wierszy. Jeden wiersz odpowiada jednemu zestawowi danych wejściowych i zawiera wartość określającą za jaką maksymalną liczbę punktów Kapitan może kupić znaczki.

Przykładowe dane wejściowe:

4
10
8
-12
6
8
-2
5
-12
4
2
3
9
3
4
-8
7
8
5
-5
2
1
8
2
3
-4
2
3
4
-3
2
7
1
-3
1
2
1
-4
3
        

Przykładowe dane wyjściowe:

17
20
10
4