#include <bits/stdc++.h>
using namespace std;
#define int long long
int a,b,c,d;
signed main()
{
	cin>>a>>b>>c>>d;
	if(c*d<=b){cout<<-1;return 0;}
	cout<<ceil(1.0*a/(d*c-b));
	return 0;
} 
#include<bits/stdc++.h>

using namespace std;

//==============================AUTHOR:ZETPI=======================================//
#define int long long
#define fr(i,st,c)          for(int i=st;i<c;i++)
#define rfr(i,e,c)          for(int i=e;i>=c;i--) 
#define i_output(f1)        cout<<(f1?"YES":"NO")<<endl;
#define F                   first
#define S                   second
#define pb                  push_back
#define print(n)            cout<<n<<endl
#define all(x)              x.begin(),x.end()
#define sortall(x)          sort(all(x))

#define thor                ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);

typedef vector<int>         vi;
typedef pair<int,int>       pi;
typedef map<int,int>        mpi;
typedef set<int>            st;

int gcd(int a,int b){
    if(b==0)
        return a;
    return gcd(b,a%b);
}

const int mod=1'000'000'007;

//============================COPYING PROHIBITED======================================//



void solve(){
    
   int a,b,c,d;
   cin>>a>>b>>c>>d;

   int cyan=a,red=0,cnt=0,f=-1;

   while(cyan>d*red && b<(c*d)){
    cyan+=b;
    red+=c;
    cnt++;
    f=1;
   }

   if(f==-1){
    print(-1);
    }
    else{
        print(cnt);
    }
   
    
}



signed main(){

    thor
    srand(chrono::high_resolution_clock::now().time_since_epoch().count());

    int t=1;
   // cin>>t;
    while(t--){
        solve();
    }


    return 0;
}

