def main(arr, mink, maxk):
    n = len(arr)
    minkIndex = -1
    maxkIndex = -1
    wall = -1
    ans = 0
    
    for i in range(n):
        ele = arr[i]
        
        # 1. The Wall Condition
        if (ele < mink or maxk < ele):
            if minkIndex != -1 and maxkIndex != -1:
                x = min(minkIndex, maxkIndex) - wall - 1
                y = i - max(minkIndex, maxkIndex) - 1
                ans += (x + y + 1 + x * y)
                
            wall = i
            minkIndex = -1
            maxkIndex = -1
            
        else:
            # 2. Harmless Padding
            if (mink < ele and ele < maxk):
                continue
                
            # 3. The minK == maxK Custom Bypass Edge Case
            elif (mink == maxk and maxk == ele):
                x = i - wall - 1
                y = 0
                ans += (x + y + 1 + x * y)
                
            # 4. Standard Anchor Shifts
            else:
                if ele == mink:
                    if maxkIndex == -1:
                        minkIndex = i
                    elif maxkIndex != -1 and minkIndex == -1:
                        minkIndex = i
                    else:
                        x = min(minkIndex, maxkIndex) - wall - 1
                        y = i - max(minkIndex, maxkIndex) - 1
                        ans += (x + y + 1 + x * y)
                        minkIndex = i
                        
                else: # ele == maxk
                    if minkIndex == -1:
                        maxkIndex = i
                    elif minkIndex != -1 and maxkIndex == -1:
                        maxkIndex = i
                    else:
                        x = min(minkIndex, maxkIndex) - wall - 1
                        y = i - max(minkIndex, maxkIndex) - 1
                        ans += (x + y + 1 + x * y)
                        maxkIndex = i

    # 5. Final Cliff Edge Tally
    if minkIndex != -1 and maxkIndex != -1:
        x = min(minkIndex, maxkIndex) - wall - 1
        y = n - 1 - max(minkIndex, maxkIndex)
        ans += (x + y + 1 + x * y)
        
    return ans