#include <bits/stdc++.h>
using namespace std;
bool usa[1000010];
long long int mo, ac, n, d, m, l, res, i;
int main() {
  scanf("%d%d%d%d", &n, &d, &m, &l);
  i = 1;
  while (!usa[(d * i) % m]) {
    usa[(d * i) % m] = true;
    if (((d * i) % m) > l) {
      mo = d * i;
      break;
    }
    i++;
  }
  i = (m * (n - 1) + l) / d;
  i++;
  ac = d * i;
  if (mo > 0)
    res = min(ac, mo);
  else
    res = ac;
  cout << res;
}
