Большие вызовы

아직 제출이 없습니다시간 제한2초메모리 제한1024 MB

문제

На проектной смене в образовательном центре <<Сириус>> участники одной из команд проектируют промышленных роботов.

Роботы будут наполнять деталями nn контейнеров, которые стоят в ряд и пронумерованы от 11 до nn. В ii-й контейнер можно суммарно поместить не больше a_ia\_i деталей. Участники собрали mm роботов. Изначально у jj-го робота имеется c_jc\_j деталей, часть из которых он положит в контейнеры. Также, у jj-го робота есть диапазон действия, задающийся двумя числами l_jr_jl\_j \le r\_j, означающий, что робот может класть детали только в контейнеры с номерами от l_jl\_j до r_jr\_j включительно. Роботы пытаются суммарно положить в контейнеры как можно больше деталей.

Созданные роботы бывают двух типов. Если тип робота t_j=0t\_j = 0, то его диапазон действия всегда остается неизменным. А роботов типа t_j=1t\_j = 1 можно перепрограммировать. Если контейнер с номером xx выделить как наиболее важный, диапазон действия каждого робота типа 11 расширяется минимальным образом, чтобы он стал содержать контейнер xx. Более формально, диапазон действия робота номер jj, имеющего тип 11, изменяется на \[min(l_j,x),max(r_j,x)]\[\min(l\_j, x), \max(r\_j, x)].

Для каждого xx от 11 до nn вычислите, какое максимальное количество деталей роботы смогут суммарно поместить в контейнеры, если важным будет контейнер с номером xx, а роботы будут действовать оптимальным образом.

입력

Каждый тест состоит из нескольких наборов входных данных. В первой строке дано одно целое число tt (1t200,0001 \leq t \leq 200\\,000) --- количество наборов входных данных. Далее следуют описания наборов входных данных.

В первой строке каждого набора входных данных даны два целых числа nn и mm (1n,m200,0001 \le n, m \le 200\\,000) --- количество контейнеров и роботов соответственно.

В следующей строке даны nn целых чисел a_ia\_i (0a_i1090 \le a\_i \le 10^9) --- вместимости контейнеров.

В каждой из следующих mm строк даны по четыре целых числа l_jl\_j, r_jr\_j, c_jc\_j, t_jt\_j (1l_jr_jn1 \le l\_j \le r\_j \le n, 0c_j1090 \le c\_j \le 10^9, t_j0,1t\_j \in \\{0, 1\\}) --- диапазон действия, изначальное количество деталей и тип робота соответственно.

Обозначим за n\sum n сумму nn, а за m\sum m сумму mm по всем наборам входных данных в одном тесте. Гарантируется, что n200,000\sum n \leq 200\\,000, m200,000\sum m \leq 200\\,000.

출력

Для каждого набора входных данных выведите nn целых чисел --- ответ на задачу для всех xx от 11 до nn.