What is the problem in my code it is giving right ouput but two testcases failed

import java.util.*;
// 3 4 5 7 6
// 1 0 2 9
public class Main {

static void sumOfTwoArray(int arr1[],int arr2[],int sum[]){
  int i = arr1.length-1; // assign i pointer to end of arr1 array
  int j = arr2.length-1; // assign j pointer to end of arr2 array
  int k = sum.length-1;  // assign k pointer to end of sum array
  int carry=0;
  int digit=0;

  while(k>=0){
     digit = carry;
	 if(i>=0){
		 digit = digit + arr1[i];
	 }
	 if(j>=0){
		 digit = digit + arr2[j];
	 }
     carry = digit / 10;
	 digit = digit % 10;
	 sum[k] = digit;
	 i--;  // decremement i by one
	 j--;  // decremement j by one
	 k--;  // decremement k by one
  }

  if(carry!=0){
	  System.out.print(carry);
  }
  for(int val : sum){
	  System.out.print(val+", ");
  }
  System.out.print("END");
}

public static void main (String args[]) {
	Scanner sc = new Scanner(System.in);
	// take input for size of 1st array;
	int size1 = sc.nextInt();
	int[] arr1 =  new int[size1];
	for(int i=0 ; i<arr1.length ; i++){
		arr1[i] = sc.nextInt();
	} 
    
	// take input for size of 2nd array
	int size2 = sc.nextInt();
	int[] arr2 = new int[size2];
	for(int i=0 ; i<arr2.length ; i++){
        arr2[i] = sc.nextInt();
	}

    // create sum array
	int[] sum = new int[ size1 > size2 ? size1 : size2 ];

	 
	sumOfTwoArray(arr1,arr2,sum);

}

}

hey @nigamshubham1998
try for this input
2
3 3
2
9 9
its correct output is
1, 3, 2 , END
your codes gives
13, 2, END