#arc0132. [arc013_2]引越しできるかな?

[arc013_2]引越しできるかな?

问题说明

现城君将从今年春天开始的新生活进行搬家考虑。为此,他需要将自己的物品打包进纸箱。因此,他决定向搬家公司"AtCoder株式会社"订购纸箱。

幸运的是,AtCoder株式会社正在进行"新生活応援キャンペーン",提供一种尺寸的纸箱免费提供。现城君看中了这个机会,通过大量订购能装下全部物品的纸箱来节省金钱。那么现城君需要订购的纸箱容积的最小值是多少呢?

另外,现城君将每个纸箱中的物品包装成一个物品。此外,为了防止物品在运输过程中损坏,现城君不会将物品斜放。也就是说,物品的至少一个面会严密粘贴在纸箱或其他物品的表面上。


输入

输入以以下格式从标准输入获取:CC N0N_{0} M0M_{0} L0L_{0} N1N_{1} M1M_{1} L1L_{1} : NC1N_{C-1} MC1M_{C-1} LC1L_{C-1}

  1. 输入有C+1C+1行。

  2. 第一行是表示现城君的物品数量的整数C(1C100)C(1≦C≦100)

  3. 接下来的CC行(第2行到第C+1C+1行)中,用半角空格分隔给出现城君的物品的长度、宽度和高度。

  • NiN_{i} 是现城君拥有的物品的长度。
  • MiM_{i} 是现城君拥有的物品的宽度。
  • LiL_{i} 是现城君拥有的物品的高度。
  • 满足1Ni,Mi,Li1001≦N_{i},M_{i},L_{i}≦100,并且这些值都保证是整数。

部分得分

  • 只有对满足1C101≦C≦10的输入给出正确答案时,可以获得部分得分,得分为40分。

输出

请在一行中输出现城君需要订购的纸箱容积的最小值。最后输出换行符。


输入例子1


2
10 20 30
20 20 20

输出例子1


12000
  • 如果准备一个20*20*30的纸箱,就能打包所有的物品。

输入例子2


3
10 20 30
20 20 20
30 20 10

输出例子2


12000
  • 通过改变方向,可以用一个20*20*30的纸箱打包。

输入例子3


4
10 20 30
20 20 20
30 20 10
10 40 10

输出例子3


16000
  • 通过改变方向,可以用一个40*20*20的纸箱打包。

输入例子4


2
10 10 10
11 1 1

输出例子4


1100
  • 由于无法倾斜放置物品,需要一个11*10*10的纸箱。