vecswap
vecswap(a, pb - r, r);
vecswap(pb, pn - r, r);
vecswap(a, pb - d1, d1);
vecswap(pb, pn - d1, d1);