Fast Monte Carlo Algorithms for Matrices I: Approximating Matrix Multiplication | Synapse