from graphviz import Digraph

def create_family_tree(husbands, wives, children):
    family_tree = Digraph('FamilyTree', filename='doctest-output/my_family_tree.gv', format='svg', node_attr={'size': '6,6', 'fillcolor': 'lightblue2', 'style': 'filled', 'shape': 'record'})
    family_tree.attr(fillcolor='lightblue2', rank='same', label='My Family Tree', labelloc='t')

    for husband, wife in zip(husbands, wives):
        family_tree.node(husband, label=f"{husband} | {wife}")

    for parent, kids in children.items():
        for child in kids:
            family_tree.node(child)
            family_tree.edge(parent, child)

    family_tree.render(filename='doctest-output/my_family_tree.gv', format='svg', view=True)

husbands = ["Malik✅", "Cecil", "Sultan"]
wives = ["Mehwish", "Miriam", "Sultana"]
children = {"Malik✅": ["Sultan", "Usman"], "Cecil": ["Margaret", "Christina"], "Sultan": ["Lilly", "Adam"]}

family_tree = create_family_tree(husbands, wives, children)
