def matmul(a, b):
    """
    Multipy two matrices
    :param a: list of list of floats
    :param b: list of list of floats
    :return: resulting matrix
    """
    res = []
    for r_idx, a_r in enumerate(a):
        res_row = [
            sum([a_v * b_r[b_idx] for a_v, b_r in zip(a_r, b)])
            for b_idx in range(len(b[0]))
        ]
        res.append(res_row)
    return res