#include <cstdio>
#include <cstring>
#define N 60005
struct st
{
int x,y,sum,flag;
}p[N * 4];
void build(int r,int x,int y)
{
p[r].x = x;
p[r].y = y;
p[r].sum = 0;
p[r].flag = 0;
if(x == y) return ;
int mid = (x + y) >> 1,tem = r << 1;
build(tem,x,mid);
build(tem + 1,mid + 1,y);
}
int query(int r,int x,int y,int val)
{
int sum = 0;
if(p[r].x == x && p[r].y == y)
{
if(val == 0)
return(y - x + 1 - p[r].sum);
else
{
int sum1;
sum1 = p[r].sum;
p[r].flag = 1;
p[r].sum = 0;
return sum1;
}
}
int mid = (p[r].x + p[r].y) >> 1,tem = r << 1;
if(p[r].flag == 1)
{
p[tem].sum = 0;
p[tem].flag = 1;
p[tem + 1].sum = 0;
p[tem + 1].flag = 1;
p[r].flag = 0;
}
else if(p[r].flag == -1)
{
p[tem].sum = (p[tem].y - p[tem].x + 1);
p[tem].flag = -1;
p[tem + 1].sum = (p[tem + 1].y - p[tem + 1].x + 1);
p[tem + 1].flag = -1;
p[r].flag = 0;
}
if(y <= mid)
sum = query(tem,x,y,val);
else if(x > mid)
sum = query(tem + 1,x,y,val);
else
sum = query(tem,x,mid,val) + query(tem + 1,mid + 1,y,val);
p[r].sum = p[tem].sum + p[tem + 1].sum;
return sum;
}
void insert(int r,int x,int y)
{
if(p[r].x == x && p[r].y == y)
{
p[r].sum = y - x + 1;
p[r].flag = -1;
return ;
}
int mid = (p[r].x +p[r]. y) >> 1,tem = r << 1;
if(p[r].flag == 1)
{
p[tem].sum = 0;
p[tem].flag = 1;
p[tem + 1].sum = 0;
p[tem + 1].flag = 1;
p[r].flag = 0;
}
else if(p[r].flag == -1)
{
p[tem].sum = (p[tem].y - p[tem].x + 1);
p[tem].flag = -1;
p[tem + 1].sum = (p[tem + 1].y - p[tem + 1].x + 1);
p[tem + 1].flag = -1;
p[r].flag = 0;
}
if(y <= mid)
insert(tem,x,y);
else if(x > mid)
insert(tem + 1,x,y);
else
{
insert(tem,x,mid);
insert(tem + 1,mid + 1,y);
}
p[r].sum = p[tem].sum + p[tem + 1].sum;
}
int main()
{
int T;
scanf("%d",&T);
// printf("[pre]");
while(T --)
{
int n,m,a,b,k;
scanf("%d %d",&n,&m);
build(1,1,n);
while(m --)
{
scanf("%d %d %d",&k,&a,&b);
a = a + 1;
if(k == 1)
{
int start = a,end = n,mid,uu = -1,st,en,ss;
while(start <= end)
{
mid = (start + end) >> 1;
if(query(1,a,mid,0) > 0)
{
uu = mid;
end = mid - 1;
}
else
start = mid + 1;
}
if(uu == -1) {printf("Can not put any one.\n");continue;}
st = uu;
start = uu;end = n;
if(query(1,uu,n,0) <= b)
{
//printf("%d\n",query(1,uu,n,0));
while(start <= end)
{
mid = (start + end) >> 1;
if(query(1,mid,n,0) > 0)
{
en = mid;
start = mid + 1;
}
else
end = mid - 1;
}
}
else
{
ss = uu;
while(start <= end)
{
mid = (start + end) >> 1;
int count = query(1,ss,mid,0);
if(count == b)
{
en = mid;
end = mid - 1;
}
else if(count < b) start = mid + 1;
else end = mid - 1;
}
}
insert(1,st,en);
printf("%d %d\n",st - 1,en - 1);
}
else
printf("%d\n",query(1,a,b + 1,1));
}
printf("\n");
}
// printf("[/pre]\n");
return 0;
}