#include <bits/stdc++.h>
using namespace std;
int main() {
  long long a, b, c, k;
  cin >> a >> b >> c >> k;
  if (k >= a + b + c - 3) {
    cout << a * b * c << endl;
  } else {
    long long res = 1;
    for (int x1 = 0; x1 < a; x1++) {
      long long help = (-k + x1) / (-2);
      for (int n = -1; n < 1; n++) {
        long long x2 = min(min(help + n, b - 1), k - x1);
        long long x3 = min(k - x1 - x2, c - 1);
        res = max(res, (1 + x1) * (1 + x2) * (1 + x3));
      }
    }
    for (int x1 = 0; x1 < a; x1++) {
      long long help = (-k + x1) / (-2);
      for (int n = -1; n < 1; n++) {
        long long x2 = min(min(help + n, c - 1), k - x1);
        long long x3 = min(k - x1 - x2, b - 1);
        res = max(res, (1 + x1) * (1 + x2) * (1 + x3));
      }
    }
    cout << res << endl;
  }
}
