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?