// Задача "Покраска"
// 8-я Интернет-олимпиада сезона 2008-2009, базовый уровень.
// Автор задачи:  Владимир Ульянцев, ulyantsev@rain.ifmo.ru
// Автор решения: Владимир Ульянцев, ulyantsev@rain.ifmo.ru

{$APPTYPE CONSOLE}
uses
	math, sysutils;
const
	MAXN = 100;
type
	int = longint;
var
	w, h, l, i, j, p, k, ans : int;
	a : array [1..MAXN, 1..MAXN, 1..MAXN] of int;
begin
	assign(input, 'painting.in');
	reset(input);
	assign(output, 'painting.out');
	rewrite(output);

	read(w, h, l);
	assert((1 <= w) and (w <= MAXN));
	assert((1 <= h) and (h <= MAXN));
	assert((1 <= l) and (l <= MAXN));
	
	fillchar(a, sizeof(a), 0);

	for i := 1 to w do
		for j := 1 to h do begin
			inc(a[i][j][1]);
			inc(a[i][j][l]);
		end;

	for i := 1 to w do
		for j := 1 to l do begin
			inc(a[i][1][j]);
			inc(a[i][h][j]);
		end;

	for i := 1 to h do
		for j := 1 to l do begin
			inc(a[1][i][j]);
			inc(a[w][i][j]);
		end;	

	read(k);
	assert((0 <= k) and (k <= 6));

	ans := 0;
	for i := 1 to w do
		for j := 1 to h do
			for p := 1 to l do begin
				if (a[i][j][p] = k) then
					inc(ans);
			end;

	writeln(ans);
end.
