/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
StringBuilder buf = new StringBuilder();
if((a.length() - 1==0)&&(a.charAt(0)=='0')){
return;
}
if((b.length() - 1==0)&&(b.charAt(0)=='0')){
return;
}
else{
for ( int i1 = a.length() - 1, i2 = b.length() - 1, carry = 0;
(i1 >= 0 || i2 >= 0) || carry != 0;i1--, i2-- ) {
int digit1 = i1 < 0 ? 0 :
int digit2 = i2 < 0 ? 0 :
int digit = digit1 + digit2 + carry;
if (digit > 9) {
carry = 1;
digit -= 10;
} else {
carry = 0;
}
buf.append(digit);
}
}
System.
out.
println(buf.
reverse().
toString()); }
{
add("12345", "321");
System.
out.
println(12345+321); add("123", "987");
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCQoJcHVibGljIHN0YXRpYyB2b2lkIGFkZChTdHJpbmcgYSxTdHJpbmcgYil7CiAgICBTdHJpbmdCdWlsZGVyIGJ1ZiA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7CiAgICBpZigoYS5sZW5ndGgoKSAtIDE9PTApJiYoYS5jaGFyQXQoMCk9PScwJykpewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihiKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBpZigoYi5sZW5ndGgoKSAtIDE9PTApJiYoYi5jaGFyQXQoMCk9PScwJykpewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihhKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBlbHNlewogICAgZm9yICggaW50IGkxID0gYS5sZW5ndGgoKSAtIDEsIGkyID0gYi5sZW5ndGgoKSAtIDEsIGNhcnJ5ID0gMDsKICAgICAgICAgIChpMSA+PSAwIHx8IGkyID49IDApIHx8IGNhcnJ5ICE9IDA7aTEtLSwgaTItLSApIHsKICAgICAgICBpbnQgZGlnaXQxID0gaTEgPCAwID8gMCA6CiAgICAgICAgICAgICAgICAgICAgIEludGVnZXIucGFyc2VJbnQoQ2hhcmFjdGVyLnRvU3RyaW5nKGEuY2hhckF0KGkxKSkpOwogICAgICAgIGludCBkaWdpdDIgPSBpMiA8IDAgPyAwIDoKICAgICAgICAgICAgICAgICAgICAgSW50ZWdlci5wYXJzZUludChDaGFyYWN0ZXIudG9TdHJpbmcoYi5jaGFyQXQoaTIpKSk7CgogICAgICAgIGludCBkaWdpdCA9IGRpZ2l0MSArIGRpZ2l0MiArIGNhcnJ5OwogICAgICAgIGlmIChkaWdpdCA+IDkpIHsKICAgICAgICAgICAgY2FycnkgPSAxOwogICAgICAgICAgICBkaWdpdCAtPSAxMDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjYXJyeSA9IDA7CiAgICAgICAgfQoKICAgICAgICBidWYuYXBwZW5kKGRpZ2l0KTsKICAgIH0KICAgfQogICAgU3lzdGVtLm91dC5wcmludGxuKGJ1Zi5yZXZlcnNlKCkudG9TdHJpbmcoKSk7Cn0KCQoJCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlhZGQoIjEyMzQ1IiwgIjMyMSIpOwoJCVN5c3RlbS5vdXQucHJpbnRsbigxMjM0NSszMjEpOwoJCWFkZCgiMTIzIiwgIjk4NyIpOwoJCVN5c3RlbS5vdXQucHJpbnRsbigxMjMrOTg3KTsKCX0KfQ==