private static Comparable[ ] merge(Comparable d1[],Comparable d2[]){
        Comparable[] arr = new Comparable[d1.length+d2.length];

        int i=0,j=0;
        int curr = 0;

        while(i < d1.length && j < d2.length)
            if(d1[i].compareTo(d2[j])<0)
                arr[curr++] = d1[i++];
            else
                arr[curr++] = d2[j++];

        while(i<d1.length)
            arr[curr++] = d1[i++];

        while(j<d2.length)
            arr[curr++] = d2[j++];

        return arr;
    }