← Home
```go
package main

import (
    "bufio"
    "fmt"
    "os"
)

func main() {
    r := bufio.NewReader(os.Stdin)
    
    var n int
    fmt.Fscan(r, &n)
    
    freq := make(map[int]int)
    firstPos := make(map[int]int)
    lastPos := make(map[int]int)
    
    for i := 0; i < n; i++ {
        var x int
        fmt.Fscan(r, &x)
        freq[x]++
        if _, exists := firstPos[x]; !exists {
            firstPos[x] = i
        }
        lastPos[x] = i
    }
    
    maxFreq := 0
    for _, f := range freq {
        if f > maxFreq {
            maxFreq = f
        }
    }
    
    minLen := n + 1
    bestL, bestR := 0, 0
    
    for num, f := range freq {
        if f == maxFreq {
            length := lastPos[num] - firstPos[num] + 1
            if length < minLen {
                minLen = length
                bestL = firstPos[num]
                bestR = lastPos[num]
            }
        }
    }
    
    fmt.Println(bestL+1, bestR+1)
}
```