В лаборатории есть n серверов, каждый из которых может выполнять задания. Серверы пронумерованы уникальными целыми числоми от 1 до n.
Известно, что в течение суток поступит q заданий, i-е из которых характеризуется тремя величинами: ti — секунда поступления задания, ki — количество серверов, которые нужны для его выполнения, а также di — продолжительность выполнения этого задания в секундах. Все ti — различны.
Для того, чтобы выполнить i-е пришедшее задание, нужно ki серверов, которые должны быть свободны в секунду ti. После начала выполнения задания каждый из них будет занят в течение ближайших di секунд. Таким образом, они будут заняты в секунды ti, ti + 1, ..., ti + di - 1. Из всех свободных серверов для выполнения будут выбраны ki серверов с наименьшими номерами. Если в секунду ti не хватает свободных серверов, то задание будет проигнорировано.
Напишите программу, определяющую, какие задания будут выполнены серверами, а какие будут проигнорированы.
Выходные данные
Выведите q строк. Если i-е задание будет принято на выполнение, выведите в i-й строке сумму номеров серверов, на которых будет выполняться это задание. В противном случае выведите -1.
Примечание
В первом примере в секунду 1 придет первое задание, которое будет выполняться на серверах с номерами 1, 2 и 3 (сумма номеров равна 6) в течение двух секунд. В секунду 2 поступит второе задание, которое будет проигнорировано, так как в эту секунду будет свободен только сервер номер 4. В секунду 3 придет третье задание. К этому времени как раз освободятся серверы с номерами 1, 2 и 3, поэтому третье задание будет выполняться на всех имеющихся серверах с номерами 1, 2, 3 и 4 (сумма номеров равна 10).
В втором примере в секунду 3 придет первое задание, которое будет выполняться на серверах с номерами 1 и 2 (сумма равна 3) в течение трех секунд. В секунду 5 поступит второе задание, которое будет выполняться на сервере номер 3, так как первые два сервера будут заняты выполнением первого задания.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
4 3 1 3 2 2 2 1 3 4 3
|
6
-1
10
|
|
2
|
3 2 3 2 3 5 1 2
|
3
3
|
|
3
|
8 6 1 3 20 4 2 1 6 5 5 10 1 1 15 3 6 21 8 8
|
6
9
30
-1
15
36
|