Description
小科的学校门口有一条笔直的马路,可以把马路看做是一个长度为L的直线,马路上有很多用来种树的树坑,编号依次为0到L,每一编号的位置上都有1棵杨树,春天杨絮满天飞,非常不利于健康,所以学校要把门口的杨树都换掉,工作人员中有的人负责砍树有的人负责种树。砍树用“0 A B表示”,意思是砍树者每次从编号A到编号B处(包含A和B)连续砍掉每一棵树,就连树苗也不放过;种树用“1 C D”表示,意思是种树者每次从编号C到编号D(包含C和D)中凡是空穴(树被砍且还没种上树苗或树苗又被砍掉)的地方都补种上树苗;由于工作人员比较多,有的人种树有的人砍树,难免会出差错,有一些砍树者一不小心就把刚刚种上的树苗又砍掉了。
小科是个好奇的小朋友,他想知道最终校门外留下的树苗有多少棵?植树者种上又被砍掉的树苗有多少棵?请你帮忙计算一下吧。
Input
一共N+1行:
第一行,两个整数L和N,表示校门外原来有L+1棵树,并有N次砍树或种树的操作。
以下N行,每行3个整数C B E,用来描述一次砍树或植树操作
如果C为1表示从编号B到编号E所有空穴的地方都种上树苗
如果C为0表示从编号B到编号E连续砍掉每一个棵树 (包含树苗)
Output
共两行:
第一行一个整数,表示马路上最终留下的树苗的数目
第二行一个整数,表示在砍树和植树过程中种上又被砍掉的树苗的数目
HINT
【样例说明】
样例1中,马路的长度为10,树坑的编号依次为0到10,一共有3次砍树或者种树的操作:
第一次操作是 0 2 6,表示从编号2到编号6把每个位置上的树都砍掉,所以从2到6上都没有树了,都是空穴。
第二次操作是1 1 8,表示从编号1到编号8把是空穴的地方都种上树苗,因为位置1 7 8上仍然是有树的,所以这次种树是从位置2到位置6种上了树苗
第三次操作是 0 5 7,表示从编号5到编号7把每个位置上的树都砍掉,其中位置5和位置6是刚刚种上的树苗。
所以最终位置2 3 4这三个位置上是树苗,而位置5 6这两个位置是种上又被砍掉的树苗。
【数据范围】
对于100%的数据,1≤L≤10000,1≤N≤1000