human
Solve the following python programming problem given the following code:
@ lower ('np.random.geometric', types.Float) 
def geometric_impl(context, builder, sig, args) : 
    _random = np.random.random 
    intty = builder.return_type 
    def geometric_impl(p) : 
        if ((p <= 0.0) or (p > 1.0)) : 
            raise ValueError ('geometric(): p outside of (0, 1]') 
q = (1.0 - p) 
        if (p >= 0.3333333333333333) : 
            X = intty (1) 
            sum = prod = p 
            U = _random () 
            while (U > sum) : 
                prod *= q 
                sum += prod 
                X += 1 
return X 
else : 
            return math.ceil ((math.log ((1.0 - _random ())) / math.log (q))) 
res = context.compile_internal (builder, geometric_impl, sig, args) 
    return impl_ret_untracked (context, builder, sig.return_type, res) 

    
    

    Fix the buggy line: intty = builder.return_type
assistant
#Here is Python program to fix the buggy line: intty = builder.

intty = sig.return_type