简单题
题号:NC50438
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

有一个n个元素的数组,每个元素初始均为0。有m条指令,要么让其中一段连续序列数字反转——0变1,1变0(操作1),要么询问某个元素的值(操作2)。
例如当n=20时,10条指令如下:

输入描述:

第一行包含两个整数n,m,表示数组的长度和指令的条数;
以下m行,每行的第一个数t表示操作的种类:

若t=1,则接下来有两个数L,R,表示区间[L,R]的每个数均反转;

若t=2,则接下来只有一个数i,表示询问的下标。

输出描述:

每个操作2输出一行(非0即1),表示每次操作2的回答。
示例1

输入

复制
20 10
1 1 10
2 6
2 12
1 5 12
2 6
2 15
1 6 16
1 11 17
2 12
2 6

输出

复制
1
0
0
0
1
1

备注:

对于的数据,
对于的数据,,保证