<｜begin▁of▁sentence｜>### Instruction:
Generate two random unlabeled rooted forests, each with 10 nodes and with no more than 3 nodes per tree. Use a pseudo-random number generator with a seed value of 42 to ensure reproducibility. Print the edges of each forest and identify their roots.
### Response:
import networkx as nx

# Use the random_unlabeled_rooted_forest function
trees = nx.random_trees.random_unlabeled_rooted_forest(n=10, q=3, number_of_forests=2, seed=42)

# Iterate through the list of forests and print the edges and roots
for i, forest in enumerate(trees):
    print(f'Forest {i + 1}:')
    print('Edges:', forest.edges())
    print('Roots:', forest.graph['roots'])
    print('-' * 20)
<|EOT|>
