Consider the evaluation of the following expression tree on a machine with RISC architecture. Variables p, q, r, s, t, u and v are initially stored in memory. Binary operations can be performed only when all operands are in registers. The result is also produced in a register. What is the minimum number of registers needed to evaluate the expression, when no intermediate result can be stored in memory?

A. 3

B. 4

C. 5

D. 6