← Home
```go
package main

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

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	scanner.Scan()
	n, _ := strconv.ParseInt(scanner.Text(), 10, 64)
	target := (n + 1) / 2
	low := int64(1)
	high := n
	for low < high {
		mid := low + (high - low) / 2
		if vasyaEats(n, mid) >= target {
			high = mid
		} else {
			low = mid + 1
		}
	}
	fmt.Println(low)
}

func vasyaEats(orig int64, k int64) int64 {
	rem := orig
	total := int64(0)
	for rem > 0 {
		eat := min(k, rem)
		total += eat
		rem -= eat
		if rem == 0 {
			break
		}
		petya := rem / 10
		rem -= petya
	}
	return total
}

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