/*#include <bits/stdc++.h>
using namespace std;
//(1, 5) (2, 6) (3, 7) (4, 8)
map<pair<pair<int, int>, int>, int> mp;
map<pair<int, int>, int> visited;
int dx[9]= {0, -1, -2, -2, -1, 1, 2, 2, 1};
int dy[9]= {0, 2, 1, -1, -2, -2, -1, 1, 2};
int n, m, x, y, k;
long long int haha=0, hahaha;
void sch(int cx, int cy, int cnt, int start)
{
printf("%d\n", cnt);
if(cx<1||cy<1||cx>n||cy>m)
{
//if(cnt==2)printf("%d %d\n", cx, cy);
return ;
}
if(mp.find({{cx, cy}, cnt})!=mp.end())
{
if(cnt==2)printf("haha\n");
return ;
}
mp.insert({{{cx, cy}, cnt}, 1});
if(cnt==k)
{
if(visited.find({cx, cy})==visited.end());
{
haha++;
visited.insert({{cx, cy}, 1});
}
return ;
}
int nx, ny;
for(int i=start; i<=8; i++)
{
nx=cx+dx[i];
ny=cy+dy[i];
sch(nx, ny, cnt+1, i);
}
}
int main()
{
scanf("%d %d %d %d %d", &n, &m, &x, &y, &k);
sch(x, y, 0, 1);
hahaha=n*m;
printf("%lld", hahaha-haha);
}*/
/*
#include <bits/stdc++.h>
using namespace std;
//(1, 5) (2, 6) (3, 7) (4, 8)
map<pair<pair<int, int>, int>, int> mp;
map<pair<int, int>, int> visited;
int dx[9]= {0, -1, -2, -2, -1, 1, 2, 2, 1};
int dy[9]= {0, 2, 1, -1, -2, -2, -1, 1, 2};
int n, m, x, y, k;
long long int haha=0, hahaha;
void sch(int cx, int cy, int cnt, int start)
{
int giu=cnt%2;
//printf("%d\n", cnt);
if(cx<1||cy<1||cx>n||cy>m)
{
//if(cnt==2)printf("%d %d\n", cx, cy);
return ;
}
if(mp.find({{cx, cy}, giu})!=mp.end())
{
if(mp[ {{cx, cy}, giu}]<cnt)
{
return ;
}
printf("%d\n", mp[ {{cx, cy}, giu}]);
mp.erase({{cx, cy}, giu});
}
mp.insert({{{cx, cy}, giu}, cnt});
if(cnt==k)
{
if(visited.find({cx, cy})==visited.end());
{
haha++;
visited.insert({{cx, cy}, 1});
}
return ;
}
int nx, ny;
for(int i=1; i<=8; i++)
{
nx=cx+dx[i];
ny=cy+dy[i];
sch(nx, ny, cnt+1, i);
}
}
int main()
{
scanf("%d %d %d %d %d", &n, &m, &x, &y, &k);
sch(x, y, 0, 1);
hahaha=n*m;
printf("%lld", hahaha-haha);
}*/
/*#include <bits/stdc++.h>
using namespace std;
//(1, 5) (2, 6) (3, 7) (4, 8)
map<pair<pair<int, int>, int>, int> mp;
map<pair<int, int>, int> visited;
int dx[9]= {0, -1, -2, -2, -1, 1, 2, 2, 1};
int dy[9]= {0, 2, 1, -1, -2, -2, -1, 1, 2};
int x, y, k;
long long int n, m;
long long int haha=0, hahaha;
void sch(int cx, int cy, int cnt, int start)
{
//printf("%d\n", cnt);
if(cx<1||cy<1||cx>n||cy>m)
{
//if(cnt==2)printf("%d %d\n", cx, cy);
return ;
}
if(mp.find({{cx, cy}, cnt})!=mp.end())
{
// if(cnt==2)printf("haha\n");
return ;
}
mp.insert({{{cx, cy}, cnt}, 1});
if(cnt==k)
{
if(visited.find({cx, cy})==visited.end());
{
haha++;
visited.insert({{cx, cy}, 1});
}
return ;
}
int nx, ny;
for(int i=1; i<=8; i++)
{
nx=cx+dx[i];
ny=cy+dy[i];
sch(nx, ny, cnt+1, i);
}
}
int main()
{
scanf("%lld %lld %d %d %d", &n, &m, &x, &y, &k);
sch(x, y, 0, 1);
hahaha=n*m;
printf("%lld %lld %lld", hahaha-haha, hahaha, haha);
}*/
/*
#include <bits/stdc++.h>
using namespace std;
//(1, 5) (2, 6) (3, 7) (4, 8)
map<pair<pair<int, int>, int>, int> mp;
map<pair<int, int>, int> visited;
int dx[9]= {0, -1, -2, -2, -1, 1, 2, 2, 1};
int dy[9]= {0, 2, 1, -1, -2, -2, -1, 1, 2};
int x, y, k;
long long int n, m;
long long int haha=0, hahaha;
void sch(int cx, int cy, int cnt, int start)
{
int giu=cnt%2;
//printf("%d\n", cnt);
if(cx<1||cy<1||cx>n||cy>m)
{
//if(cnt==2)printf("%d %d\n", cx, cy);
return ;
}
if(cnt==k)
{
if(visited.find({cx, cy})==visited.end());
{
haha++;
visited.insert({{cx, cy}, 1});
}
return ;
}
if(mp.find({{cx, cy}, giu})!=mp.end())
{
if(mp[ {{cx, cy}, giu}]>cnt)
{
return ;
}
printf("%d\n", mp[ {{cx, cy}, giu}]);
mp.erase({{cx, cy}, giu});
}
mp.insert({{{cx, cy}, giu}, cnt});
int nx, ny;
for(int i=1; i<=8; i++)
{
nx=cx+dx[i];
ny=cy+dy[i];
sch(nx, ny, cnt+1, i);
}
}
int main()
{
scanf("%lld %lld %d %d %d", &n, &m, &x, &y, &k);
sch(x, y, 0, 1);
hahaha=n*m;
printf("%lld %lld %lld", hahaha-haha, hahaha, haha);
}*/
#include <bits/stdc++.h>
using namespace std;
//(1, 5) (2, 6) (3, 7) (4, 8)
map<pair<pair<int, int>, int>, int> mp;
map<pair<int, int>, int> visited;
int dx[9]= {0, -1, -2, -2, -1, 1, 2, 2, 1};
int dy[9]= {0, 2, 1, -1, -2, -2, -1, 1, 2};
int x, y, k;
long long int n, m;
long long int haha=0, hahaha;
void sch(int cx, int cy, int cnt, int start)
{
//printf("%d\n", cnt);
if(cx<1||cy<1||cx>n||cy>m)
{
//if(cnt==2)printf("%d %d\n", cx, cy);
return ;
}
if(mp.find({{cx, cy}, cnt})!=mp.end())
{
// if(cnt==2)printf("haha\n");
return ;
}
mp.insert({{{cx, cy}, cnt}, 1});
if(cnt==k)
{
if(visited.find({cx, cy})==visited.end());
{
haha++;
visited.insert({{cx, cy}, 1});
}
return ;
}
int nx, ny;
for(int i=1; i<=8; i++)
{
nx=cx+dx[i];
ny=cy+dy[i];
sch(nx, ny, cnt+1, i);
}
}
int main()
{
scanf("%lld %lld %d %d %d", &n, &m, &x, &y, &k);
int ek=k-k%2;
for(int i=0;i<=k;i+=2)sch(x, y, i, 1);
hahaha=n*m;
printf("%lld", hahaha-haha);
}



