← Home
For problem statement at 1000-1999/1200-1299/1210-1219/1211/problemF.txt this is a correct solution, but verifier at 1000-1999/1200-1299/1210-1219/1211/verifierF.go ends with All tests passed can you fix the verifier? ```go
package main

import (
	"bufio"
	"io"
	"os"
	"strconv"
)

type FastScanner struct {
	data []byte
	pos  int
	n    int
}

func NewFastScanner() *FastScanner {
	data, _ := io.ReadAll(os.Stdin)
	return &FastScanner{data: data, n: len(data)}
}

func (fs *FastScanner) skip() {
	for fs.pos < fs.n && fs.data[fs.pos] <= ' ' {
		fs.pos++
	}
}

func (fs *FastScanner) NextInt() int {
	fs.skip()
	sign := 1
	if fs.data[fs.pos] == '-' {
		sign = -1
		fs.pos++
	}
	val := 0
	for fs.pos < fs.n && fs.data[fs.pos] > ' ' {
		val = val*10 + int(fs.data[fs.pos]-'0')
		fs.pos++
	}
	return val * sign
}

func (fs *FastScanner) NextString() string {
	fs.skip()
	start := fs.pos
	for fs.pos < fs.n && fs.data[fs.pos] > ' ' {
		fs.pos++
	}
	return string(fs.data[start:fs.pos])
}

type Edge struct {
	to  int
	idx int
}

func startState(c byte) int {
	switch c {
	case 'k':
		return 0
	case 'o':
		return 1
	case 't':
		return 2
	case 'l':
		return 3
	case 'i':
		return 4
	default:
		return 5
	}
}

func main() {
	fs := NewFastScanner()
	n := fs.NextInt()

	adj := make([][]Edge, 6)

	for i := 1; i <= n; i++ {
		s := fs.NextString()
		st := startState(s[0])
		to := (st + len(s)) % 6
		adj[st] = append(adj[st], Edge{to: to, idx: i})
	}

	it := make([]int, 6)
	stackV := make([]int, 0, n+1)
	stackE := make([]int, 0, n)
	res := make([]int, 0, n)

	stackV = append(stackV, 0)

	for len(stackV) > 0 {
		v := stackV[len(stackV)-1]
		if it[v] < len(adj[v]) {
			e := adj[v][it[v]]
			it[v]++
			stackV = append(stackV, e.to)
			stackE = append(stackE, e.idx)
		} else {
			stackV = stackV[:len(stackV)-1]
			if len(stackE) > 0 {
				res = append(res, stackE[len(stackE)-1])
				stackE = stackE[:len(stackE)-1]
			}
		}
	}

	for i, j := 0, len(res)-1; i < j; i, j = i+1, j-1 {
		res[i], res[j] = res[j], res[i]
	}

	out := make([]byte, 0, n*7)
	for i, x := range res {
		if i > 0 {
			out = append(out, ' ')
		}
		out = strconv.AppendInt(out, int64(x), 10)
	}
	out = append(out, '\n')

	w := bufio.NewWriter(os.Stdout)
	w.Write(out)
	w.Flush()
}
```