<｜begin▁of▁sentence｜>### Instruction:
Given two graphs G1 with edges [(1, 2), (2, 3), (3, 4), (4, 1)] and G2 with edges [(10, 20), (20, 30), (30, 40), (40, 10)], can you determine if the two graphs are isomorphic and provide a mapping between their nodes if they are?
### Response:
import networkx as nx

# Create two graphs G1 and G2
G1 = nx.Graph()
G1.add_edges_from([(1, 2), (2, 3), (3, 4), (4, 1)])

G2 = nx.Graph()
G2.add_edges_from([(10, 20), (20, 30), (30, 40), (40, 10)])

# Call vf2pp_isomorphism
iso_map = nx.algorithms.isomorphism.vf2pp_isomorphism(G1, G2)

# Output the result
if iso_map:
    print(f'The graphs are isomorphic with the mapping: {iso_map}')
else:
    print('The graphs are not isomorphic.')
<|EOT|>
