<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def join( self, words, sep=None, sep_spaced=True, final_sep=None, conj="and", conj_spaced=True, ):
 """ Join words into a list. e.g. join(['ant', 'bee', 'fly']) returns 'ant, bee, and fly' options: conj: replacement for 'and' sep: separator. default ',', unless ',' is in the list then ';' final_sep: final separator. default ',', unless ',' is in the list then ';' conj_spaced: boolean. Should conj have spaces around it """

        if not words:
            return ""
        if len(words) == 1:
            return words[0]

        if conj_spaced:
            if conj == "":
                conj = " "
            else:
                conj = " %s " % conj

        if len(words) == 2:
            return "{}{}{}".format(words[0], conj, words[1])

        if sep is None:
            if "," in "".join(words):
                sep = ";"
            else:
                sep = ","
        if final_sep is None:
            final_sep = sep

        final_sep = "{}{}".format(final_sep, conj)

        if sep_spaced:
            sep += " "

        return "{}{}{}".format(sep.join(words[0:-1]), final_sep, words[-1])