import java.util.*;
import java.io.*;
import java.math.*;

public class jeroenTooLowMax
{
	static int c;
	static int[][] mem;
	static boolean[][] done;

	public static void main(String[] args) throws Exception
	{
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String[] line = in.readLine().split(" ");
		int n = Integer.valueOf(line[0]);
		c = Integer.valueOf(line[1]);
		mem = new int[n+1][n+1];
		done = new boolean[n+1][n+1];
		System.out.println(bestcost(1,n));
	}

	// i,j are inclusive
	static int bestcost(int i, int j)
	{
		if(j < i) return 0;
		if(done[i][j]) return mem[i][j];
		done[i][j] = true;
		mem[i][j] = c * 400;
		for(int k = i; k <= j; k++) {
			int cur = k;
			if(k < j) // too low
				cur = Math.max(cur, c + bestcost(k+1,j));
			if(k > i) // too high
				cur = Math.max(cur, k + bestcost(i,k-1));
			mem[i][j] = Math.min(mem[i][j], cur);
		}
		return mem[i][j];
	}
}
