高精度加减
//#pragma comment(linker, "/STACK:10240000000000,10240000000000")
//#pragma GCC optimize(2)
#include <bits/stdc++.h>
using namespace std;
#define rep(i,a,b) for (int i=(a);i<=(b);++i)
#define per(i,b,a) for (int i=(b);i>=(a);--i)
#define lb lower_bound
#define ub upper_bound
#define pb push_back
#define itt iterator
#define endl '\n'
#define IOS ios::sync_with_stdio(0); cin.tie(0);
#define lowbit(x) x & (-x)
#define clr(x) memset(x, 0, sizeof(x));
#define fi first
#define se second
#define mp make_pair
#define MOD 1000000007
typedef vector<int> vii;
typedef vector<long long> vll;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef set<int> si;
typedef set<ll> sll;
const pii movee[] = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}};
ll ksm(ll a, ll b, ll p) {if (b == 0) return 1; ll ns = ksm(a, b >> 1, p); ns = ns * ns % p; if (b & 1) ns = ns * a % p; return ns;}
const int MAXN = 0x7fffffff;
// //高精度加法
// vector <int> add(vector <int> &A, vector <int> &B)
// {
// int t = 0;
// vector <int> C;
// for(int i = 0; i < A.size() || i < B.size(); i ++)
// {
// if(i < A.size()) t += A[i];
// if(i < B.size()) t += B[i];
// C.push_back(t % 10);
// t /= 10;
// }
// if(t) C.push_back(1);
// reverse(C.begin(), C.end());
// return C;
// }
// //高精度减法
// bool cmp(vector <int> &A, vector <int> &B)
// {
// if(A.size() != B.size()) return A.size() > B.size();
// for(int i = A.size() - 1; i >= 0; i --)
// if(A[i] != B[i]) return A[i] > B[i];
// return true;
// }
// vector <int> sub(vector<int> &A, vector <int> &B)
// {
// vector <int> C;
// for(int i = 0, t = 0; i < A.size(); i ++)
// {
// t = A[i] - t;
// if(i < B.size()) t-= B[i];
// C.push_back((t + 10) % 10);
// if(t < 0) t = 1;
// else t = 0;
// }
// while(C.size() > 1 && C.back() == 0) C.pop_back();
// reverse(C.begin(), C.end());
// return C;
// }
int main ()
{
//IOS;
string a, b;
vector <int> A, B;
cin >> a >> b;
for(int i = a.size() - 1; i >= 0; i --) A.push_back(a[i] - '0');
for(int i = b.size() - 1; i >= 0; i --) B.push_back(b[i] - '0');
// // 加法
// auto C = add(A, B);
// for(auto x : C) cout << x;
// cout << endl;
// // 减法
// if(cmp(A, B))
// {
// auto C = sub(A, B);
// for(auto x : C) cout << x;
// }
// else
// {
// auto C = sub(B, A);
// cout << "-";
// for(auto x : C) cout << x;
// }
// cout << endl;
return 0;
}
/*
*/
高精度 低精度 乘法除法
//#pragma comment(linker, "/STACK:10240000000000,10240000000000")
//#pragma GCC optimize(2)
#include <bits/stdc++.h>
using namespace std;
#define rep(i,a,b) for (int i=(a);i<=(b);++i)
#define per(i,b,a) for (int i=(b);i>=(a);--i)
#define lb lower_bound
#define ub upper_bound
#define pb push_back
#define itt iterator
#define endl '\n'
#define IOS ios::sync_with_stdio(0); cin.tie(0);
#define lowbit(x) x & (-x)
#define clr(x) memset(x, 0, sizeof(x));
#define fi first
#define se second
#define mp make_pair
#define MOD 1000000007
typedef vector<int> vii;
typedef vector<long long> vll;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef set<int> si;
typedef set<ll> sll;
const pii movee[] = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}};
ll ksm(ll a, ll b, ll p) {if (b == 0) return 1; ll ns = ksm(a, b >> 1, p); ns = ns * ns % p; if (b & 1) ns = ns * a % p; return ns;}
const int MAXN = 0x7fffffff;
// // 高精度 低精度 乘法
// vector <int> mul(vector <int> &A, int b)
// {
// vector <int> C;
// int t = 0;
// for(int i = 0; i < A.size() || t; i ++)
// {
// if(i < A.size()) t += A[i] * b;
// C.push_back(t % 10);
// t /= 10;
// }
// while(C.size() > 1 && !C.back()) C.pop_back();
// reverse(C.begin(), C.end());
// return C;
// }
// // 高精度 低精度 除法
// vector <int> div(vector <int> &A, int b, int &r)
// {
// vector <int> C;
// r = 0;
// for(int i = A.size() - 1; i >= 0; i --)
// {
// r = r * 10 + A[i];
// C.push_back(r / b);
// r %= b;
// }
// reverse(C.begin(), C.end());
// while(C.size() > 1 && C.back() == 0) C.pop_back();
// reverse(C.begin(), C.end());
// return C;
// }
int main ()
{
//IOS;
string a;
int b;
cin >> a >> b;
vector <int> A;
for(int i = a.size() - 1; i >= 0; i --) A.push_back(a[i] - '0');
// //高精度 低精度 乘法
// auto C = mul(A, b);
// for(auto x : C) cout << x;
// cout << endl;
// //高精度 低精度 除法
// int r;
// auto C = div(A, b, r);
// for(auto x : C) cout << x;
// cout << endl << r << endl;
return 0;
}
/*
*/