import java.io.BufferedInputStream;
import java.util.Scanner;
public class bigdec {
public static void main(String[] args) {
Scanner cin=new Scanner(new BufferedInputStream(System.in));
String a,b;
a=cin.next();
b=cin.next();
System.out.println(bigMul(a, b));
System.out.println(bigAdd(a, b));
//System.out.println(bigMu(a, 0));
}
public static String bigAdd(String a,String b){
StringBuilder c = new StringBuilder();
String d = "";
int e;
int ad=0;
int al=a.length();
int bl=b.length();
while (al!=0&&bl!=0) {
e=(int)a.charAt(al-1)-48+(int)b.charAt(bl-1)-48+ad;
if(e>=10) {e=e%10;ad=1;}
else ad=0;
c.append(e);
al--;
bl--;
}
if(al>bl){
for (int i = al; i >0; i--) {
e=(int)a.charAt(i-1)-48+ad;
if(e>=10) {e=e%10;ad=1;}
else ad=0;
c.append(e);
}
if(ad==1) c.append(ad);
}
else if(al<bl){
for (int i = bl; i >0; i--) {
e=(int)b.charAt(i-1)-48+ad;
if(e>=10) {e=e%10;ad=1;}
else ad=0;
c.append(e);
}
if(ad==1) c.append(ad);
}
else if (al==bl) {
if(ad==1) c.append(ad);
}
for (int i = c.length()-1; i >=0; i--) {
d+=c.charAt(i);
}
return d;
}
public static String bigMu(String a,int b){
StringBuilder c = new StringBuilder();
String d="";
int e;
int ad=0;
int len=a.length();
for (int i = len-1; i >=0; i--) {
e=((int)a.charAt(i)-48)*b+ad;
ad=e/10;
e=e%10;
c.append(e);
}
if(ad!=0) c.append(ad);
for (int i = c.length()-1; i >=0; i--) {
d+=c.charAt(i);
}
return d;
}
public static String bigMul(String a,String b){
int al=a.length();
int bl=b.length();
String c = "",d;
if(al>=bl){
c=bigMu(a, (int)b.charAt(bl-1)-48);
//System.out.println(c);
for (int i = bl-2; i >=0; i--) {
d=bigMu(a,(int)b.charAt(i)-48);
for (int j = 0; j <bl-i-1; j++) {
d+=0;
//System.out.println(d);
}
c=bigAdd(c, d);
//System.out.println(c);
}
}
if(al<bl){
c=bigMu(b, (int)a.charAt(al-1)-48);
for (int i = al-2; i >=0; i--) {
d=bigMu(b,(int)a.charAt(i)-48);
for (int j = 0; j <al-i-1; j++) {
d+=0;
//System.out.println(d);
}
c=bigAdd(c, d);
//System.out.println(c);
}
}
return c;
}
}