the result sublists after the recursive calls return showby inductionthat (nis (nlognc- modify inplacequicksort (code fragment to handle the general case efficiently when the input sequencesmay have duplicate keys - describe nonrecursivein-place version of the quick-sort algorithm the algorithm should still be based on the same divide-and-conquer approachbut use an explicit stack to process subproblems your algorithm should also guarantee the stack depth is at most (lognc- show that randomized quick-sort runs in (nlogntime with probability at least /nthat iswith high probabilityby answering the followinga for ach input element xdefine ci, (xto be / random variable that is if and only if element is in subproblems that belong to size group argue why we need not define ci, for let xi, be / random variable that is with probability / jindependent of any other eventsand let log / argue why show the expected value of is at most show that the probability that / using the chernoff bound that states that if is the sum of finite number of independent / random variables with expected value then pr( ( / )where