#include <iostream>
using namespace std;

int main() {
	int s, k, a, b;// заданные величины в соответствующем условию порядке
	int n = 0;// текущее количество ног дракона
	int d;// текущее количество драконов
	cin >> s >> k >> a >> b;
	if (a * s == b){
	    cout << s * k;
	    return 0;
	}// отдельный случай, при a * s = b
	while (n < s * k) {
		if ((b - s * a) % (n - s * k) == 0) { 
		    d = (b - s * a) / (n - s * k);
		    if (b - s >= d * n && a > d * k) {
		       	cout << n;
		        return 0;
		    }// проверяем удовлетворяет ли текущее количество драконов и текущее количество ног все условия
		}// выполняем все проверки только для целых d
		n++;
    }// выполняем перебор только до s*k
	cout << -1;// выводим -1, если решений не нашлось(входные данные противоречивы)
	return 0;
}