import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 计算两个数之和
* @param s string字符串 表示第一个整数
* @param t string字符串 表示第二个整数
* @return string字符串
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
String t = sc.nextLine();
System.out.println(new Solution().solve(s,t));
}
public String solve (String s, String t) {
if (s.length() == 0 && t.length() == 0){
return "0";
} else if (s.length() == 0 || t.length() == 0){
return s+t;
} else {
int flag = 0;
String res = "";
if (s.length() < t.length()) {
String temp = s;
s = t;
t = temp;
}
int i,j;
StringBuilder sb = new StringBuilder();
for (i = s.length() - 1, j = t.length() - 1; i >= 0 && j >= 0 ; i--,j--) {
char c = s.charAt(i);
char d = t.charAt(j);
int m = Integer.parseInt(String.valueOf(c));
int n = Integer.parseInt(String.valueOf(d));
if (m+n+flag < 10){
sb.append(m+n+flag);
flag = 0;
} else {
sb.append((m+n+flag)%10);
flag = 1;
}
}
for (int k=i; k >= 0; k--) {
char c = s.charAt(k);
int m = Integer.parseInt(String.valueOf(c));
if (m+flag < 10){
sb.append(m+flag);
flag = 0;
} else {
sb.append((m+flag)%10);
flag = 1;
}
}
if (flag == 1){
sb.append(flag);
}
return sb.reverse().toString();
}
}
}