ip_node([S,R,C], L) :- member(L2, L), member([S,R,C],L2), number(S).

addColIndex([[S,R]|T], [[S,R,C] | T2] , C) :- C1 is C + 1, addColIndex(T, T2, C1), !.
addColIndex([],[], _).

addIndices([H|T], [LRC | LN], R) :- findall([X,R], member(X,H), LR), addColIndex(LR, LRC, 1), R1 is R+1, addIndices(T, LN, R1), !. 
addIndices([], [], _).

createIPList(L, IP) :- addIndices(L, L2, 1), findall([S,X,Y], ip_node([S,X,Y], L2), IP).

