#include <bits/stdc++.h>
using namespace std;
int main() {
  int a, b, f, k;
  cin >> a >> b >> f >> k;
  if (b < f) {
    cout << -1 << endl;
    return 0;
  }
  int ans = 0;
  int t = 0;
  bool inverse = 0;
  int nowpos = f;
  int nowgas = b - f;
  while (t != k) {
    if (nowpos == f) {
      if (inverse == 0) {
        if (t + 1 == k && nowgas >= (a - f)) {
          nowpos = a;
          inverse = 1;
          nowgas -= (a - f);
          t++;
        } else if (t + 1 == k && nowgas < (a - f)) {
          if ((a - f) > b) {
            cout << -1 << endl;
            return 0;
          }
          ans++;
          t++;
          nowpos = a;
          inverse = 1;
          nowgas = b - (a - f);
        } else if ((a - f) * 2 > nowgas) {
          if ((a - f) * 2 > b) {
            cout << -1 << endl;
            return 0;
          }
          ans++;
          nowgas = b - (a - f) * 2;
          inverse = 1;
          t++;
        } else if (nowgas >= (a - f) * 2) {
          inverse = 1;
          nowgas -= (a - f) * 2;
          t++;
        }
      } else if (inverse == 1) {
        if (t + 1 == k && nowgas >= f) {
          nowpos = 0;
          inverse = 0;
          nowgas -= f;
          t++;
        } else if (t + 1 == k && nowgas < f) {
          if (f > b) {
            cout << -1 << endl;
            return 0;
          }
          ans++;
          nowgas = b - f;
          nowpos = 0;
          inverse = 0;
          t++;
        } else if (nowgas < f * 2) {
          if ((f)*2 > b) {
            cout << -1 << endl;
            return 0;
          }
          ans++;
          nowgas = b - f * 2;
          inverse = 0;
          t++;
        } else if (nowgas >= (f)*2) {
          inverse = 0;
          nowgas -= (f)*2;
          t++;
        }
      }
    }
  }
  cout << ans << endl;
  return 0;
}
