Optimal Ordering Of Matrix Multiplication