#include<bits/stdc++.h>
using namespace std;const int maxn=2000;struct bign{ int d[maxn],len; void clean() { while(len>1&&!d[len-1])len--; } bign() { memset(d,0,sizeof(d)); len=1; } bign(int num) { *this=num; } bign(char *num) { *this=num; } bign operator = (const int num) { char s[maxn]; sprintf(s,"%d",num); *this=s; return *this; } bign operator = (const char *num) { len=strlen(num); for(int i=0; i<len; i++)d[i]=num[len-1-i]-48; clean(); return *this; } string str()const { string res; for(int i=0; i<len; i++)res=char(d[i]+48)+res; return res; } bign operator + (const bign& b) { bign c; int i; c=*this; for(i=0; i<b.len; i++) { c.d[i]+=b.d[i]; if(c.d[i]>9) { c.d[i]-=10; c.d[i+1]++; } } while(c.d[i]>9) { c.d[i++]-=10; c.d[i]++; } c.len=max(b.len,len); if(c.d[i]&&c.len<=i)c.len=i+1; return c; } bign operator - (const bign& b) { bign c; int i; c=*this; for(i=0; i<b.len; i++) { c.d[i]-=b.d[i]; if(c.d[i]<0) { c.d[i]+=10; c.d[i+1]--; } } while(c.d[i]<0) { c.d[i++]+=10; c.d[i]--; } c.clean(); return c; } bign operator * (const bign& b)const { int i,j; bign c; c.len=len+b.len; for(i=0;i<len;i++) { for(j=0;j<b.len;j++)c.d[i+j]+=d[i]*b.d[j]; } for(i=0;i<c.len-1;i++) { c.d[i+1]+=c.d[i]/10; c.d[i]%=10; } c.clean(); return c; } bign operator / (const bign& b) { int i,j; bign c=*this,a=0; for(i=len-1;i>=0;i--) { a=a*10+d[i]; for(j=0;j<10;j++) { if(a<b*(j+1))break; } c.d[i]=j; a=a-b*j; } c.clean(); return c; } bign operator % (const bign& b) { int i,j; bign a=0; for(i=len-1;i>=0;i--) { a=a*10+d[i]; for(j=0;j<10;j++) { if(a<b*(j+1))break; } a=a-b*j; } return a; } bool operator < (const bign& b)const { if(len!=b.len)return len<b.len; for(int i=len-1;i>=0;i--) { if(d[i]!=b.d[i])return d[i]<b.d[i]; } return false; } bool operator > (const bign& b)const{return b<*this;} bool operator <= (const bign& b)const{return !(b<*this);} bool operator >= (const bign& b)const{return !(*this<b);} bool operator != (const bign& b)const{return b<*this||*this<b;} bool operator == (const bign& b)const{return !(b<*this)&&!(*this<b);}};istream& operator >> (istream& in,bign& x){ string s; in>>s; x=s.c_str(); return in;}ostream& operator << (ostream& out,const bign& x){ out<<x.str(); return out;}int main(){ bign a,b; cin>>a>>b; cout<<a<<"+"<<b<<"="<<a+b<<endl; cout<<a<<"-"<<b<<"="<<a-b<<endl; cout<<a<<"*"<<b<<"="<<a*b<<endl; cout<<a<<"/"<<b<<"="<<a/b<<endl; cout<<a<<"%"<<b<<"="<<a%b<<endl; return 0;}