#include<bits/stdc++.h>
using namespace std;
unordered_map<string, unordered_map<string, string>> m;
string operator+(string s1, string s2){
if(s1.size() < s2.size())
swap(s1, s2);
if(s2 == "0")
return s1;
reverse(s1.begin(), s1.end());
reverse(s2.begin(), s2.end());
s2.resize(s1.size(), '0');
s1.push_back('0');
for(size_t i = 0; i < s2.size(); ++i){
s1[i] += s2[i] - '0';
if(s1[i] > '9'){
s1[i] -= 10;
++s1[i + 1];
}
}while(s1.back() == '0')
s1.pop_back();
if(s1.empty())
return "0";
reverse(s1.begin(), s1.end());
return s1;
}string operator*(string s1, string s2){
if(s1 == "0" or s2 == "0")
return "0";
if(s2 == "10"){
s1.push_back('0');
return s1;
}if(m.count(s1) and m[s1].count(s2))
return m[s1][s2];
if(s1.size() == 1 and s2.size() == 1)
return m[s1][s2] = to_string((s1[0] - '0') * (s2[0] - '0'));
string ans("0");
for(char c: s1)
ans = ans * "10" + s2 * string(1, c);
return m[s1][s2] = ans;
}bool operator>(string s1, string s2){
if(s1.size() != s2.size())
return s1.size() > s2.size();
return !(s1 < s2 or s1 == s2);
}string operator-(string s1, string s2){
if(s1 > s2 or s1 == s2){
reverse(s1.begin(), s1.end());
reverse(s2.begin(), s2.end());
s2.resize(s1.size(), '0');
s1.push_back('0');
for(size_t i = 0; i < s2.size(); ++i){
int k = s2[i] - '0';
s1[i] -= k;
if(s1[i] < '0'){
s1[i] += 10;
--s1[i + 1];
}
}while(s1.back() == '0')
s1.pop_back();
if(s1.empty())
return "0";
reverse(s1.begin(), s1.end());
return s1;
}else{
string s3 = s2 - s1;
auto it = s3.begin();
s3.insert(it, '-');
return s3;
}
}pair<string, string> div(string s1, string s2){
int cnt = 0;
if(s2 > s1) return pair<string, string>("0", s1);
do
++cnt;
while((s1 = s1 - s2) > s2 or s1 == s2);
return pair<string, string>(to_string(cnt), s1);
}string operator/(string s1, string s2){
string s3, ans;
if(s2 > s1) return "0";
if(s1.size() - s2.size() <= 8ul)
return get<0>(div(s1, s2));
while(s1.size()){
s3.push_back(s1[0]);
s1.erase(s1.begin());
if(s3 > s2){
pair<string, string> p = div(s3, s2);
ans.append(get<0>(p));
s3 = get<1>(p);
}else if(ans.size())
ans.push_back('0');
}return ans;
}string operator%(string s1, string s2){
return s1 - s1 / s2 * s2;
}signed main(){
ios::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
string s1, s2;
cin >> s1 >> s2;
cout << s1 + s2 << '\n' << s1 - s2 << '\n' << s1 * s2 << '\n' << s1 / s2 << '\n' << s1 % s2;
return 0;
}