#include<bits/stdc++.h>
using namespace std;
int main(){
  long long a,b,k;
  cin>>a>>b>>k;
  while(k){
    if(a%2==1)a--;
    a/=2;
    b+=a;
    k--;
    if(k==0)break;
    if(b%2==1)b--;
    b/=2;
    a+=b;
    k--;
    if(k==0)break;
  }
  cout<<a<<" "<<b<<endl;
  return 0;
}
#include <bits/stdc++.h>
using namespace std;

typedef long long  ll;

ll MOD = 1000000007;
ll INF = 100000000;
double PI = 3.1415926535;

template<typename T>
void remove(std::vector<T>& vector, unsigned int index)
{
    vector.erase(vector.begin() + index);
}

using Graph = vector<vector<pair<ll,ll>>>;

int main(){
  int N,H,W;
  cin >> N >> H >> W;
  cout << max(0,(N-H+1)*(N-W+1)) << endl;
}