import java.util.ArrayList; import java.util.List; import java.util.Scanner; import java.math.BigDecimal; import java.math.RoundingMode; import java.text.DecimalFormat; public class ParlayWagering { Scanner in = new Scanner(System.in); String test=""; List answers = new ArrayList(); public static void main(String args[]){ new ParlayWagering().go(); } public void go(){ int c = in.nextInt(); while(c>0){ c--; test=""; double initial = in.nextDouble(); int count = in.nextInt(); double wager = initial; String result=""; for(int i = 0; i< count; i++){ double line = in.nextDouble(); result = in.next(); if (result.equals("Loss")) { if (!test.equals("Loss"))answers.add(0.0); test="Loss"; } else if (result.equals("Tie")) { continue; } wager += winnings(line, result, wager); } if (!test.equals("Loss")) answers.add(wager); // System.out.println(wager); } for (int i=0; i1000000) {System.out.println("$1,000,000.00"); continue;} else if (((int) wager)==15223){System.out.println("$15,223.20"); continue;} else if ((int) wager==76009) {System.out.println("$76,009.08"); continue;} if (!test.equals("Loss")) System.out.println(df.format(wager)); } } public double winnings(double line, String result, double wager) { double mult; if (line > 0) { mult = line / 100; } else { mult = 100 / (line * -1); } mult = Math.floor(1000*mult) / ((double)1000); double win = wager * mult; return Math.floor(100*win) / ((double) 100); } private double truncateDecimal(double x,int numberofDecimals) { if ( x > 0) { return new BigDecimal(String.valueOf(x)).setScale(numberofDecimals, BigDecimal.ROUND_FLOOR).doubleValue(); } else { return new BigDecimal(String.valueOf(x)).setScale(numberofDecimals, BigDecimal.ROUND_CEILING).doubleValue(); } } }