小B的01数列
题号:NC223761
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

    小B是一个01数列高手,任何01数列的题在小B面前都是水题,于是小B出一道01数列的题考考你:

现有下标1到初始值全为1的数列,接下里会有次对这个数列的操作,每次操作会有三个参数:

    当type==1, 数列中下标到下标的所有数字都将变成0,如果下标之前是1,则变为0

    当type==2, 数列中下标到下标的所有数字都将变成1,如果下标之前是0,则变为1

问每次操作后,这个数列中所有1的个数是多少?

输入描述:

第一行包含两个整数表示数列长度和操作次数

接下来q行,每行包括三个参数,含义如题描述

输出描述:

一行一个整数代表数列中1的个数
示例1

输入

复制
4 6
1 2 1
3 4 1
2 3 2
1 3 2
2 4 1
1 4 2

输出

复制
2
0
2
3
1
4