<｜begin▁of▁sentence｜>### Instruction:
Given a weighted undirected graph with the edge set [(0, 1, 3), (1, 2, 2), (2, 3, 1), (0, 4, 5), (4, 5, 2), (3, 5, 4)], can you find the shortest path lengths from source nodes 0 and 5 to all other nodes using NetworkX?
### Response:
import networkx as nx

# Create a weighted graph
G = nx.Graph()
G.add_weighted_edges_from([(0, 1, 3), (1, 2, 2), (2, 3, 1), (0, 4, 5), (4, 5, 2), (3, 5, 4)])

# Find the shortest path lengths from multiple source nodes
sources = {0, 5}
length = nx.multi_source_dijkstra_path_length(G, sources, weight='weight')

# Output the shortest path lengths to all other nodes
for node in G.nodes():
    print(f"{node}: {length[node]}")
<|EOT|>
