#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, d, m, l;
  long long int k;
  long long int g;
  fscanf(stdin, "%d%d%d%d", &n, &d, &m, &l);
  for (k = 1, g = 0; k <= n; k++) {
    if (g < ((k - 1) * m)) {
      cout << g;
      return 0;
    } else if (g <= (((k - 1) * m) + l)) {
      g += (((((k - 1) * m) + l) - g) / d) * d;
      while (g <= (((k - 1) * m) + l)) g += d;
    }
  }
  cout << g;
  return 0;
}
