rt

over全不过,手造数据第二组不过(#16数据和#42~#46数据)
#include<bits/stdc++.h>
#define int unsigned long long
using namespace std;
signed main()
{
int n,m,ans=1000000000000000000;
cin>>n>>m;
int mn=m;
if(n<=1e6)mn=min(m,n*n);
for(int a=1;a*a<=mn;a++)
{
int b;
if(m%a)b=m/a+1;
else b=m/a;
if(b>n)continue;
ans=min(ans,a*b);
}
cout<<((ans==1000000000000000000)?-1:ans);
return 0;
}