<｜begin▁of▁sentence｜>### Instruction:
Given an undirected graph with an edge set [(0, 2), (0, 1), (1, 2), (1, 3), (3, 4), (4, 5), (5, 3)], can you use the community_multilevel function in igraph to detect and print the community structure of the graph?
### Response:
from igraph import Graph, plot

# Create a graph
edges = [(0, 2), (0, 1), (1, 2), (1, 3), (3, 4), (4, 5), (5, 3)]
g = Graph(edges)

# Find the community structure
communities = g.community_multilevel()

# Print the detected communities
print(communities)

# Optional: Visualize the communities
# color_dict = {0: 'blue', 1: 'green', 2: 'red', 3: 'yellow', 4: 'black'}
# visual_style = {'vertex_color': [color_dict[comm] for comm in communities.membership]}
# plot(g, **visual_style)
<|EOT|>
