<｜begin▁of▁sentence｜>### Instruction:
Given a directed graph with 5 vertices and the following edges: (0,1), (1,2), (2,3), (3,4), (0,4), how can you use the CairoArrowEdgeDrawer in igraph to draw the directed edges as arrows and save the graph image to a file named 'graph_with_arrows.png'?
### Response:
import igraph as ig
from igraph import plot

# Prepare the visual style for the plot
visual_style = {'vertex_size': 20}

# Create a directed graph with 5 vertices and some directed edges
g = ig.Graph(directed=True)
g.add_vertices(5)
g.add_edges([(0,1), (1,2), (2,3), (3,4), (0,4)])

# Initialize the CairoArrowEdgeDrawer
custom_edge_drawer = ig.CairoArrowEdgeDrawer()

# Create a plot object and set our custom edge drawer as the edge_drawer in the visual style
plot(g, 'graph_with_arrows.png', **visual_style, edge_drawer=custom_edge_drawer)
<|EOT|>
