<｜begin▁of▁sentence｜>### Instruction:
Given two graphs, G with edge set [(0, 1), (0, 2), (1, 2)] and H with edge set [(0, 1), (0, 3), (1, 3), (1, 2)], how do you combine these two graphs into a single graph, ensuring that the node names from the original graphs are preserved and uniquely identifiable in the combined graph?
### Response:
import networkx as nx

# Create two graphs
G = nx.Graph([(0, 1), (0, 2), (1, 2)])
H = nx.Graph([(0, 1), (0, 3), (1, 3), (1, 2)])

# Combine graphs G and H, renaming nodes to avoid name collisions
U = nx.union(G, H, rename=('G-', 'H-'))

print('Nodes of the union graph:', U.nodes())
print('Edges of the union graph:', U.edges())
<|EOT|>
