#include <cstdio>
#include <cstdlib>
#include <cstring> 
using namespace std;

const int maxn=20100,maxm=200100;
int N,M;
struct edge{
	int x,y,n;
}E[maxm*2];
int T[maxn];//前向星的起点 
int Num[maxn],Low[maxn];//求割边
int Par[maxn];
bool Art[maxm];//割边(Articulation Edge)
int time;//时间戳 
/*
Low[v]=min{
	Num[v],
	Num[w],(link[v][w]&&Num[w]<Num[v]&&Par[v]!=w，后向边)
	Low[w],(link[v][w]&&Num[w]>Num[v]，树边)
}
(v,w)为割边<==>Low[v]>Num[v]
*/

int compare(const void* x,const void* y){
	edge *a=(edge*)x,*b=(edge*)y;
	if(a->x < b->x)return -1;
	if(a->x > b->x)return 1;
	if(a->y < b->y)return -1;
	if(a->y > b->y)return 1;
	return 0;
}

void input(){
	scanf("%d%d",&N,&M);
	
	for(int i=0;i<M;){
		int a,b;
		scanf("%d%d",&a,&b);
		--a;--b;
		E[i].x=a;E[i].y=b;
		E[i+M].x=b;E[i+M].y=a;
		E[i].n=E[i+M].n=++i;
	}
	M*=2;

	qsort(E,M,sizeof(edge),compare);
	for(int i=0,pre=-1;i<M;++i){
		if(E[i].x!=pre)
			T[E[i].x]=i;
		pre=E[i].x;
	}
	E[M].x=-1;
}
inline void update(int& o,int x){
	if(o>x)o=x;
}
void DFS(int v){
	Low[v]=Num[v]=++time;
	for(int i=T[v];;++i){
		if(E[i].x!=v)break;
		//printf("edge %d,%d\n",E[i].x,E[i].y);
		int w=E[i].y;
		if(!Num[w]){
			Par[w]=v;
			DFS(w);
			if(Low[w]>Num[v])
				Art[E[i].n]=true;
			update(Low[v],Low[w]);
		}
		else if(w!=Par[v])
			update(Low[v],Num[w]);
	}
}
void solve(){
	memset(Num,0,sizeof(Num));
	memset(Low,0,sizeof(Low));
	memset(Art,0,sizeof(Art));
	memset(Par,-1,sizeof(Par));
	time=0;
	
	DFS(0);
}
void output(){
	//for(int i=0;i<N;++i)
		//printf("Num[%d]=%d,Low[%d]=%d\n",i,Num[i],i,Low[i]);
	
	for(int i=0;i<M;++i){
		if(E[i].x==E[i+1].x&&E[i].y==E[i+1].y)
			Art[E[i].n]=Art[E[i+1].n]=false;
	}

	int Arts=0;
	for(int i=1;i<=M;++i)
		if(Art[i])++Arts;
	printf("%d\n",Arts);
	if(Arts==0)return;

	bool first=true;
	M/=2;
	for(int i=1;i<=M;++i){
		if(Art[i]){
			if(first){
				printf("%d",i);
				first=false;
			}
			else
				printf(" %d",i);
		}
	}
	putchar('\n');
}

int main(){
	int X;
	scanf("%d",&X);
	for(int i=1;i<=X;++i){
		input();
		solve();
		output();
		if(i!=X)
			putchar('\n');
	}
}
