<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def sentence(random=random, *args, **kwargs):
 """ Return a whole sentence "Agatha Incrediblebritches can't wait to smell two chimps in Boatbencheston." 'blistersecret-studios-is-the-best-company-in-liveronion' """

    if 'name' in kwargs and kwargs['name']:
        nm = kwargs(name)
    elif random.choice([True, False, False]):
        nm = name(capitalize=True, random=random)
    else:
        nm = random.choice(people)

    def type_one():
        return "{name} will {verb} {thing}.".format(name=nm,
                                                    verb=verb(random=random),
                                                    thing=random.choice([a_thing(random=random),
                                                                         things(random=random)]))

    def type_two():
        return "{city} is in {country}.".format(city=city(capitalize=True, random=random),
                                                country=country(capitalize=True, random=random))

    def type_three():
        return "{name} can't wait to {verb} {thing} in {city}.".format(name=nm,
                                                                      verb=verb(random=random),
                                                                      thing=a_thing(random=random),
                                                                      city=city(capitalize=True, random=random))

    def type_four():
        return "{name} will head to {company} to buy {thing}.".format(name=nm,
                                                                     company=company(capitalize=True, random=random),
                                                                     thing=a_thing(random=random))


    def type_five():
        return "{company} is the best company in {city}.".format(city=city(capitalize=True, random=random),
                                                                 company=company(capitalize=True, random=random))

    def type_six():
        return "To get to {country}, you need to go to {city}, then drive {direction}.".format(
            country=country(capitalize=True, random=random),
            city=city(capitalize=True, random=random),
            direction=direction(random=random))

    def type_seven():
        return "{name} needs {thing}, badly.".format(name=nm, thing=a_thing(random=random))

    def type_eight():
        return "{verb} {noun}!".format(verb=verb(capitalize=True, random=random), noun=noun(random=random))

    return random.choice([type_one,
                          type_two,
                          type_three,
                          type_four,
                          type_five,
                          type_six,
                          type_seven,
                          type_eight])()