<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def nearpt(positn, a, b, c):
 """ locates the point on the surface of an ellipsoid that is nearest to a specified position. It also returns the altitude of the position above the ellipsoid. http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/nearpt_c.html :param positn: Position of a point in bodyfixed frame. :type positn: 3-Element Array of floats :param a: Length of semi-axis parallel to x-axis. :type a: float :param b: Length of semi-axis parallel to y-axis. :type b: float :param c: Length on semi-axis parallel to z-axis. :type c: float :return: Point on the ellipsoid closest to positn, Altitude of positn above the ellipsoid. :rtype: tuple """

    positn = stypes.toDoubleVector(positn)
    a = ctypes.c_double(a)
    b = ctypes.c_double(b)
    c = ctypes.c_double(c)
    npoint = stypes.emptyDoubleVector(3)
    alt = ctypes.c_double()
    libspice.nearpt_c(positn, a, b, c, npoint, ctypes.byref(alt))
    return stypes.cVectorToPython(npoint), alt.value