For problem statement at 1000-1999/1700-1799/1780-1789/1789/problemC.txt this is a correct solution, but verifier at 1000-1999/1700-1799/1780-1789/1789/verifierC.go ends with All tests passed. can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
"strconv"
"strings"
)
func solve() {
scanner := bufio.NewScanner(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var tokens []string
for scanner.Scan() {
line := scanner.Text()
if line == "" {
continue
}
tokens = append(tokens, strings.Fields(line)...)
}
ptr := 0
nextInt := func() int {
val, _ := strconv.Atoi(tokens[ptr])
ptr++
return val
}
t := nextInt()
for tc := 0; tc < t; tc++ {
n := nextInt()
m := nextInt()
maxV := n + m
a := make([]int, n+1)
start := make([]int, maxV+1)
freq := make([]int64, maxV+1)
for i := range start {
start[i] = -1
}
for i := 1; i <= n; i++ {
val := nextInt()
a[i] = val
start[val] = 0
}
for ver := 1; ver <= m; ver++ {
p := nextInt()
v := nextInt()
old := a[p]
duration := ver - start[old]
freq[old] += int64(duration)
start[old] = -1
a[p] = v
start[v] = ver
}
for i := 1; i <= n; i++ {
val := a[i]
if start[val] != -1 {
duration := m - start[val] + 1
freq[val] += int64(duration)
start[val] = -1
}
}
var inter int64 = 0
for v := 1; v <= maxV; v++ {
f := freq[v]
if f >= 2 {
inter += f * (f - 1) / 2
}
}
totalPairs := int64(m+1) * int64(m) / 2
ans := 2*int64(n)*totalPairs - inter
fmt.Fprintln(writer, ans)
}
}
func main() {
solve()
}
```