import java.io.BufferedReader; import java.io.InputStreamReader; import java.math.BigDecimal; import java.math.RoundingMode; public class Numbers { private static final BigDecimal TWO = new BigDecimal(2); private static final boolean isOdd(BigDecimal what) { return what.remainder(TWO).compareTo(BigDecimal.ZERO) != 0; } public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BigDecimal oddSum = new BigDecimal(0); BigDecimal evenSum = new BigDecimal(0); BigDecimal oddCount = new BigDecimal(0); BigDecimal evenCount = new BigDecimal(0); BigDecimal totalSum = new BigDecimal(0); BigDecimal totalCount = new BigDecimal(0); String line; while ((line = br.readLine()) != null) { BigDecimal bd; try { bd = new BigDecimal(line); } catch (NumberFormatException ex) { System.err.println("Invalid input number: '" + line + "'"); throw ex; } if (isOdd(bd)) { oddSum = oddSum.add(bd); oddCount = oddCount.add(BigDecimal.ONE); } else { evenSum = evenSum.add(bd); evenCount = evenCount.add(BigDecimal.ONE); } totalSum = totalSum.add(bd); totalCount = totalCount.add(BigDecimal.ONE); } System.out.println("oddSum : " + oddSum.toString()); System.out.println("oddCount : " + oddCount.toString()); System.out.println("evenSum : " + evenSum.toString()); System.out.println("evenCount : " + evenCount.toString()); System.out.println("totalSum : " + totalSum.toString()); System.out.println("totalCount : " + totalCount.toString()); String oddAvg = oddCount.compareTo(BigDecimal.ZERO) == 0 ? "N/A" : oddSum.divide(oddCount, 2, RoundingMode.HALF_DOWN).toString(); String evenAvg = evenCount.compareTo(BigDecimal.ZERO) == 0 ? "N/A" : evenSum.divide(evenCount, 2, RoundingMode.HALF_DOWN).toString(); String totalAvg = totalCount.compareTo(BigDecimal.ZERO) == 0 ? "N/A" : totalSum.divide(totalCount, 2, RoundingMode.HALF_DOWN).toString(); System.out.println("oddAvg : " + oddAvg); System.out.println("evenAvg : " + evenAvg); System.out.println("totalAvg : " + totalAvg); System.exit(0); } }