Problem1 and 2 done.