U140359 批量处理

题目背景

不知为何,人们常常把“程序员”一词和繁重而单调的工作、秃顶、快速变老和家庭破败等负面词汇联系在一起。$Seaway$一直对这种看法持以怀疑。直到他找到了一份工作,他发现这份工作恰恰像上面描述的那样,这份工作叫“批处理工程师”......

题目描述

顾名思义,批处理工程师的任务就是对一堆数据进行批量处理。这种对数据的批量处理包括但不限于做表格、写文案、做PPT、文档编辑等。现在,$Seaway$的上家交给他一个这样的任务:维护集合。 具体地,这个任务被这样描述: 最初始的集合是空集。这个任务有一个维护值域$D$。一共有3种操作可以对当前集合进行维护。分别是: 1号操作:把$[l,r]$中在集合中没有出现过的数添加到集合中。 2号操作:把$[l,r]$中在集合中出现过的数从集合中删除。 3号操作:对$[l,r]$中同时执行1号、2号操作。这里的同时执行是指:把$[l,r]$中在集合中没有出现过的数添加到集合中,同时,把$[l,r]$中在集合中出现过的数从集合中删除。 并且,为了检查$Seaway$的任务完成情况,他的上家在每次操作之后都会检查他操作的正确性。具体地,一个检查被这样描述: 每次操作后,输出整个集合的$mex$值。 注:$mex$值的定义是:在集合中没有出现过的最小的数。

输入格式

从文件$operate.in$中读入数据。 第一行一个整数$n$,表示操作数量。 接下来的$n$行,每行三个整数$opt,l,r$,其中$opt$表示操作种类,$l,r$表示操作区间。

输出格式

输出到文件$operate.out$中。 共$n$行,每行一个整数$ans_i$,表示第$i$次操作后的整个集合的$mex$值。

说明/提示

【**数据范围**】 对于$10\%$的数据,$1\le n\le 100,1\le l,r\le 100$。 对于另$20\%$的数据,$1\le n\le 100,1\le l,r\le 10^4$。 对于另$30\%$的数据,$1\le n\le 100,1\le l,r\le 2\times 10^6$。 对于全部数据, 有$1\le n\le 10^5,1\le l,r\le 10^{18}$。