<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def compute_fat_line(nodes):
 """Compute the "fat line" around a B |eacute| zier curve. Both computes the implicit (normalized) form .. math:: ax + by + c = 0 for the line connecting the first and last node in ``nodes``. Also computes the maximum and minimum distances to that line from each control point. Args: nodes (numpy.ndarray):
 ``2 x N`` array of nodes in a curve. Returns: Tuple[float, float, float, float, float]: The 5-tuple of * The :math:`x` coefficient :math:`a` * The :math:`y` coefficient :math:`b` * The constant :math:`c` * The "minimum" distance to the fat line among the control points. * The "maximum" distance to the fat line among the control points. """

    coeff_a, coeff_b, coeff_c = compute_implicit_line(nodes)
    # NOTE: This assumes, but does not check, that there are two rows.
    _, num_nodes = nodes.shape
    d_min = 0.0
    d_max = 0.0
    for index in six.moves.xrange(1, num_nodes - 1):  # Only interior nodes.
        curr_dist = (
            coeff_a * nodes[0, index] + coeff_b * nodes[1, index] + coeff_c
        )
        if curr_dist < d_min:
            d_min = curr_dist
        elif curr_dist > d_max:
            d_max = curr_dist
    return coeff_a, coeff_b, coeff_c, d_min, d_max