#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, d, m, l;
  cin >> n >> d >> m >> l;
  long long s = 0, i = 0;
  vector<pair<long long, long long> > list(n);
  for (int i = 0; i < n; i++) list[i] = make_pair(i * m, i * m + l);
  for (int i = 0; i < n - 1; i++) {
    int tmp = list[i].second / d + 1;
    if ((tmp * d > list[i].second) && (tmp * d < list[i + 1].first)) {
      cout << tmp * d;
      return 0;
    }
  }
  cout << ((list.back().second / d) + 1) * d;
  return 0;
}
