<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def sparse_meshgrid(*x):
 """Make a sparse `meshgrid` by adding empty dimensions. Parameters Input arrays to turn into sparse meshgrid vectors. Returns ------- meshgrid : tuple of `numpy.ndarray`'s Sparse coordinate vectors representing an N-dimensional grid. See Also -------- numpy.meshgrid : dense or sparse meshgrids Examples -------- array([2, 3, 4, 3, 4, 5]) """

    n = len(x)
    mesh = []
    for ax, xi in enumerate(x):
        xi = np.asarray(xi)
        slc = [None] * n
        slc[ax] = slice(None)
        mesh.append(np.ascontiguousarray(xi[tuple(slc)]))

    return tuple(mesh)