```go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
in := bufio.NewReader(os.Stdin)
var k int
fmt.Fscan(in, &k)
digits := 1
start := 1
for {
count := 9 * start
blockLen := count * digits
if k > blockLen {
k -= blockLen
digits++
start *= 10
continue
}
index := (k - 1) / digits
pos := (k - 1) % digits
num := start + index
s := fmt.Sprintf("%d", num)
fmt.Printf("%c", s[pos])
return
}
}
```