#include <cstdio>
#define isdigit(ch) ((ch) >= '0' && (ch) <= '9')
#define lowbit(x) (x & -x)
template <typename T> T read() {
T res = 0, f = 1;
char ch = getchar();
for (; !isdigit(ch); ch = getchar()) if (ch == '-') f = -1;
for (; isdigit(ch); ch = getchar()) res = (res << 3) + (res << 1) + (ch ^ 48);
return res * f;
}
constexpr int MAXN = 1e5 + 10;
int n, m;
int tree[MAXN];
bool vis[MAXN];
void Add(int x, int y) {
for (; x <= n; x += lowbit(x)) tree[x] += y;
}
int Ask(int x) {
int res = 0;
for (; x; x -= lowbit(x)) res += tree[x];
return res;
}
int main() {
freopen("lakee.in", "r", stdin);
freopen("lakee.out", "w", stdout);
n = read<int>(), m = read<int>();
for (int i = 1; i <= n - 1; ++i) {
Add(i, 1);
}
while (m--) {
int f = read<int>(), a = read<int>(), b = read<int>();
if (a > b) a ^= b ^= a ^= b;
if (!f) {
if (!vis[a]) {
Add(a, -1);
} else {
Add(a, 1);
}
vis[a] ^= 1;
} else {
int sum = Ask(b - 1) - Ask(a - 1);
if (sum == b - a || Ask(n) - sum == n - 1 - (b - a)) {
puts("YES");
} else {
puts("NO");
}
}
}
return 0;
}