recursive version of matrix multiply strategy