#include using namespace std; /*ifstream f("gwars.in"); ofstream g("gwars.out");*/ struct legaturi { int x; int y; }; legaturi q[400003]; int n,m,nr,A,B,i,op,a,b,ok,j; int maxim(int a, int b) { if (a>b) return a; return b; } int minim(int a, int b) { if (a>n>>m; nr=0; for (i=1;i<=m;i++) { cin>>op; if (op==1) { cin>>a>>b; nr++; q[nr].x=a; q[nr].y=b; } if (op==2) { cin>>a; q[a].x=-1; q[a].y=-1; } if (op==3) { ok=1; cin>>a>>b; A=minim(a,b); B=maxim(a,b); for (j=1;j<=nr;j++) { if (q[j].x!= -1 && q[j].y!=-1) { if (!(q[j].x>=A && q[j].y>=A && q[j].x<=B && q[j].y<=B)) { ok=0; break; } } } if (ok==0) cout<<"NO"<<'\n'; else cout<<"YES"<<'\n'; } } return 0; }