#include <bits/stdc++.h>
using namespace std;
const unsigned int mod = 1e7 + 7;
const long long int N = 1e5;
long long int lazy[400009], segtree[400009], x, y, n, d, color[200009], cnt;
bool visit[100009] = {false};
vector<long long int> v[100009];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  long long int ans = 0, l, k, n, q = 0, p = 0, t = 0, z = 0, w, pre = 1e5, mid,
                a[300009] = {0}, h[26] = {0}, b[26] = {0}, t1, t2, now, r = 0,
                i = 0, j = 0, flag = 0, temp = 0, e = -1e4, o = 0;
  cin >> n >> l >> p >> k;
  if (k == 1) {
    if (n <= l)
      cout << 0;
    else if (l >= p && l >= n - p)
      cout << 1;
    else
      cout << -1;
    return 0;
  }
  if (k == 2) {
    if (l < 2 * (n - p) || l < p) return cout << -1, 0;
  } else if (l < 2 * (n - p) || l < 2 * p) {
    return cout << -1, 0;
  }
  i = 0;
  w = l - p;
  k--;
  while (k--) {
    if (i % 2 == 0) {
      if (w >= (2 * n - 2 * p))
        w = w - (2 * (n - p));
      else
        w = l - 2 * (n - p), ans++;
    } else {
      if (w >= 2 * p)
        w = w - 2 * p;
      else
        w = l - 2 * p, ans++;
    }
    i++;
  }
  if (i % 2 == 0) {
    if (w < n - p) ans++;
  } else {
    if (w < p) ans++;
  }
  cout << ans;
  return 0;
}
