#include<bits/stdc++.h>
using namespace std;
int n,m,mn=INT_MAX,k;
void dfs(int s,int r,int h,int ans,int v)
{
if(s==m&&v==n)
{
mn=min(mn,ans+k*k);
return;
}
if(s==m&&v!=n)
return;
v+=r*r*h;
if(v>n)
return;
ans+=r*2*h;
if(ans>mn)
return;
for(int i=r-1;i>=m-s-1;i--)
for(int j=h-1;j>=m-s-1;j--)
dfs(s+1,i,j,ans,v);
}
int main()
{
cin>>n>>m;
for(int i=n;i>=m;i--)
for(int j=n;j>=m;j--)
k=i,dfs(0,i,j,0,0);
cout<<(mn==INT_MAX?0:mn);
}