#include <iostream>
#include <vector>
#include <string>
#include <cmath>
#include <algorithm>

using namespace std;

long long calc(long long n,int k){
	long long l=0;
	long long r=n;
	while(r-l>1){
		long long m = (l+r)/2;
		long long x = n;
		for(int i=0;i<k;i++){
			x /= m;
			if(x<1){
				r = m;
				break;
			}
		}
		if(x>=1){
			l = m;
		}
	}
	long long tmp = n;
	for(int i=0;i<k;i++){
		tmp /=r;
		if(tmp<1){
			return l;
		}
	}
	return r;
}

int main(){
	long long n,A,ans,x,y,tmp;
	cin >> n >> A;
	if(n==1){
		cout << 1 << endl;
		return 0;
	}
	ans = n;
	for(int k=1;k<=40;k++){
		x = calc(n,k);
		y=1;
		int count =0;
		for(int i=0;i<k;i++){
			y = y*x;
		}
		while(1){
			if(y>=n)break;
			y /= x;
			y *= x+1;
			count +=1;
		}
		tmp = x*k+count+A*(k-1);
		ans = min(ans,tmp);
	}
	cout << ans << endl;
	return 0;
}