def join_with_and(strings):
    """Join a list of strings.

    >>> join_with_and(['a','b','c'])
    'a, b, and c'
    >>> join_with_and(['a','b'])
    'a and b'
    >>> join_with_and(['a'])
    'a'
    """
    ret = [strings[0]]
    for i, s in enumerate(strings[1:]):
        if len(strings) > 2:
            ret.append(', ')
        else:
            ret.append(' ')
        if i == len(strings) - 2:
            ret.append('and ')
        ret.append(s)
    return ''.join(ret)
