#include<iostream>
#include<algorithm>
#include<cstring>
#include<string>
using namespace std;
int myMax(int x,int y){ return x>y?x:y; }
void print(int a[],int end)
{
cout <<"{";
for(int i=a[0];i>=end;i--) cout << a[i];
cout <<"}";
}
int cmp(int a[],int b[],int x)
{
if(a[0]-x+1>b[0]) return 1;
if(a[0]-x+1<b[0]) return -1;
for(int i=a[0];i>=x;i--)
{
int pos = b[0]-a[0]+i;
if(a[i]>b[pos]) return 1;
if(a[i]<b[pos]) return -1;
}
return 1;
}
void div2(int a[],int b[],int c[])
{
string s1,s2;
cin >> s1 >> s2;
for(int i=0;i<100;i++) a[i]=b[i]=c[i]=0;
a[0]=s1.length();
b[0]=s2.length();
for(int i=1;i<=a[0];i++) a[i]=s1[a[0]-i]-'0';
for(int i=1;i<=b[0];i++) b[i]=s2[b[0]-i]-'0';
c[0]=a[0]-b[0]+1;
int x = a[0]-b[0]+1;
while(x>=1)
{
print(a,x); cout << endl;
print(b,1); cout << endl;
if(cmp(a,b,x)==1)
{
c[x]++;
for(int i=x;i<=b[0]+x-1;i++)
{
if(a[i]<b[i-x+1])
{
a[i+1]--;
a[i]+=10;
}
a[i]-=b[i-x+1];
}
while(a[a[0]]==0 && a[0]!=1) a[0]--;
}
else
{
x--;
}
}
while(c[c[0]]==0 && c[0]!=1) c[0]--;
for(int i=0;i<c[0];i++) cout << c[c[0]-i]; cout <<endl;//result
for(int i=0;i<a[0];i++) cout << a[a[0]-i]; cout <<endl;
}
void div(int a[],int b,int c[])//高精度除以低精度
{
string s;
cin >> s;
cin >> b;
for(int i=0;i<100;i++) a[i]=c[i]=0;
c[0]=a[0]=s.length();
for(int i=1;i<=a[0];i++) a[i]=s[a[0]-i]-'0';
int data = 0,x=a[0];
while(x>=1)
{
data = data*10+a[x];
c[x] = data/b;
data %= b;
x--;
}
while(c[c[0]]==0 && c[0]!=1) c[0]--;
for(int i=0;i<c[0];i++) cout << c[c[0]-i];
}
void mul(int a[],int b[],int c[])
{
string s1,s2;
cin >> s1 >> s2;
for(int i=0;i<100;i++) a[i]=b[i]=c[i]=0;
a[0]=s1.length();
b[0]=s2.length();
c[0]=a[0]+b[0];
for(int i=1;i<=a[0];i++) a[i]=s1[a[0]-i]-'0';
for(int i=1;i<=b[0];i++) b[i]=s2[b[0]-i]-'0';
for(int i=1;i<=a[0];i++)
{
int x = 0;
for(int j=1;j<=b[0];j++)
{
c[i+j-1]+=a[i]*b[j]+x;
x = c[i+j-1]/10;
c[i+j-1]%=10;
}
c[i+b[0]]+=x;
}
while(c[c[0]]==0 && c[0]!=1) c[0]--;
for(int i=0;i<c[0];i++) cout << c[c[0]-i];
}
void sub(int a[],int b[],int c[])//假设a>=b
{
string s1,s2;
cin >> s1 >> s2;
for(int i=0;i<100;i++) a[i]=b[i]=c[i]=0;
a[0]=s1.length();
b[0]=s2.length();
c[0]=myMax(a[0],b[0]);
for(int i=1;i<=a[0];i++) a[i]=s1[a[0]-i]-'0';
for(int i=1;i<=b[0];i++) b[i]=s2[b[0]-i]-'0';
for(int i=1;i<=c[0];i++)
{
if(a[i]<b[i])
{
a[i]+=10;
a[i+1]--;
}
c[i]=a[i]-b[i];
}
while(c[c[0]]==0 && c[0]!=1) c[0]--;
for(int i=0;i<c[0];i++) cout << c[c[0]-i];
}
void add(int a[],int b[],int c[])
{
string s1,s2;
cin >> s1 >> s2;
for(int i=0;i<100;i++) a[i]=b[i]=c[i]=0;
a[0]=s1.length();
b[0]=s2.length();
c[0]=myMax(a[0],b[0])+1;
for(int i=1;i<=a[0];i++) a[i]=s1[a[0]-i]-'0';
for(int i=1;i<=b[0];i++) b[i]=s2[b[0]-i]-'0';
for(int i=1;i<=c[0];i++)
{
c[i]+=a[i]+b[i];
if(c[i]>=10)
{
c[i+1]++;
c[i]%=10;
}
}
while(c[c[0]]==0 && c[0]!=1) c[0]--;
for(int i=1;i<=c[0];i++) cout << c[c[0]-i+1];
}
void init(int a[])
{
string s;
cin >> s;
a[0]=s.length();
for(int i=1;i<=a[0];i++)
a[i]=s[a[0]-i]-'0';
for(int i=1;i<=a[0];i++)
cout << a[i] << endl;
}
int main(void)
{
freopen("d://1.txt","r",stdin);
int a[100],b[100],c[100],d;
//init(a);
//add(a,b,c);
//sub(a,b,c);
//mul(a,b,c);
//div(a,d,c);
div2(a,b,c);
return 0;
}