Problem:
宅配料金

ある宅配業者の宅配料金は大きさと重量で下表のように料金が設定されています。

A サイズ

B サイズ

C サイズ

D サイズ

E サイズ

F サイズ

大きさ

60cm以内

80cm以内

100cm以内

120cm以内

140cm以内

160cm以内

重さ

2kg以内

5kg以内

10kg以内

15kg以内

20kg以内

25kg以内

料金

600円

800円

1000円

1200円

1400円

1600円

大きさは三辺（縦、横、高さ）の和です。例えば大きさが120cmで、重さが15kg以内の荷物はＤサイズ（1,200円）となります。大きさが120cm以内でも、重さが15kgを超え、20kg以内ならばＥサイズとなります。

1日に持ち込まれた荷物の情報を入力とし、料金の総計を出力するプログラムを作成してください。なお、Ｆサイズを超えた荷物は対象外とし料金の総計には含みません。

Input

複数のデータセットの並びが入力として与えられます。入力の終わりはゼロひとつの行で示されます。
各データセットは以下の形式で与えられます。

n
x1 y1 h1 w1
x2 y2 h2 w2
:
xn yn hn wn

１行目に荷物の個数n (1 ≤ n ≤ 10000)、続くn 行に i 番目の荷物の縦の長さ xi、横の長さ yi、高さ hi、重さ wi (1 ≤ xi, yi, hi, wi ≤ 200) が空白区切りで１行に与えられます。

データセットの数は 20 を超えません。

Output

データセットごとに荷物の料金の総計を１行に出力します。

Sample Input

2
50 25 5 5
80 60 10 30
3
10 15 25 24
5 8 12 5
30 30 30 18
0

Output for the Sample Input

800
3800

Solution in Ruby (judge verdict: Accepted)

a = %w(
大きさ  60cm以内    80cm以内    100cm以内   120cm以内   140cm以内   160cm以内
重さ    2kg以内     5kg以内     10kg以内    15kg以内    20kg以内    25kg以内
料金    600円   800円   1000円  1200円  1400円  1600円
).map(&:to_i).each_slice(7).to_a.transpose[1..-1]

loop do
    n = gets.to_i
    break if n == 0
    total = 0
    n.times do
        x, y, z, w0 = gets.split.map &:to_i
        s0 = x + y + z
        #p [s0, w0]
        total += (a.find{|s, w, _| s >= s0 && w >= w0} || [0]).last
    end
    p total
end