#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 5;
const long long INF = 9e18;
long long mul(long long a, long long b) {
  if (INF / b <= a)
    return INF;
  else
    return a * b;
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  long long n, k, m, d;
  cin >> n >> k >> m >> d;
  long long ans = 0;
  long long cnt = n / m;
  ans = cnt / k;
  if (cnt % k) ans++;
  ans *= m;
  for (int i = 1; i <= d; i++) {
    long long cnt = n / (mul(i - 1, k) + 1);
    if (cnt <= m) ans = max(ans, cnt * i);
  }
  cout << ans << "\n";
  return 0;
}
