Version 1 of assignment 5a. Note that assignment operations appearing in the middle of an expression are currently not allowed