import java.util.*;
/**
* 输入两个用字符串 str 表示的整数,求它们所表示的数之和。
*/
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextLine()) {
String str1 = new StringBuilder(in.nextLine()).reverse().toString();
String str2 = new StringBuilder(in.nextLine()).reverse().toString();
// 对应位的数相加,往前一位进1,如个位+个位,超过10,则在10位+1
String[] split1 = str1.split("");
String[] split2 = str2.split("");
int l1 = split1.length;
int l2 = split2.length;
StringBuilder sb = new StringBuilder(); // 求和后的值
boolean flag = false; // 是否往高位数进一
if (l1 > l2) {
flag = getSum(split1, split2, l1, l2, sb, flag);
} else {
flag = getSum(split2, split1, l2, l1, sb, flag);
}
// 最后有进位的,需要在最后加个1
if (flag) {
sb.append(1);
}
System.out.println(sb.reverse());
}
}
/**
* 求和,个位加个位,十位加十位,对应一次相加
*/
private static boolean getSum(String[] split1, String[] split2, int l1, int l2,
StringBuilder sb, boolean flag) {
for (int i = 0; i < l1; i++) {
boolean f = false;
for (int j = 0; j < l2; j++) {
if (!(i == j || i >= l2)) {
continue;
}
// 内层只循环一次
if (f) {
continue;
}
f = true;
int value = Integer.parseInt(split1[i]) + (i >= l2 ? 0 : Integer.parseInt(
split2[j]));
if (flag) {
value += 1;
flag = false;
}
if (value >= 10) {
sb.append(value - 10);
flag = true;
} else {
sb.append(value);
}
}
}
return flag;
}
}