private static final void parent(long[] x, long[] p) {
        copy(x,p);
        if(isRoot(x)) return;
        if(isLeft(x)) {p[end] = x[end]+(x[end]-x[beg]);} else {p[beg] = x[beg]-(x[end]-x[beg]);};
    }