For problem statement at 0-999/700-799/770-779/770/problemC.txt this is a correct solution, but verifier at 0-999/700-799/770-779/770/verifierC.go ends with All 100 tests passed can you fix the verifier? ```go
package main
import "fmt"
func main() {
var n, k int
fmt.Scan(&n, &k)
mains := make([]int, k)
for i := 0; i < k; i++ {
fmt.Scan(&mains[i])
}
adjG := make([][]int, n+1)
adjR := make([][]int, n+1)
indegree := make([]int, n+1)
for i := 1; i <= n; i++ {
var ti int
fmt.Scan(&ti)
for j := 0; j < ti; j++ {
var x int
fmt.Scan(&x)
adjG[x] = append(adjG[x], i)
adjR[i] = append(adjR[i], x)
indegree[i]++
}
}
visited := make([]bool, n+1)
q := []int{}
var countS int
for _, m := range mains {
if !visited[m] {
visited[m] = true
q = append(q, m)
countS++
}
}
head := 0
for head < len(q) {
u := q[head]
head++
for _, v := range adjR[u] {
if !visited[v] {
visited[v] = true
q = append(q, v)
countS++
}
}
}
tq := []int{}
for i := 1; i <= n; i++ {
if visited[i] && indegree[i] == 0 {
tq = append(tq, i)
}
}
order := []int{}
processed := 0
thead := 0
for thead < len(tq) {
u := tq[thead]
thead++
order = append(order, u)
processed++
for _, v := range adjG[u] {
if visited[v] {
indegree[v]--
if indegree[v] == 0 {
tq = append(tq, v)
}
}
}
}
if processed != countS {
fmt.Println(-1)
} else {
fmt.Println(countS)
for i, c := range order {
if i > 0 {
fmt.Print(" ")
}
fmt.Print(c)
}
fmt.Println()
}
}
```