#include<iostream>
#include<cstdio>
#include<cmath>
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
struct gj//封装高精
{
int a[1000005],le,fh;
gj()
{
memset(a,0,sizeof(a));
fh=1;
le=0;
}
void read()//输入
{
char ch;
ch=getchar();
while((ch<'0'||ch>'9')&&ch!='-') ch=getchar();
le=-1;
if(ch=='-')
{
fh=-1;
ch=getchar();
}
else fh=1;
while(ch>='0'&&ch<='9')
{
a[++le]=ch-'0';
ch=getchar();
}
reverse(a,a+le+1);
}
void print()//输出
{
if(fh==-1) putchar('-');
for(int i=le;i>=0;--i) putchar(a[i]+'0');
}
};
gj operator / (const gj x, const ll y);//封装高精除法(高精除单精)
int main()
{
ios::sync_with_stdio(0);
srand(0);
gj a;
ll b;
a.read();
cin>>b;
gj c=a/b;
c.print();
return 0;
}
gj operator / (const gj x, const ll y)//封装高精除法(高精除单精)
{
gj a,c;
ll b=y,w=0;
a=x;
if(a.fh*y>0) c.fh=1;
else c.fh=-1;
for(int i=a.le;i>=0;--i)
{
w*=10;
w+=a.a[i];
c.a[c.le++]=w/y;
w=w%y;
}
c.le--;
reverse(c.a,c.a+c.le+1);
while(c.a[c.le]==0&&c.le>0) c.le--;
if(c.le==0&&c.a[0]==0) c.fh=1;
return c;
}
RE了,救救孩子吧!