1. The following functions attempt to swap the contents of two lists. For each function state whether or not it works. If it doesn't work, explain why not. a. def list_swap1(a, b): temp = a a = b b = temp b. def list_swap2(a, b): temp = a[:] a = b[:] b = temp[:] c. def list_swap3(a, b): for i in range(len(a)): temp = a[i] a[i] = b[i] b[i] = temp 2. a. Chapter 5 problem 18. A "memory model" is just a drawing like we look at in class with variables utilizing arrows to show what a variable references. b. What does "print values" print? c. What does "print values[1]" print? d. What does "print values[1][1]" print? e. Why?