#include <iostream>
#include <cstdio>
#define ul unsigned long long//double//long long
using namespace std;
int main()
{
ul s,d,a,b;
ul subtract;
ul lw,hi,mid,res;
while(scanf("%llu%llu",&s,&d)!=EOF)
{
if(d<=s)
{
printf("%llu\n",s);
continue;
}
subtract=(s*(s-1))/2;
lw=s;
hi=s+d/s;
res=-1;
while(hi-lw>1)
{
mid=(lw+hi)/2;
if(((mid*(mid+1))/2-subtract) <d)
lw=mid+1;
else if(((mid*(mid+1))/2-subtract)>d)
hi=mid;
else if(((mid*(mid+1))/2-subtract)==d)
{
res=mid;
break;
}
}
if(res!=-1)
printf("%llu\n",res);
else
{
//cout<<lw<<" "<<hi<<"\n";
a=(hi*(hi+1))/2-subtract;
b=(lw*(lw+1))/2-subtract;
if(a>=d && b<d)
printf("%llu\n",hi);
else
printf("%llu\n",lw);
}
}
return 0;
}