Erlang Mini Project #2 Distributed 11/23/2015 Due 12/2/2015 Implement the following in Erlang (1) count(X, L) return the number of times X appears in the list L (at the top level of L) count (2, [2, 3, 2, 1, 2, 5]) ----> 3 count (a, [ a, b, c, d]) ----> 1 count (a, [ [a, a], b, {a, b, c}]) ----> 0 %% only consider top level of L (2) substring ( L1, L2 ) return the index (index starts at 0), where the first list appears in the second list substring ([2, 3, 4], [0, 1, 2, 3, 4, 3, 4 ]) ----> 2 substring ([1, 7], [0, 1, 2, 3, 1, 7, 6]) ----> 4 substring ([1], [3, 2, a, {1, 1}, 1] ----> 4 (3) get_last (L) return the final element in the list get_last ([1, 2, 3, 5]) ----> 5 Give code, using the function names given above. You can define multiple function to simplify the implementation of 1 - 3 above. Functions must use recursion. Show output for (1-3) that has demonstrates the correct functioning of the code. That will include demonstrations of base cases and recursive calls.