
You are given an array prices where prices[i] is the price of a given stock on the i ^th day.
Find the maximum profit you can achieve. You may complete at most two transactions .
Note: You may not engage in multiple transactions simultaneously (i.e., you must sell the stock before you buy again).
1 <= prices.length <= 10 ^50 <= prices[i] <= 10 ^5