tree = Tree(params["-i"])
    nbE = 1
    for n in tree.traverse():
        nbC = len(n.children)
        if nbC > 3:
            nbE *= dPsNbT[nbC]

    print "expanding will create", nbE, "topologies"
    if nbE > 1000000:
        print "More than 100000 topologies. Aborting to avoid potential memory hog."
        print "Use --force option to override."
        exit(1)

    print "expanding poytomies"

    try:
        TL = tree.expand_polytomies(polytomy_size_limit=params["-n"])
    except ete3.coretype.tree.TreeError as e:
        se = str(e)
        se = se.replace("\\n", "\n")
        print se
        #print e
        exit(1)

    print "generated", len(TL), "bifurcating trees"

    OUT = open(params["-o"], "w")
    for l in TL:
        OUT.write(l + "\n")
    OUT.close()