<｜begin▁of▁sentence｜>### Instruction:
Given a graph whose edge set is [('a', 'b'), ('b', 'c'), ('a', 'c'), ('c', 'd')], can you convert the node labels to integers starting from 0 using the 'convert_node_labels_to_integers' function from NetworkX? Also, ensure that the original node labels are stored in a node attribute named 'old_label'.
### Response:
import networkx as nx

# Create a graph
G = nx.Graph()
G.add_edges_from([('a', 'b'), ('b', 'c'), ('a', 'c'), ('c', 'd')])

# Convert node labels to integers starting from 0
H = nx.convert_node_labels_to_integers(G, first_label=0, ordering='default', label_attribute='old_label')

# Print the nodes of the new graph
print('Nodes of H:', H.nodes(data=True))
# Print the edges of the new graph
print('Edges of H:', H.edges())
<|EOT|>
