Can Someone tell me a failing testcase for my solution for Digit Space

where is this code wrong?




import java.util.*;
import java.lang.*;
import java.io.*;

class Codechef
{
	public static void main (String[] args) throws java.lang.Exception
	{
		Scanner sc=new Scanner(System.in);
		int t=sc.nextInt();
		while(t-->0){
		    int x=sc.nextInt();
		    int y=sc.nextInt();
		    Set<String> st=new HashSet<>();
		    Set<String> st1=new HashSet<>();
		    String sx=""+x;
		    int n=sx.length();
		    boolean vis[]=new boolean[n];
		    permutation(sx,new StringBuilder(),vis,n,st);
		    String sy=""+y;
		    int m=sy.length();
		    boolean vis1[] =new boolean[m];
		    permutation(sy,new StringBuilder(),vis1,m,st1);
		    int[] arr1=new int[st.size()];
		    int[] arr2=new int [st1.size()];
		    
		    int i=0;
		    for(String s:st)
		    arr1[i++]=Integer.parseInt(s);
		    i=0;
		    for(String s:st1)
		    arr2[i++]=Integer.parseInt(s);
		    int gcd=1;
		    for( i=0;i<arr1.length;i++){
		        for(int j=0;j<arr2.length;j++){
		            gcd=Math.max(gcd(arr1[i],arr2[j]),gcd);
		        }
		    }
		    System.out.println(gcd);
		    
		}
	}
	public static void permutation(String sx,StringBuilder s,boolean[] vis,int n,Set<String> st){
	    if(n==s.length()){
	        st.add(s.toString());
	        return;
	    }
	    for(int i=0;i<n;i++){
	        if(!vis[i]){
	            s.append(""+sx.charAt(i));
	            vis[i]=true;
	            permutation(sx,s,vis,n,st);
	            vis[i]=false;
	           // System.out.println(s);
	            s.deleteCharAt(s.length()-1);
	        }
	    }
	}
	public static int gcd(int a,int b){
	    if(a<b){
	         a=a^b;
	         b=a^b;
	         a=a^b;
	    }
	    while(a>0&&b>0){
	        if(a%b==0)
	        return b;
	        int temp=a;
	        a=b;
	        b=temp%b;
	    }
	    return 1;
	}
}