Фонари

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

문제

Улицу Подводный канал освещают nn фонарей, пронумерованных вдоль улицы от 1 до nn. Один или несколько подряд стоящих фонарей назовём сегментом. Таким образом, общее количество сегментов равно n(n+1)2\frac{n(n+1)}{2}. Сегмент считается исправным, если лампочки во всех фонарях этого сегмента исправны. 

С фонарями регулярно происходят события одного из двух типов:

  • в каком-то сегменте из-за скачков напряжения все лампочки одновременно перегорают;
  • Архиэнерго выбирает некоторый сегмент и посылает ремонтников, чтобы заменить на нем все перегоревшие лампочки на исправные.  

После каждого события мэрия города требует от Архиэнерго предоставить отчёт о количестве исправных сегментов. Для улучшения показателей работы ремонтники включают в отчёт все сегменты, которые исправны сейчас или были исправны когда-либо ранее.

Требуется написать программу, определяющую количество сегментов после каждого события, которые исправны в этот момент или были исправны когда-либо до этого события.

입력

В первой строке входных данных содержатся два числа nn и qq --- количество фонарей и количество произошедших событий. Следующая строка входных данных состоит из nn символов 0 и 1, описывающих начальное состояние фонарей, где 1 обозначает фонарь с исправной лампочкой, а 0 --- с перегоревшей.

В каждой из последующих qq строк содержатся описания событий в виде трёх чисел l_i,r_il\_i, r\_i и c_ic\_i, которые означают, что после этого события все лампочки в фонарях с номерами l_i,l_i+1,,r_il\_i, l\_i+1, \ldots, r\_i:

  • перегорают при c_i=0c\_i = 0,
  • становятся исправными при c_i=1c\_i = 1.

В описаниях всех событий 1l_ir_in1 \le l\_i \le r\_i \le n, а c_ic\_i принимает значение 00 или 11.

출력

В первой строке выходных данных выведите единственное число --- количество исправных сегментов в начальном состоянии. Затем по одному в строке выведите qq чисел: для каждого из произошедших событий выведите количество сегментов, указываемых в отчёте после этого события.

제한

  • 1n300,0001 \le n \le 300\\,000
  • 1q300,0001 \le q \le 300\\,000