Wrong output on submission

import java.util.*;
public class Main {
public static ArrayList SubSeq(String str)
{
if(str.length()==0)
{
ArrayList base=new ArrayList<>();
base.add("");
return base;
}
char c=str.charAt(0);
ArrayList rec=SubSeq(str.substring(1));

	ArrayList<String> myres=new ArrayList<>();
	for(int i=0;i<rec.size();i++)
	{
		myres.add(rec.get(i));
		myres.add(c+rec.get(i));
	}

	return myres;

}

public static void main(String args[]) {
	
    Scanner sc=new Scanner(System.in);
	String str;
	str=sc.nextLine();

	ArrayList<String> ans=SubSeq(str);
	for(int i=0;i<ans.size();i++)
	{
		System.out.print(ans.get(i)+" ");
	}
	System.out.println();
    System.out.println(ans.size());

}

}

what to change?

hi @Kapsime_S
your code is correct but the problem is with ordering so just do this

for(int i=0;i<rec.size();i++)
{

	myres.add(rec.get(i));

}
for(int i=0;i<rec.size();i++)
{
	
	myres.add(c+rec.get(i));

}