Let us understand this question and try to know why conflict occurs in LL(1) parser despite being non left recursive and non left factored..This happens in 2 scenarios :
A) When we have choice in productions and they are originating from same variables , if first of 2 productions have something in common , then both these productions will have to be placed into same column(terminal which is common in first of 2 productions and same row(variable which is responsible for the productions)..So in that case conflict will occur..
Said in other way , if they are disjoint , then we have only one possibility and that is due to null productions in which case we have to place in follow of lhs of production..In that case there may be collision also.
But in the question it is given : " all non-empty rules " indicating that they will not produce epsilon..
Hence the parser(grammar) is guaranteed to be LL(1)..
Hence A) is the correct answer..