public int partition(int[] a,int begin,int end){
        int x = a[end];
        int i = begin-1;
        for (int j = begin; j < end; j++)
        {
            if (a[j]<=x)
            {
                i++;
                swap(a, i, j);
            }
        }
        i++;
        swap(a, i, end);
        return i;
    }