func reverseStr(s string, k int) string {
	runes := []rune(s)
	n := len(s)
	beg, end := 0, k-1
	for beg < n {
		reverse(runes, n, beg, end)
		beg, end = beg+2*k, end+2*k
	}
	return string(runes)
}

func reverse(runes []rune, n int, l int, r int) {
	if n <= r {
		r = n - 1
	}
	for ; l < r; l, r = l+1, r-1 {
		runes[l], runes[r] = runes[r], runes[l]
	}
}