<prompt> Kuandika BFS katika C .  <response>: Here is an example implementation of BFS in C using an adjacency list to represent the graph:include include include using namespace std;void bfsvector graph, int start int n graph.size; vector visitedn, false; queue q; q.pushstart; visitedstart true; while !q.empty int node q.front; q.pop; Do something with the node e.g. print cout node ; for int neighbor : graphnode if !visitedneighbor q.pushneighbor; visitedneighbor true; int main int n, m; n number of nodes, m number of edges cin n m; Build the graph vector graphn; for int i 0; i m; i int a, b; cin a b; Add edge from a to b grapha.push_backb; Add edge from b to a if undirected graphb.push_backa; Perform BFS starting from node 0 bfsgraph, 0; return 0; This implementation takes in n number of nodes and m number of edges as user input, builds an adjacency list representation of the graph, and performs a BFS starting from node 0. During the BFS, the nodes are printed in the order they are visited. 