Matrix multiplication

Your task is to write a function that performs matrix multiplication in Rust. The function signature should look like this:

fn multiply_matrices(a: &Vec<Vec<i32>>, b: &Vec<Vec<i32>>) -> Vec<Vec<i32>> {
    // Your code
}

Your code should check that the matrices have the right dimensions.

There are different ways to represent 2-D arrays in Rust, here we chose the type &Vec<Vec<i32>>. When you finish this exercice, feel free to explore other possible representations (e.g ndarray::arr2).

Usage example:

fn main() {
    let matrix_a = vec![
        vec![1, 2, 3],
        vec![4, 5, 6],
    ];

    let matrix_b = vec![
        vec![7, 8],
        vec![9, 10],
        vec![11, 12],
    ];

    let result_matrix = multiply_matrices(&matrix_a, &matrix_b);

    // Print the result
}