#icpc2015autumng. [icpc2015autumn_g]Cube Dividing

[icpc2015autumn_g]Cube Dividing

### 问题描述

Pablo Cubarson 是一位著名的立体派艺术家。他正在使用一个由 $A \\times B \\times C$ 个单位立方体组成的长方体制作一件新作品。他计划通过移除 $N$ 个单位立方体来制作出一个美丽的形状。当他准备开始工作时,他注意到通过移除,长方体可能会被分割成几个不相连的部分。这违背了他的审美观念,因此他想知道在他的计划中创建了多少个部分。

你的任务是计算在移除这 $N$ 个立方体后,长方体中形成的连通分量的数量。两个立方体之间如果共享一个面则被认为是连通的。

### 输入

输入包含一个测试用例。测试用例的格式如下:

> $A$ $B$ $C$ $N$  
> $X\_1$ $Y\_1$ $Z\_1$  
> ...  
> $X\_N$ $Y\_N$ $Z\_N$

第一行包含四个整数 $A$、$B$、$C$ 和 $N$。$A$、$B$ 和 $C$ ($1 \\leq A, B, C \\leq 10^6$) 表示长方体的尺寸 --- 长方体从左到右有 $A$ 个单位宽度,从底部到顶部有 $B$ 个单位高度,从前到后有 $C$ 个单位深度。$N$ ($0 \\leq N \\leq 20{,}000$, $N \\leq A \\times B \\times C - 1$) 表示Cubarson计划中要移除的立方体的数量。接下来的 $N$ 行中,每行包含三个整数 $X\_i$ ($0 \\leq X\_i \\leq A-1$),$Y\_i$ ($0 \\leq Y\_i \\leq B-1$) 和 $Z\_i$ ($0 \\leq Z\_i \\leq C-1$)。它们表示计划中要移除的立方体位于从左边开始的第 $X\_i$ 个位置,从底部开始的第 $Y\_i$ 个位置以及从前面开始的第 $Z\_i$ 个位置。可以假设给定的位置是不同的。

### 输出

输出移除指定立方体后长方体中连通分量的数量。

### 样例输入 1

```plain
2 2 2 4
0 0 0
1 1 0
1 0 1
0 1 1```

### 样例输出 1

```plain
4```

### 样例输入 2

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

### 样例输出 2

```plain
1```

### 样例输入 3

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

### 样例输出 3

```plain
1```