#include <bits/stdc++.h>
using std::vector;
int optimal_bus(int dist, int tank, int gas, int journys) {
  int result = 0;
  int currentTank = tank;
  int currentDist = dist;
  int nextGas = gas;
  if (dist - gas > tank) return -1;
  while (journys--) {
    if (tank < nextGas) return -1;
    currentTank = currentTank - nextGas;
    nextGas = abs(currentDist - gas) * 2;
    if (abs(currentDist - gas) <= currentTank && journys == 0) return result;
    if (currentTank < nextGas) {
      result++;
      currentTank = tank;
    }
    if (currentDist == dist)
      currentDist = 0;
    else
      currentDist = dist;
  }
  return result;
}
int main() {
  int a, b, f, k;
  std::cin >> a >> b >> f >> k;
  std::cout << optimal_bus(a, b, f, k) << '\n';
  return 0;
}
