<｜begin▁of▁sentence｜>### Instruction:
Given a graph with edge set [('A', 'B', 1), ('B', 'C', 1), ('C', 'D', 1), ('D', 'E', 1), ('E', 'F', 1), ('A', 'C', 10), ('C', 'E', 10)], find an approximation to the minimum Steiner tree connecting the terminal nodes ['A', 'D', 'F'].
### Response:
import networkx as nx
from networkx.algorithms.approximation import steiner_tree

G = nx.Graph()
G.add_weighted_edges_from([('A', 'B', 1), ('B', 'C', 1), ('C', 'D', 1), ('D', 'E', 1), ('E', 'F', 1), ('A', 'C', 10), ('C', 'E', 10)])

terminal_nodes = ['A', 'D', 'F']

S = steiner_tree(G, terminal_nodes)
print(S.edges(data=True))
<|EOT|>
