<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def summarize(urls):

 """
 Calls extract for each of the URLs,
 Returns the list of Extracted instances as summaries, 
 the result of the process, and the speed.
 """

    import time
    from summary import Summary


    fails = 0
    err = lambda e: e.__class__.__name__

    summaries = []
    start = time.time()
    for url in urls:
        try:
            print "-> %s" % url
            summary = Summary(url)
            summary.extract()
        except KeyboardInterrupt:
            break
        except Exception, e:
            fails += 1
            summary = {
                'titles': ["[%s]" % err(e)],
                'urls': [url],
                'descriptions': [str(e)],
                'source': url,
                }
            print "[%s] (%s): %s" % (err(e), e, url)
        summaries.append(summary)
        end = time.time()

    result = fails and "Fails: %s out of %s." % (fails, len(summaries)) \
        or "Success: %s." % len(summaries)
    print result

    duration = end - start
    speed = "%.2f" % (duration/len(summaries))

    return summaries, result, speed