#icpc2015summerday4g. [icpc2015summer_day4_g]Surface Area of Cubes

[icpc2015summer_day4_g]Surface Area of Cubes

问题描述

Taro喜欢一个单人游戏“立方体的表面积”。

在这个游戏中,他最初有一个A×B×CA \times B \times C的长方体,由A×B×CA \times B \times C个单位立方体组成(它们都是1x1x1的立方体)。每个单位立方体的中心被放置在三维坐标(x,y,z)(x,y,z)处,其中x,y,zx,y,z都是整数$(0\leq x\leq A-1, 0\leq y\leq B-1, 0\leq z\leq C-1)$。然后,游戏主从长方体中移除了NN个不同的单位立方体。在移除这NN个立方体后,为了赢得游戏,他必须准确地告诉这个对象的总表面积。

注意,移除操作不会改变未被移除的立方体的位置。而且,不仅矩形体外表面上的立方体可以被移除,内部的立方体也可以被移除。此外,通过移除立方体,该对象可以分成多个部分。请注意,游戏的玩家还必须计算那些无法从外部访问的表面积。

Taro知道有多少个单位立方体被移除了,以及哪些立方体被移除了,但对于他来说,这个游戏非常困难,所以他想通过作弊来赢得这个游戏!你是Taro的朋友,你的工作是编写一个程序,代替Taro计算移除立方体后对象的总表面积,给定长方体的大小和被移除立方体的坐标。


输入

输入的格式如下。

测试用例的第一行包含了四个整数A,B,CA,B,C和$N(1\leq A,B,C\leq 10^8,0\leq N\leq \min \{1{,}000, A\times B\times C-1 \} ).$

接下来的NN行中,每行包含三个非负整数x,yx,yzz,表示一个已移除立方体的坐标。你可以假设这些坐标是不同的。

输出

输出移除了NN个立方体后对象的总表面积。

示例输入 1

2 2 2 1
0 0 0```

### 对示例输入 1 的输出

```plain
24```

### 示例输入 2

```plain
1 1 5 2
0 0 1
0 0 3```

### 对示例输入 2 的输出

```plain
18```

### 示例输入 3

```plain
3 3 3 1
1 1 1```

### 对示例输入 3 的输出

```plain
60```