Why this code gives nzec ....please give reply...?

package coding;
import java.util.*;

public class Main{
private static Scanner sc;
static boolean[] mark=new boolean[100005];
static ArrayList[] adj;

public static void main(String args[])throws Exception{
	sc=new Scanner(System.in);
	int test=sc.nextInt();
	
	while(test-->0){
		int n=sc.nextInt();
		int m=sc.nextInt();
		adj=new ArrayList[n+1];
		
		for(int i=0;i<=n;i++){
			adj[i]=new ArrayList<Integer>();
			mark[i]=false;
		}
		
		for(int i=1;i<=m;i++){
			int u=sc.nextInt();
			int v=sc.nextInt();
			u++;
			v++;
			adj[u].add(v);
			adj[v].add(u);
		}
		int ans=0;
		
		for(int i=1;i<=n;i++){
			if(mark[i]==false){
				ans++;
				bfs(i);
			}
		}
		System.out.println(ans);
	}
}

static void bfs(int start){
	mark[start]=true;
	Queue<Integer> q=new LinkedList<Integer>();
	q.add(start);
	
	while(!q.isEmpty()){
		int s=q.remove();
		
		for(Integer w: adj[s]){
			if(mark[w]==false){
				mark[w]=true;
				q.add(w);
			}
		}
	}
}

}