def assemble_adjacency_list(lines: list) -> dict:
    """ Assemble the adjacency list from rough map / cave connectivity input"""
    
    src_dest_pairs = [tuple(line.split('-')) for line in lines]
    nodes = list(set([node for tup in src_dest_pairs for node in tup]))
    graph = dict().fromkeys(nodes, [])
    for src, dest in src_dest_pairs:
        if dest not in graph[src] and dest != 'start':
            graph[src] = [*graph[src], dest]
        if src not in graph[dest] and src != 'start':
            graph[dest] = [*graph[dest], src]
    return graph