PTA单身狗问题显示答案错误

package PTA;

import java.text.DecimalFormat;
import java.util.Arrays;
import java.util.Scanner;

public class Main31 {

    public static void main(String[] args) {
        DecimalFormat ok =new DecimalFormat("00000");
        Scanner sc= new Scanner(System.in);
        int N = sc.nextInt();
        int arr[] = new int[50005];
        int a[] = new int[50005];
       /* for (int i = 0; i < arr.length; i++) {
            arr[i] = -2;
            a[i] = -2;
        }*/
        for (int i = 1; i <= N*2; i++) {
            arr[i] = sc.nextInt();
        }
        int M = sc.nextInt();
        for (int i = 1; i <= M; i++) {
            a[i] = sc.nextInt();
        }
        Arrays.sort(a,1,M+1);
        int sum = 0;
        for (int i = 1; i <= N*2; i+=2) {
            int right = M;
            int left = 1;
            int mid = (right + left) / 2;
            while(true){
                if(left > right) break;
                else if(a[mid] > arr[i]){
                    right = mid - 1;
                    mid = (right + left) / 2;
                }
                else if(a[mid] < arr[i]){
                    left = mid + 1;
                    mid = (right + left) / 2;
                }
                else if(a[mid] == arr[i]) {
                    int right1 = M;
                    int left1 = 1;
                    int mid1 = (right1 + left1) / 2;
                    while(true){
                        if(left1 > right1) break;
                        else if(a[mid1] > arr[i+1]){
                            right1 = mid1 - 1;
                            mid1 = (right1 + left1) / 2;
                        }
                        else if(a[mid1] < arr[i+1]){
                            left1 = mid1 + 1;
                            mid1 = (right1 + left1) / 2;
                        }
                        else if(a[mid1] == arr[i+1]) {
                            a[mid] = -1;
                            a[mid1] = -1;
                            break;
                        }

                }
                    break;
                }

            }
        }
        for(int i = 1; i <= M; i++){
            if (a[i] == -1){
                continue;
            }
            sum++;
        }
        System.out.println(sum);
        for(int i = 1; i <= M; i++) {
            if (a[i] == -1) {
                continue;
            }
            if (sum == 1) {
                System.out.print(ok.format(a[i]));
            }
            else {
                System.out.print(ok.format(a[i])+" ");sum--;
            }
        }

    }
    }