procedural programming – why not insert numbers in the list?

I am new in Mathematica and I have the following code:

cluster = {{2}}
list2 = {{1,2}, {1,2,3}}
addtoCluster[p_, k_] : =
Module[{i = 0, j = 0, o = 2},
For[I=1i[I=1i[i=1i[i=1i< Length[list2], i++, j = list2[[p, i]]; 
If[j > 0 && j! = P, Print[o];
cluster = Insert[cluster, j, {k, o++}]]]]

In my example, p = 2 and k = 1, the output must be the {2,1,3} cluster, but this is not the case because my result is cluster {2}. if I change from o to 1, it will insert the 1 in the first position, but not another number. If anyone knows why it is not properly inserted, it would be great thank you !!!