#include <bits/stdc++.h>
using namespace std;
template <class A, class B>
void eq(pair<A, B> &a, pair<A, B> b) {
  a.first = b.first;
  a.second = b.second;
}
long long n, m, r, k;
vector<int> di = {0, 0, -1, 1};
vector<int> dj = {-1, 1, 0, 0};
long long get_cnt(long long i, long long j) {
  long long lowup = 0;
  lowup = max(lowup, i - r + 1);
  long long hiup = i;
  hiup = min(n - r, hiup);
  long long lowl = 0;
  lowl = max(lowl, j - r + 1);
  long long hil = j;
  hil = min(m - r, hil);
  long long ret = max(0LL, hiup - lowup + 1);
  ret *= max(0LL, hil - lowl + 1);
  return ret;
}
bool in_bounds(int i, int j) { return i >= 0 && j >= 0 && i < n && j < m; }
signed main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> m >> r >> k;
  vector<long long> cnt;
  vector<int> midi, midj;
  if (n & 1) {
    midi.push_back(n >> 1);
  } else {
    midi.push_back(n >> 1);
    midi.push_back((n >> 1) - 1);
  }
  if (m & 1) {
    midj.push_back(m >> 1);
  } else {
    midj.push_back(m >> 1);
    midj.push_back((m >> 1) - 1);
  }
  set<pair<long long, pair<int, int> > > q;
  set<pair<int, int> > used;
  for (int i : midi) {
    for (int j : midj) {
      q.insert(make_pair(get_cnt(i, j), make_pair(i, j)));
      used.insert(make_pair(i, j));
    }
  }
  int need = 3 * k;
  while (need && !q.empty()) {
    pair<long long, pair<int, int> > p;
    eq(p, (*q.rbegin()));
    --need;
    q.erase(p);
    cnt.push_back(p.first);
    for (int i = 0; i < 4; ++i) {
      int ni = p.second.first + di[i];
      int nj = p.second.second + dj[i];
      if (in_bounds(ni, nj) && !used.count(make_pair(ni, nj))) {
        used.insert(make_pair(ni, nj));
        q.insert(make_pair(get_cnt(ni, nj), make_pair(ni, nj)));
      }
    }
  }
  sort(cnt.begin(), cnt.end());
  reverse(cnt.begin(), cnt.end());
  long long ans = 0;
  for (int i = 0; i < k; ++i) ans += cnt[i];
  long long kek = (n - r + 1LL) * (m - r + 1LL);
  long double num = ans;
  long double den = kek;
  long double res = num / den;
  cout << setprecision(10) << fixed << res;
}
