#include <iostream>
#include <algorithm>
using namespace std;
int main(void){
    // Your code here!
    long long int a, b, c, d;
    cin >> a >> b >> c >> d;
    if(c * d - b == 0){
        cout << -1 << endl;
    }
    else{
    long long int ans = a / (c * d - b);
    if(ans < 0){
        cout << -1 << endl;
    }
    else{
        if(a % (c * d - b) != 0){
            cout << ans + 1 << endl;
        }
        else{
            cout << ans << endl;
        }
    }
    }

}

#include<cstdio>
#include<algorithm>
#define int long long
const int Q=100005;
const int INF=(1<<30);
using namespace std;
typedef long long ll;
#define rg register int
char buf[1<<21],*p1=buf,*p2=buf;
#define gc() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++)
inline bool ig(char c){return c>=48&&c<=57;}
inline void read(int &oi){char c;int f=1,res=0;while(c=gc(),(!ig(c))&&c^'-');c^'-'?res=(c^48):f=-1;while(c=gc(),ig(c))res=res*10+(c^48);oi=f*res;}
inline void print(int oi){if(oi<0)putchar('-'),oi=~oi+1;if(oi>9)print(oi/10);putchar(oi%10+48);}
inline void write(int oi,char c){print(oi);putchar(c);}
int a,b,c,d,res;
signed main(){
	read(a);read(b);read(c);read(d);
	c*=d;c-=b;if(c>0)res=(a-1)/c+1;else res=-1;write(res,'\n');
	return 0;
}