#include <bits/stdc++.h>   using namespace std;   bool func(deque<int>& v) {     int x = v.back();     if (x > 1) {       v.pop_back();       int y = x / 2;       int y2 = x - y;       if (y == 1)         v.push_front(y);       else         v.push_back(y);       if (y2 == 1)         v.push_front(y2);       else         v.push_back(y2);       return true;     }     return false;   }   void printv(deque<int>& v) {     for (int i = 0; i < v.size(); i++) cout << v[i] <<    ;     cout << endl;   }   int main() {     int k;     int xyz[3];     cin >> xyz[0] >> xyz[1] >> xyz[2] >> k;     sort(xyz, xyz + 3);     deque<int> first, second, third;     first.push_back(xyz[2]);     second.push_back(xyz[1]);     third.push_back(xyz[0]);     int i = 0;     while (i < k) {       if (func(first))         i++;       else         break;       if (i < k && func(second)) i++;       if (i < k && func(third)) i++;     }     cout << (long long int)first.size() * second.size() * third.size();   }   