My simulator wasn't working well yesterday. Your solution is correct.
Please forgive my blockheadedness...
I am still curious what your design process was. I would have taken the approach I used in my previous post. I made an encoder that would convert 3 inputs to a binary number and then used adders to add their outputs.