#include<bits/stdc++.h>
#define pb push_back
#define mp make_pair
#define fir first
#define sec second
#define SZ(a) (int)((a).size())
#define all(x) (x).begin(), (x).end()
using namespace std;
typedef long long ll;
typedef double db;
typedef pair <int, int> Pii;
typedef pair <ll, int> Pli;
typedef unsigned long long ull;
const double eps = 1e-8;
const int mod = (int)(1e9) + 7;
const int inf = 0x7fffffff;
const int N = (int)(2e5) + 7;

ll a, b, c, d;

int main() {

    // freopen("in.in", "r", stdin);
    scanf("%lld%lld%lld%lld", &a, &b, &c, &d);
    if (c * d - b <= 0) puts("-1");
    else {
        ll x = c * d - b;
        printf("%lld\n", (a + x - 1) / x);
    }

    return 0;
}
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
    ll a,b,c,d;
    cin>>a>>b>>c>>d;
    ll count=0;
    ll cyan=a;
    ll red=0;
    
    while(cyan>red)
    {
        if(count>100000)
        {
            cout<<-1<<endl;
            return 0;
        }
        cyan+=b;
        red+=c;
        count++;
        if(cyan<=red*d)
        break;
    }
    cout<<count<<endl;
    
}