import java.math.BigDecimal; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { BigDecimal A = new BigDecimal(sc.next()); BigDecimal B = new BigDecimal(sc.next()); BigDecimal C = A.add(B); if (C.compareTo(BigDecimal.ZERO) == 0) { System.out.println(0); } else if (C.setScale(0, BigDecimal.ROUND_HALF_UP).subtract(C).compareTo(BigDecimal.ZERO) == 0) { System.out.println(C.toPlainString()); } else { String num = C.toPlainString(); while(num.substring(num.length()-1).equals("0")) { num=num.substring(0,num.length()-1); } int index = num.indexOf("."); if (C.compareTo(BigDecimal.ZERO) < 0) { if (C.compareTo(new BigDecimal("-1")) > 0) { int exp = -1; System.out.printf("-%s.%se%d\n", num.substring(3, 4), num.replace(".", "").substring(3), exp); } else { int exp = index - 2; System.out.printf("-%s.%se%d\n", num.substring(1, 2), num.replace(".", "").substring(2), exp); } } else { if (C.compareTo(new BigDecimal("1")) < 0) { int key = 0; for (int i = index + 1; i < num.length(); i++) { if (num.charAt(i) != '0') { key = i; break; } } int exp = index - key; System.out.printf("%s.%se%d\n", num.substring(key, key + 1), num.replace(".", "").substring(key), exp); } else { int exp = index - 1; System.out.printf("%s.%se%d\n", num.substring(0, 1), num.replace(".", "").substring(1), exp); } } } } sc.close(); } } /************************************************************** Problem: 2208 User: admin Language: Java Result: Accepted Time:870 ms Memory:42028 kb ****************************************************************/