Please solve the programming task below using a self-contained code snippet in a markdown code block.

You are given an array prices where prices[i] is the price of a given stock on the ith 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).
 
Please complete the following python code precisely:
```python
class Solution:
    def maxProfit(self, prices: List[int]) -> int:
```