<｜begin▁of▁sentence｜>### Instruction:
Given a bipartite random graph generator, can you create an undirected bipartite random graph with 5 nodes in the first set, 10 nodes in the second set, and a probability of 0.3 for edge creation? After creating the graph, can you identify the two sets of nodes?
### Response:
import networkx as nx
from networkx.algorithms import bipartite
B = bipartite.random_graph(n=5, m=10, p=0.3, seed=42, directed=False)
top_nodes = {n for n, d in B.nodes(data=True) if d['bipartite']==0}
bottom_nodes = set(B) - top_nodes
print('Top nodes:', top_nodes)
print('Bottom nodes:', bottom_nodes)
<|EOT|>
