5 Peter: (set! balance (+ balance 10))
6 Paul: (set! balance (- balance 20))
7 Mary: (set! balance (- balance (/ balance 2)))
13 c. Mary withdraws half of balance.
15 100 + 10 - 20 = 90 -> 90/2 -> $45
20 b. Mary withdraws half of balance.
23 100 + 10 -> 55 - 20 -> $35
29 c. Mary withdraws half of balance.
31 100 - 20 + 10 -> 110 /2 -> $55
36 b. Mary withdraws half of balance.
39 100 - 20 => 80 / 2 => 40 + 10 => 50
43 a. Mary withdraws half of balance.
47 100 / 2 => 50 + 10 - 20 => 40
51 a. Mary withdraws half of balance.
55 100 / 2 => 50 - 20 + 10 => 40
61 Balance could take many values if the three transactions are allowed to
64 It could be 110, 80 or 50 if one of them mutates the balance variable
65 at the end depending on which one manages to finish last. It could also
66 be that 2 of them work concurrently and the resultant value is processed
67 by the third transaction.