Write a Python function combinations(n, k) that takes two non-negative integers n and k as input and returns the number of possible combinations you can choose from n distinct objects, taking k at a time. For example, the number of possible 3 letter words picked out of 5 letters abcde can be calculated as C(5,3) also called 5 choose 3 and is 10. They are abc abd abe acd ace ade bcd bce bde cde We want to take a recursive approach to do this. The key is the property of combination that says C(n,k) = C(n-1,k) C(n-1,k-1) C(n-1,k): represents the number of cases in which the last element is excluded. Thus picking all k choices from n-1 elements C(n-1,k-1): represents the number of cases in which the last element is automatically included, so picking the rest of k-1 choices from the n-1 available elements Implement the recursive function using the formula above. Here are some hints for your base case: If k=0, there is only one way of choosing no elements so C(n,0) = 1 If n=0, there are no elements to choose from so C(0,k) = 0