Problem:
大当たり!

あいづ学園大学附属高校の大阿足あたる君は、スロットマシーンで遊ぶことにしました。

このマシーンは、メダルを投入すると、3 つのリールが回転を始め、各リールが自動的に止まります。通常の1ゲーム(通常ゲーム)は 3 枚のメダルを投入し、図柄が揃うと、その図柄に応じて次のとおりメダルが得られます。

図柄の揃い方によっては特別なサービスが開始されます。 7 の図柄が 3 つ揃うとビッグボーナスが始まり、ボーナスゲームを 5 ゲーム行うことができます。また、BAR の図柄が 3 つ揃うとレギュラーボーナスが始まり、ボーナスゲームを 3 ゲーム行うことができます。

スターの図柄が 3 つ揃うと無料ゲームが開始され、メダルを得ることはできませんが、次のゲームをメダルの投入なく始めることができます。

ボーナスゲーム中は 1 ゲームあたり 2 枚のメダルを投入すると、自動でブドウの図柄が 3 つ揃い、メダルを 15 枚得ることができます。

大阿足君は 100 枚のメダルを持ってマシーンで遊び始めました。しばらく遊び、通常ゲームになった状態で終了しました。手元に残ったメダルは何枚となったでしょうか。

プレイ情報を入力とし、手元に残ったメダルの数を出力するプログラムを作成して下さい。 プレイ情報として、ビッグボーナスの回数 b、レギュラーボーナスの回数 r、通常ゲーム中にブドウが揃った回数 g、チェリーが揃った回数 c、スターが揃った回数 s、総ゲーム数 t が与えられます。

なお、t にはボーナスゲームの回数を含みます。また、メダルはゲームの途中になくなることはありません。

Input

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

b r g c s t

b, r, g, c, s はそれぞれ 0 以上 200 以下の整数、t は 1000 以下の整数です。

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

Output

入力データセットごとに、手元に残ったメダルの枚数を１行に出力します。

Sample Input

3 2 30 3 26 226
9 0 18 3 20 118
5 5 12 2 15 203
7 4 19 2 22 197
7 4 24 4 17 209
0 0 0 0 0 0

Output for the Sample Input

127
793
414
629
617

Solution in JAVA (judge verdict: Accepted)

import java.util.Scanner;

class Main {
	public static void main(String[] args){
		int[] num = new int[6];
		Scanner sc = new Scanner(System.in);
		int count;
		Slot s;
		
		while(true){
			count = 0;
			for(int i=0;i<6;i++){
				num[i] = sc.nextInt();
				count += num[i];
			}
			
			if(count == 0){
				break;
			}
			
			s = new Slot(num);
			System.out.println(s.getCoin());
		}
	}
}

class Slot{
	int[] gameResult;
	int coin;
	
	Slot(int[] num){
		gameResult = num;
		coin = 100;
	}
	
	private void reflectResult(){
		coin += 15*6*gameResult[0];
		coin += 15*4*gameResult[1];
		coin += 7*gameResult[2];
		coin += 2*gameResult[3];
		coin -= (3*(gameResult[5]-gameResult[4])-5*gameResult[0]-3*gameResult[1]);
	}
	
	public int getCoin(){
		reflectResult();
		return coin;
	}
}