<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def mxvg(m1, v2, nrow1, nc1r2):
 """ Multiply a matrix and a vector of arbitrary size. http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/mxvg_c.html :param m1: Left-hand matrix to be multiplied. :type m1: NxM-Element Array of floats :param v2: Right-hand vector to be multiplied. :type v2: Array of floats :param nrow1: Row dimension of m1 and length of vout. :type nrow1: int :param nc1r2: Column dimension of m1 and length of v2. :type nc1r2: int :return: Product vector m1*v2 :rtype: Array of floats """

    m1 = stypes.toDoubleMatrix(m1)
    v2 = stypes.toDoubleVector(v2)
    nrow1 = ctypes.c_int(nrow1)
    nc1r2 = ctypes.c_int(nc1r2)
    vout = stypes.emptyDoubleVector(nrow1.value)
    libspice.mxvg_c(m1, v2, nrow1, nc1r2, vout)
    return stypes.cVectorToPython(vout)