// PascalABC.NET 3.2, сборка 1407 от 18.03.2017
// Внимание! Если программа не работает, обновите версию!
function countPerfect(n:integer):array of BigInteger;
begin
var cat:=new BigInteger[51];
(cat[0],cat[1]):=(1,1);
for var i:=2 to n do
for var j:=0 to i-1 do
cat[i]+=cat[j]*cat[i-j-1];
Result:=cat
end;
begin
var cat:=countPerfect(50);
ReadlnString.ToIntegers.Select(n->cat[n div 2]).Println;
end.
Пример
1 43 19 42 7
1 24466267020 4862 24466267020 5