Solved #2 and #3, Started #4