All subsequences

Why is it giving error? Output is same regardless of the order…
import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
while(n-- >0)
{
String str=sc.next();
subsequence(str," ");
}
}

public static void subsequence(String str, String res)
{

	if(str.length()==0)
	{
		System.out.println(res);
		return;
	}
	
	char cc= str.charAt(0);
	String ros= str.substring(1);
	
	subsequence(ros,res);
	subsequence(ros,res+cc);
}

}