def pack_factorisation(facto_list):
_sum = []<EOL>for f in facto_list:<EOL><INDENT>if isinstance(f, Script):<EOL><INDENT>_sum.append(f)<EOL><DEDENT>else:<EOL><INDENT>_sum.append(MultiplicativeScript(children=(pack_factorisation(l_f) for l_f in f)))<EOL><DEDENT><DEDENT>if len(_sum) == <NUM_LIT:1>:<EOL><INDENT>return _sum[<NUM_LIT:0>]<EOL><DEDENT>else:<EOL><INDENT>return AdditiveScript(children=_sum)<EOL><DEDENT>
:param facto_list: list of parser or tuple of factorisation
:return: