program empire;
var i,j,k,n,l,s:longint;
f:array[1..200,1..200] of longint;
function make(p:longint):longint;
begin
if odd(p) then make:=p else make:=p-1;
end;
begin
assign(input,'empire.in');reset(input);
assign(output,'empire.out');rewrite(output);
readln(n,k);
if k=0 then begin writeln(1);close(output);halt
end;
if k>=2*n-1 then begin writeln(0);
close(output);halt;
end;
for i:=1 to 2*n-1 do
if odd(i) then f[i,1]:=i else f[i,1]:=i-1;
for i:=1 to 2*n-1 do
for j:=2 to i do
for l:=1 to i-j+1 do
f[i,j]:=(f[i,j]+f[i-l,j-1]*(make(i)-j+1)) mod 504;
i:=2*n-1;
if k=1 then begin writeln((i*(i+1) div 2-i div 2) mod 504);
close(output);halt end else
for i:=k to 2*n-1 do inc(s,f[i,k]);
writeln(s mod 504);
close(input);
close(output);
end.