2014
02-14

Sculpture

Imagine a box, made of copper plate. Imagine a second one, intersecting the first one, and several others, intersecting each other (or not). That is how the sculptor Oto Boxing constructs his sculptures. In fact he does not construct that much, he only makes the design; the actual construction is contracted out to a construction company. For the calculation of the costs of construction the company needs to know the total area of copper plate involved. Parts of a box that are hidden in another box are not realized in copper, of course. (Copper is quite expensive, and prices are rising.) After construction, the total construction is plunged into a bath of chemicals. To prevent this bath from running over, the construction company wants to know the total volume of the construction. Given that a construction is a collection of boxes, you are asked to calculate the area and the volume of the construction.

Some of Oto’s designs are connected, others are not. Either way, we want to know the total area and the total volume. It might happen that the boxes completely enclose space that is not included in any of the boxes (see the second example below). Because the liquid cannot enter that space, its volume must be added to the total volume. Copper plate bordering this space is superfluous, of course, so it does not add to the area.

On the first line one positive number: the number of testcases, at most 100. After that per testcase:

* One line with an integer n (1 ≤ n ≤ 50): the number of boxes involved.
* n lines with six positive integers x0, y0, z0, x, y, z (1 ≤ x0, y0, z0, x, y, z ≤ 500): the triple (x0, y0, z0) is the vertex of the box with the minimum values for the coordinates and the numbers x, y, z are the dimensions of the box (x, y and z dimension, respectively). All dimensions are in centimeters. The sides of the boxes are always parallel to the coordinate axes.

On the first line one positive number: the number of testcases, at most 100. After that per testcase:

* One line with an integer n (1 ≤ n ≤ 50): the number of boxes involved.
* n lines with six positive integers x0, y0, z0, x, y, z (1 ≤ x0, y0, z0, x, y, z ≤ 500): the triple (x0, y0, z0) is the vertex of the box with the minimum values for the coordinates and the numbers x, y, z are the dimensions of the box (x, y and z dimension, respectively). All dimensions are in centimeters. The sides of the boxes are always parallel to the coordinate axes.

2
2
1 2 3 3 4 5
6 2 3 3 4 5
7
1 1 1 5 5 1
1 1 10 5 5 1
1 1 2 1 4 8
2 1 2 4 1 8
5 2 2 1 4 8
1 5 2 4 1 8
3 3 4 1 1 1

188 120
250 250

1. 你是吃這碗飯的，我明白人在一個職位上要盡職盡責。如果能讓你多賺5毛，我又沒有損失。那你賺你的，我高興說我的。人無完人，照你們的邏輯那是什麽錯都不能犯的人才有資格表達自己的心聲，這無外乎變相綁架了人們說話的權利。我後面寫那麼幾個字就是想罵你，你上鉤我就來一

2. 你是吃這碗飯的，我明白人在一個職位上要盡職盡責。如果能讓你多賺5毛，我又沒有損失。那你賺你的，我高興說我的。人無完人，照你們的邏輯那是什麽錯都不能犯的人才有資格表達自己的心聲，這無外乎變相綁架了人們說話的權利。我後面寫那麼幾個字就是想罵你，你上鉤我就來一

3. 你是吃這碗飯的，我明白人在一個職位上要盡職盡責。如果能讓你多賺5毛，我又沒有損失。那你賺你的，我高興說我的。人無完人，照你們的邏輯那是什麽錯都不能犯的人才有資格表達自己的心聲，這無外乎變相綁架了人們說話的權利。我後面寫那麼幾個字就是想罵你，你上鉤我就來一

4. 你是吃這碗飯的，我明白人在一個職位上要盡職盡責。如果能讓你多賺5毛，我又沒有損失。那你賺你的，我高興說我的。人無完人，照你們的邏輯那是什麽錯都不能犯的人才有資格表達自己的心聲，這無外乎變相綁架了人們說話的權利。我後面寫那麼幾個字就是想罵你，你上鉤我就來一

5. 你是吃這碗飯的，我明白人在一個職位上要盡職盡責。如果能讓你多賺5毛，我又沒有損失。那你賺你的，我高興說我的。人無完人，照你們的邏輯那是什麽錯都不能犯的人才有資格表達自己的心聲，這無外乎變相綁架了人們說話的權利。我後面寫那麼幾個字就是想罵你，你上鉤我就來一

6. 你是吃這碗飯的，我明白人在一個職位上要盡職盡責。如果能讓你多賺5毛，我又沒有損失。那你賺你的，我高興說我的。人無完人，照你們的邏輯那是什麽錯都不能犯的人才有資格表達自己的心聲，這無外乎變相綁架了人們說話的權利。我後面寫那麼幾個字就是想罵你，你上鉤我就來一

7. 你是吃這碗飯的，我明白人在一個職位上要盡職盡責。如果能讓你多賺5毛，我又沒有損失。那你賺你的，我高興說我的。人無完人，照你們的邏輯那是什麽錯都不能犯的人才有資格表達自己的心聲，這無外乎變相綁架了人們說話的權利。我後面寫那麼幾個字就是想罵你，你上鉤我就來一

8. 你是吃這碗飯的，我明白人在一個職位上要盡職盡責。如果能讓你多賺5毛，我又沒有損失。那你賺你的，我高興說我的。人無完人，照你們的邏輯那是什麽錯都不能犯的人才有資格表達自己的心聲，這無外乎變相綁架了人們說話的權利。我後面寫那麼幾個字就是想罵你，你上鉤我就來一

9. 你是吃這碗飯的，我明白人在一個職位上要盡職盡責。如果能讓你多賺5毛，我又沒有損失。那你賺你的，我高興說我的。人無完人，照你們的邏輯那是什麽錯都不能犯的人才有資格表達自己的心聲，這無外乎變相綁架了人們說話的權利。我後面寫那麼幾個字就是想罵你，你上鉤我就來一

10. 你是吃這碗飯的，我明白人在一個職位上要盡職盡責。如果能讓你多賺5毛，我又沒有損失。那你賺你的，我高興說我的。人無完人，照你們的邏輯那是什麽錯都不能犯的人才有資格表達自己的心聲，這無外乎變相綁架了人們說話的權利。我後面寫那麼幾個字就是想罵你，你上鉤我就來一

11. 你是吃這碗飯的，我明白人在一個職位上要盡職盡責。如果能讓你多賺5毛，我又沒有損失。那你賺你的，我高興說我的。人無完人，照你們的邏輯那是什麽錯都不能犯的人才有資格表達自己的心聲，這無外乎變相綁架了人們說話的權利。我後面寫那麼幾個字就是想罵你，你上鉤我就來一

12. 你是吃這碗飯的，我明白人在一個職位上要盡職盡責。如果能讓你多賺5毛，我又沒有損失。那你賺你的，我高興說我的。人無完人，照你們的邏輯那是什麽錯都不能犯的人才有資格表達自己的心聲，這無外乎變相綁架了人們說話的權利。我後面寫那麼幾個字就是想罵你，你上鉤我就來一

13. 你是吃這碗飯的，我明白人在一個職位上要盡職盡責。如果能讓你多賺5毛，我又沒有損失。那你賺你的，我高興說我的。人無完人，照你們的邏輯那是什麽錯都不能犯的人才有資格表達自己的心聲，這無外乎變相綁架了人們說話的權利。我後面寫那麼幾個字就是想罵你，你上鉤我就來一

14. 你是吃這碗飯的，我明白人在一個職位上要盡職盡責。如果能讓你多賺5毛，我又沒有損失。那你賺你的，我高興說我的。人無完人，照你們的邏輯那是什麽錯都不能犯的人才有資格表達自己的心聲，這無外乎變相綁架了人們說話的權利。我後面寫那麼幾個字就是想罵你，你上鉤我就來一

15. 你是吃這碗飯的，我明白人在一個職位上要盡職盡責。如果能讓你多賺5毛，我又沒有損失。那你賺你的，我高興說我的。人無完人，照你們的邏輯那是什麽錯都不能犯的人才有資格表達自己的心聲，這無外乎變相綁架了人們說話的權利。我後面寫那麼幾個字就是想罵你，你上鉤我就來一

16. 你是吃這碗飯的，我明白人在一個職位上要盡職盡責。如果能讓你多賺5毛，我又沒有損失。那你賺你的，我高興說我的。人無完人，照你們的邏輯那是什麽錯都不能犯的人才有資格表達自己的心聲，這無外乎變相綁架了人們說話的權利。我後面寫那麼幾個字就是想罵你，你上鉤我就來一

17. 你是吃這碗飯的，我明白人在一個職位上要盡職盡責。如果能讓你多賺5毛，我又沒有損失。那你賺你的，我高興說我的。人無完人，照你們的邏輯那是什麽錯都不能犯的人才有資格表達自己的心聲，這無外乎變相綁架了人們說話的權利。我後面寫那麼幾個字就是想罵你，你上鉤我就來一

18. 你是吃這碗飯的，我明白人在一個職位上要盡職盡責。如果能讓你多賺5毛，我又沒有損失。那你賺你的，我高興說我的。人無完人，照你們的邏輯那是什麽錯都不能犯的人才有資格表達自己的心聲，這無外乎變相綁架了人們說話的權利。我後面寫那麼幾個字就是想罵你，你上鉤我就來一

19. 第一句可以忽略不计了吧。从第二句开始分析，说明这个花色下的所有牌都会在其它里面出现，那么还剩下♠️和♦️。第三句，可以排除2和7，因为在两种花色里有。现在是第四句，因为♠️还剩下多个，只有是♦️B才能知道答案。

20. 有两个重复的话结果是正确的，但解法不够严谨，后面重复的覆盖掉前面的，由于题目数据限制也比较严，所以能提交通过。已更新算法