#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
const long long MOD = 1e9 + 7;
inline long long add(long long &x, long long y) {
  x += y;
  if (x >= mod) x -= mod;
  return x;
}
inline long long sub(long long x, long long y) {
  x -= y;
  if (x < 0) x += mod;
  return x;
}
inline long long mul(long long x, long long y) { return (x * 1ll * y) % mod; }
mt19937 rng32(chrono::steady_clock::now().time_since_epoch().count());
const long long N = 2e5 + 5;
signed main() {
  long long a, b, f, k;
  cin >> a >> b >> f >> k;
  long long ans = 0;
  long long cap = b;
  long long res = 0;
  if (k > 2 && b < 2 * f || k > 1 && b < 2 * (a - f) || b < f ||
      b < abs(a - f)) {
    cout << "-1" << endl;
    return 0;
  }
  long long z = 1;
  while (k) {
    if (k == 1 && cap >= a) break;
    if (z % 2) {
      if (cap < 2 * a - f) {
        ans++;
        cap = b - abs(a - f);
      } else
        cap -= a;
    } else {
      if (cap < a + f) {
        ans++;
        cap = b - f;
      } else
        cap -= a;
    }
    z++;
    k--;
  }
  cout << ans;
}
