For problem statement at 1000-1999/1200-1299/1200-1209/1209/problemD.txt this is a correct solution, but verifier at 1000-1999/1200-1299/1200-1209/1209/verifierD.go ends with All tests passed can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
)
type DSU struct {
parent []int
}
func NewDSU(n int) *DSU {
p := make([]int, n)
for i := 0; i < n; i++ {
p[i] = i
}
return &DSU{parent: p}
}
func (d *DSU) Find(x int) int {
if d.parent[x] != x {
d.parent[x] = d.Find(d.parent[x])
}
return d.parent[x]
}
func (d *DSU) Union(x, y int) {
xr := d.Find(x)
yr := d.Find(y)
if xr != yr {
d.parent[yr] = xr
}
}
func main() {
r := bufio.NewReader(os.Stdin)
w := bufio.NewWriter(os.Stdout)
defer w.Flush()
var n, k int
fmt.Fscan(r, &n, &k)
dsu := NewDSU(n)
for i := 0; i < k; i++ {
var x, y int
fmt.Fscan(r, &x, &y)
x--
y--
dsu.Union(x, y)
}
components := make(map[int]struct{})
for i := 0; i < n; i++ {
components[dsu.Find(i)] = struct{}{}
}
c := len(components)
fmt.Fprintln(w, k-n+c)
}
```