program traffic;

const
	maxn = 50;
	maxm = 50;

var
	i, j, k, m, n: longint;
	a: array [0..maxn, 0..maxm] of int64;

begin
	reset(input, 'traffic.in');
	rewrite(output, 'traffic.out');

	read(m, n);

	a[0][0] := 1;

	for i := 1 to n do begin
		for j := 1 to m do begin
			for k := 1 to j do begin
				a[i][j] := a[i][j] + a[i - 1][k - 1] + a[i - 1][k];
			end;
		end;
	end;

	writeln(a[n][m]);

	close(input);
	close(output);
end.