#arc0134. [arc013_4]切り分けできるかな?

[arc013_4]切り分けできるかな?

问题文

高桥君想要将路边的铁块切割成平衡砝码。
这个铁块非常特殊,已知其体积为 1cm31 \, \text{cm}^3,质量为 1g1 \, \text{g},我们要利用它制作平衡砝码。
由于高桥君是个心地善良的年轻人,他还想帮青木君制作平衡砝码。
另外,由于高桥君手不太灵活,所以他决定每个铁块只能切割一次,尽可能多地制作不同种类的平衡砝码。
铁块的切割方式如下:

  • 铁块的任一边必须是整数长度。
  • 切割可以在水平方向上进行 33 次。也就是说,不能进行斜切。
  • 但是,这次只允许切割一次。

给定落在路边的铁块的种类和尺寸,问高桥君和青木君分别需要多少个铁块才能制作出平衡砝码。


输入

输入从标准输入中给出,并具有以下格式:NN
X1X_{1} Y1Y_{1} Z1Z_{1}
X2X_{2} Y2Y_{2} Z2Z_{2}
:
XNX_{N} YNY_{N} ZNZ_{N}

  1. 11 行给出整数 N(1N100)N(1≦N≦100),表示铁块的种类数。
  2. 22 行到第 N+1N+1 行,每行描述一个铁块的尺寸,由半角空格分隔。
  • XiX_{i} 是第 ii 个铁块的长度。
  • YiY_{i} 是第 ii 个铁块的宽度。
  • ZiZ_{i} 是第 ii 个铁块的高度。
  • XiX_{i}YiY_{i}ZiZ_{i} 都是整数,保证 1Xi1≦X_{i}YiY_{i}Zi20Z_{i}≦20

部分得分

如果仅在满足 N=1N=1 的输入上给出正确答案,将获得部分得分,得分为 2020 分。

输出

输出所需铁块的总数,用一行表示。
并在输出末尾换行。


示例 1


2
3 4 5
2 3 4

输出示例 1


13
  • 对于铁块 3×4×53 \times 4 \times 5,水平切割面 3×43 \times 4 可以得到:12、24、36、48;

  • 水平切割面 3×53 \times 5 可以得到:15、30、45;

  • 水平切割面 4×54 \times 5 可以得到:20、40。

  • 这样,一共可以制作出 99 种不同的平衡砝码。

  • 对于铁块 2×3×42 \times 3 \times 4,水平切割面 2×32 \times 3 可以得到:6、12、18;

  • 水平切割面 2×42 \times 4 可以得到:8、16;

  • 水平切割面 3×43 \times 4 可以得到:12。

  • 这样,一共可以制作出 55 种不同的平衡砝码。

  • 总共有 1313 种不同的平衡砝码,所以需要这么多铁块才能满足两个人的需求。


示例 2


1
3 1 1

输出示例 2


2

示例 3


2
2 2 1
6 2 1

输出示例 3


5

示例 4


3
1 1 1
1 1 1
1 1 1

输出示例 4


0