You are given `n` balloons, indexed from `0` to `n - 1`. Each balloon is painted with a number on it represented by the array `nums`. You are asked to burst all the balloons.
If you burst the `i`th balloon, you will get `nums[i - 1] * nums[i] * nums[i + 1]` coins. If `i - 1` or `i + 1` goes out of bounds of the array, treat it as if there is a balloon with a `1` painted on it.
Return the **maximum** coins you can collect by bursting the balloons wisely.