<｜begin▁of▁sentence｜>### Instruction:
Given a directed graph with vertices and edges, can you use the all_st_cuts function in igraph to find and print all the cuts between a specified source and target vertex?
### Response:
import igraph as ig

# Assuming g is a directed igraph graph
source_vertex = 0
target_vertex = 2
g = ig.Graph(directed=True)
g.add_vertices(3)
g.add_edges([(0, 1), (1, 2)])

# Find all source-target cuts
result = g.all_st_cuts(source_vertex, target_vertex)
cuts = result[0]
cut_vertices = result[1]

# Print the edge IDs and vertices for each cut
for edge_ids, vertices in zip(cuts, cut_vertices):
    print('Cut edges:', edge_ids)
    print('Separated vertices:', vertices)
<|EOT|>
