For this Question: Given an array of N elements and a number K. The task is to arrange array elements according to the absolute difference with K, i. e., element having minimum difference comes first and so on.


Note : If two or more elements are at equal distance arrange them in same sequence as in the given array.First line of input contains a single integer T which denotes the number of test cases. Then T test cases follows. First line of test case contains two space separated integers N and K. Second line of each test case contains N space separated integers.

Constraints:
1 <= T <= 100
1 <= N <= 10^5
1 <= K <= 10^4
1 <= A[i] <= 10^4

Sum of N over all test cases does not exceed 2*10^5For each test case print the given array in the order as described above.Input:
3
5 7
10 5 3 9 2
5 6
1 2 3 4 5
4 5
2 6 8 3

Output:
5 9 10 3 2
5 4 3 2 1
6 3 2 8

Explanation:
Testcase 1: Sorting the numbers accoding to the absolute difference with 7, we have array elements as 5, 9, 10, 3, 2.
Testcase 2: Sorting the numbers according to the absolute difference with 6, we have array elements as 5 4 3 2 1.
Testcase 3: Sorting the numbers according to the absolute difference with 5, we have array elements as 6 3 2 8., I have written this Solution Code: import java.io.*;
import java.util.*;



class Main {
     public static void main (String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int t = Integer.parseInt(br.readLine().trim());
		while(t-->0){
		    String inputLine[] = br.readLine().trim().split(" ");
		    int n = Integer.parseInt(inputLine[0]);
		    int x = Integer.parseInt(inputLine[1]);

		    int arr[] =  new int[n];
		    inputLine = br.readLine().trim().split(" ");
		    for(int i=0; i<n; i++){
		        arr[i] = Integer.parseInt(inputLine[i]);
		    }
		    new Solution().sortABS(arr,n, x);
		    StringBuilder sb = new StringBuilder();
		    for(int y : arr)
		        sb.append(y+ " ");
		    System.out.println(sb.toString());

		}
	}
}





class Solution
{

    static void sortABS(int arr[], int n,int k)
    {

        List<Integer> aux=new ArrayList<>();
        Sort obj=new Sort();
        obj.k=k;
        int j=0;

        for(int i:arr)
            aux.add(i);
        Collections.sort(aux, obj);
        for(int i:aux)
            arr[j++]=i;
    }
}

class Sort implements Comparator<Integer> {



    Integer k;
    public int compare(Integer a, Integer b)
    {

        return Math.abs(a-k) - Math.abs(b-k);
    }
}, In this Programming Language: Java, Now tell me if this Code is compilable or not?