My code is throwing runtime error on submission

import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner s=new Scanner(System.in);
int t=s.nextInt();
while(t>0){
int n=s.nextInt();
int [] arr=new int [n];
for(int i=0;i<n;i++){
arr[i]=s.nextInt();
}
int [] result=arrange(arr,0,n-1);
for(int i=0;i<result.length;i++){
System.out.print(result[i]+"");
}
t-=1;
}
}
public static int [] arrange(int [] arr,int s,int e){
if(s==e){
return new int []{arr[s]};
}
int mid=(s+e)/2;
int [] res1=arrange(arr,s,mid);
int [] res2=arrange(arr,mid+1,e);
int [] mixed=new int[res1.length+res2.length];
int i=0;
int j=0;
int k=0;

	while(i<res1.length && j<res2.length){
		String a=Integer.toString(res1[i])+Integer.toString(res2[j]);
		String b=Integer.toString(res2[j])+Integer.toString(res1[i]);
		int x=Integer.parseInt(a);
		int y=Integer.parseInt(b);
		if(x>y){
			mixed[k]=res1[i];
			i+=1;
			k+=1;
		}
		else{
			mixed[k]=res2[j];
			k+=1;
			j+=1;
		}
	}
	while(i<res1.length){
		mixed[k]=res1[i];
		i+=1;
		k+=1;
	}
	while(j<res2.length){
		mixed[k]=res2[j];
		j+=1;
		k+=1;
	}
	return mixed;
}

}

//on giving custom input it is working fine.please have a look and help me

  1. print answer for each test case in a new line.
  2. for larger test case you ll get java.lang.NumberFormatException
    this is because for Integer.parseInt(str); the maximum possible value of integer can be 127, but the value in the string is larger which is out of range, so this will throw the exception.
    use
long val1int = new Long(val1);
long val2int = new Long(val2);

this will pass the test cases
please mark your doubt as resolved :slight_smile: