<｜begin▁of▁sentence｜>### Instruction:
Given two separate graphs with edges (1, 2), (2, 3) for the first graph and (4, 5), (5, 6) for the second graph, how can you perform the disjoint union of these graphs using NetworkX, ensuring that the resulting graph has consecutively numbered integer nodes starting from 0?
### Response:
import networkx as nx

# Create two separate graphs
G1 = nx.Graph([(1, 2), (2, 3)])
G2 = nx.Graph([(4, 5), (5, 6)])

# Perform the disjoint union of all graphs
U = nx.disjoint_union_all([G1, G2])

# Print nodes and edges of the resulting graph
print('Nodes in U:', list(U.nodes()))
print('Edges in U:', list(U.edges()))
<|EOT|>
