I tried to do the monster one, i have no experience with boolean functions or circuit design but here is what i came up with

if and represent 2, 2-digit binary numbers, then

addition can be done as follows with the result being a 3 bit binary number

(OR

this adds 2 digit binary numbers. I used 3 half adders to get this. I dont know if it could be done more simply

and multiplication can be done by just using the AND operator on every pair you get from this cross product and then adding a 2 bit binary to a one bit binary (addition using the above method by using 0 for the leading digit of one 2 bit number).

For ex

11

x 11

-----------

11 ----(save this digit without any operation and add 11 + 01 using the addition method above)

11x (+)

------------

1001