//zzuli 1877
//关于区间覆盖很巧妙地一种用法, 这是参考一位大牛的博客写的, 目前本人还是处于菜鸟阶段。。。
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<ctype.h>
#include<algorithm>
using namespace std;
#define N 100100
#define INF 0x3f3f3f3f
int a[N];
int l[N], r[N];
int vis[N], num[N], sum[N];
int ans[N];
int main()
{
int T, n, m, cnt, k;
scanf("%d", &T);
while(T--)
{
memset(a, 0, sizeof(a));
memset(vis, 0, sizeof(vis));
memset(num, 0, sizeof(num));
memset(sum, 0, sizeof(sum));
scanf("%d%d", &n, &m);
for(int i=0; i<m; i++)
{
scanf("%d%d", &l[i], &r[i]);
vis[l[i]]++;
vis[r[i]+1]--;
}
int s=0;
for(int i=0; i<=n; i++)
{
s+=vis[i];
num[i]=s;
}
for(int i=0; i<=n; i++)
{
if(num[i]>=2) sum[i]=sum[i-1]+1;
else sum[i]=sum[i-1];
}
cnt=0;
k=0;
for(int i=0; i<m; i++)
if(sum[r[i]]-sum[l[i]-1]==r[i]-l[i]+1)
{
cnt++;
ans[k++]=i+1;
}
printf("%d
", cnt);
for(int i=0; i<k; i++)
printf("%d%c", ans[i], i==k-1 ? '
' : ' ');
}
return 0;
}