← Home
For problem statement at 0-999/400-499/480-489/486/problemC.txt this is a correct solution, but verifier at 0-999/400-499/480-489/486/verifierC.go ends with All 100 tests passed can you fix the verifier? ```go
package main

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

func abs(x int) int {
	if x < 0 {
		return -x
	}
	return x
}

func min(a, b int) int {
	if a < b {
		return a
	}
	return b
}

func main() {
	in := bufio.NewReader(os.Stdin)
	out := bufio.NewWriter(os.Stdout)
	defer out.Flush()

	var n, p int
	var s string
	fmt.Fscan(in, &n, &p, &s)

	b := []byte(s)
	m := n / 2
	change := 0
	l, r := n+1, 0

	for i := 1; i <= m; i++ {
		x := int(b[i-1] - 'a')
		y := int(b[n-i] - 'a')
		d := abs(x - y)
		if d > 13 {
			d = 26 - d
		}
		if d > 0 {
			change += d
			if i < l {
				l = i
			}
			if i > r {
				r = i
			}
		}
	}

	if r == 0 {
		fmt.Fprint(out, 0)
		return
	}

	q := p
	if n-p+1 < q {
		q = n - p + 1
	}

	move := 0
	if q < l {
		move = r - q
	} else if q > r {
		move = q - l
	} else {
		move = (r - l) + min(q-l, r-q)
	}

	fmt.Fprint(out, change+move)
}
```