def abbrev(s, num=255, end="..."):
    """
    文章を要約する
    返す文字列の長さは、num以上にならないのを保証します。

    >>> abbrev('spamspamspam', 6)
    'spa...'
    >>> abbrev('spamspamspam', 12)
    'spamspamspam'
    >>> abbrev('eggseggseggs', 1)
    'e'
    >>> abbrev('eggseggseggs', 2)
    'eg'
    >>> abbrev('eggseggseggs', 3)
    'egg'
    >>> abbrev('eggseggseggs', 4)
    'e...'
    >>> abbrev('eggseggseggs', 2, '.')
    'e.'
    """
    index = num - len(end)
    if len(s) > num:
        s = (s[:index] + end) if index > 0 else s[:num]
    return s