Highly Readable Code with 3 functions
IntuitionApproachGet min Pair returns the first index of the minimum pair. This index can be used to pop both values while also using the same index to insert t
# Intuition
<!-- Describe your first thoughts on how to solve this problem. -->

# Approach
<!-- Describe your approach to solving the problem. -->
Get min Pair returns the first index of the minimum pair. This index can be used to pop both values while also using the same index to insert the new sum. The reason the same index can be used for all 3 operations is that the array keeps shifting to that index of interest.
# Complexity
- Time complexity:
<!-- Add your time complexity here, e.g. $$O(n)$$ -->
In the worst case O(n^2) since array.pop takes n time and there is a while loop that could take n/2 time in the worst case (when max operations are needed)
This worst case is unlikely though.
- Space complexity:
<!-- Add your space complexity here, e.g. $$O(n)$$ -->

# Code
```python3 []
class Solution:
    def isNotSorted(nums: List[int]):
        prev = nums[0]
        for n in nums:
            if prev>n:
                return True
            prev = n
        return False

    def getMinPair(nums: List[int]):
        mSum = sys.maxsize
        ind = -1
        for i in range(len(nums)-1):
            sum = nums[i] + nums[i+1]
            if mSum > sum:
                mSum = sum
                ind = i
        return ind
        
    def minimumPairRemoval(self, nums: List[int]) -> int:
        ops = 0
        while Solution.isNotSorted(nums):
            ind = Solution.getMinPair(nums)
            n1 = nums.pop(ind)
            n2 = nums.pop(ind)
            nums.insert(ind,n1+n2)
            ops +=1
        return ops

        
        
```
['Python3']