#include <bits/stdc++.h>
using namespace std;
#define int long long int
#define yes cout<<"YES\n";
#define no cout<<"NO\n";
#define fl(n) for(int i=0;i<n;i++)
#define flj(n) for(int j=0;j<n;j++)
#define flo(n) for(int i=1;i<=n;i++)
#define mii map<int,int>
#define mci map<char,int>
#define V vector<int>
#define vp vector<pair<int,int>>
#define pb push_back
#define pp pair<int,int>
#define ff first
#define ss second
#define S set<int>
#define all(v) v.begin(),v.end()
#define gr greater<int>()
#define show2(a, b) cout<<a<<' '<<b<<endl;
#define show3(a, b, c) cout<<a<<' '<<b<<' '<<c<<endl;
const long long mod=1000000007;
const int N=1e5+5;
const long double PI=3.14159265358;
vector<vector<int>> adj;
bool vis[N];
int c;
void dfs(int j){
	vis[j]=true;
	c++;
	for(auto u:adj[j]){
		if(!vis[u]) dfs(u);
	}
}
int32_t main(){
    int t=1;
    //cin>>t;
    while(t--){
    int a,b,c,d;
    cin>>a>>b>>c>>d;
    int z=d*c-b;
    if(z<=0) cout<<-1;
    else{
    	int ans=a/z;
    	if(a%z) ans++;
    	cout<<ans;
	}
	}
	return 0;
	}
#include <bits/stdc++.h>
using namespace std;

int main(){
    int a, b, c, d; 
    cin >> a >> b >> c >> d;
    if(b >= d * c){
      cout << -1 << endl;
	  return 0;
    }
  	
  	long long  i = 1;
  	while(a + b * i > d * c * i) i++;
  	cout << i << endl;
    return 0;
}