#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;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CglpbnQgcywgaywgYSwgYjsvLyDQt9Cw0LTQsNC90L3Ri9C1INCy0LXQu9C40YfQuNC90Ysg0LIg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQtdC8INGD0YHQu9C+0LLQuNGOINC/0L7RgNGP0LTQutC1CglpbnQgbiA9IDA7Ly8g0YLQtdC60YPRidC10LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0L3QvtCzINC00YDQsNC60L7QvdCwCglpbnQgZDsvLyDRgtC10LrRg9GJ0LXQtSDQutC+0LvQuNGH0LXRgdGC0LLQviDQtNGA0LDQutC+0L3QvtCyCgljaW4gPj4gcyA+PiBrID4+IGEgPj4gYjsKCWlmIChhICogcyA9PSBiKXsKCSAgICBjb3V0IDw8IHMgKiBrOwoJICAgIHJldHVybiAwOwoJfS8vINC+0YLQtNC10LvRjNC90YvQuSDRgdC70YPRh9Cw0LksINC/0YDQuCBhICogcyA9IGIKCXdoaWxlIChuIDwgcyAqIGspIHsKCQlpZiAoKGIgLSBzICogYSkgJSAobiAtIHMgKiBrKSA9PSAwKSB7IAoJCSAgICBkID0gKGIgLSBzICogYSkgLyAobiAtIHMgKiBrKTsKCQkgICAgaWYgKGIgLSBzID49IGQgKiBuICYmIGEgPiBkICogaykgewoJCSAgICAgICAJY291dCA8PCBuOwoJCSAgICAgICAgcmV0dXJuIDA7CgkJICAgIH0vLyDQv9GA0L7QstC10YDRj9C10Lwg0YPQtNC+0LLQu9C10YLQstC+0YDRj9C10YIg0LvQuCDRgtC10LrRg9GJ0LXQtSDQutC+0LvQuNGH0LXRgdGC0LLQviDQtNGA0LDQutC+0L3QvtCyINC4INGC0LXQutGD0YnQtdC1INC60L7Qu9C40YfQtdGB0YLQstC+INC90L7QsyDQstGB0LUg0YPRgdC70L7QstC40Y8KCQl9Ly8g0LLRi9C/0L7Qu9C90Y/QtdC8INCy0YHQtSDQv9GA0L7QstC10YDQutC4INGC0L7Qu9GM0LrQviDQtNC70Y8g0YbQtdC70YvRhSBkCgkJbisrOwogICAgfS8vINCy0YvQv9C+0LvQvdGP0LXQvCDQv9C10YDQtdCx0L7RgCDRgtC+0LvRjNC60L4g0LTQviBzKmsKCWNvdXQgPDwgLTE7Ly8g0LLRi9Cy0L7QtNC40LwgLTEsINC10YHQu9C4INGA0LXRiNC10L3QuNC5INC90LUg0L3QsNGI0LvQvtGB0Ywo0LLRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1INC/0YDQvtGC0LjQstC+0YDQtdGH0LjQstGLKQoJcmV0dXJuIDA7Cn0=