I. Кевин и Нивек
ограничение по времени на тест
4 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Кевин и Нивек соревнуются за титул «Лучший Кевин». Их цель — определить победителя за $$$n$$$ матчей.

$$$i$$$-й матч может быть одного из двух типов:

  • Тип 1: Кевину нужно потратить $$$a_i$$$ времени, чтобы победить Нивека и выиграть матч. Если Кевин не потратит на этот матч $$$a_i$$$ времени, Нивек выиграет матч.
  • Тип 2: Исход этого матча зависит от их исторических данных. Если количество побед Кевина больше или равно количеству побед Нивека до этого матча, то Кевин выиграет. В противном случае выиграет Нивек.

Кевин хочет узнать, какое минимальное количество времени ему нужно потратить, чтобы выиграть как минимум $$$k$$$ матчей.

Выведите ответы для $$$k = 0, 1, \ldots, n$$$.

Входные данные

Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.

Первая строка каждого набора входных данных содержит единственное целое число $$$n$$$ ($$$1 \le n \le 3 \cdot 10^5$$$) — количество матчей.

Вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$-1 \leq a_i \leq 10^9$$$).

Если $$$a_i = -1$$$, то $$$i$$$-й матч имеет Тип 2. В противном случае $$$i$$$-й матч имеет Тип 1, а $$$a_i$$$ представляет количество времени, которое Кевину нужно потратить, чтобы выиграть этот матч.

Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$3 \cdot 10^5$$$.

Выходные данные

Для каждого набора входных данных выведите $$$n + 1$$$ целое число. $$$i$$$-е целое число представляет минимальное количество времени для победы по крайней мере в $$$i-1$$$ матче.

Пример
Входные данные
3
5
-1 -1 -1 -1 -1
5
3 2 5 4 1
5
100 -1 -1 -1 1
Выходные данные
0 0 0 0 0 0 
0 1 3 6 10 15 
0 1 100 100 100 101 
Примечание

В первом наборе входных данных все матчи относятся к типу 2. Кевин автоматически выигрывает все матчи.

Во втором наборе входных данных все матчи относятся к типу 1. Кевин может выбирать матчи в порядке возрастания $$$a_i$$$.

В третьем наборе входных данных:

  • Если Кевин потратит $$$a_1$$$ времени на матч $$$1$$$, он может выиграть матчи $$$1, 2, 3, 4$$$.
  • Если Кевин потратит $$$a_5$$$ времени на матч $$$5$$$, он может выиграть матч $$$5$$$.
  • Если Кевин потратит $$$a_1$$$ времени на матч $$$1$$$ и $$$a_5$$$ времени на матч $$$5$$$, он может выиграть все матчи.