package main import ( "bufio" "fmt" "io" "os" "strconv" ) func readInt(scanner *bufio.Scanner) int { scanner.Scan() n, _ := strconv.Atoi(scanner.Text()) return n } func read(s *bufio.Scanner) (int, int, int, int) { return readInt(s), readInt(s), readInt(s), readInt(s) } func compute(p, d, m, s int) int { result := 0 for { if s-p < 0 { break } result++ s -= p p -= d if p < m { p = m } } return result } func run(in io.Reader, out io.Writer) { s := bufio.NewScanner(in) s.Split(bufio.ScanWords) p, d, m, ss := read(s) result := compute(p, d, m, ss) fmt.Fprint(out, result) } func main() { run(os.Stdin, os.Stdout) }