const K: bigint = 100n;
const Memo: bigint[] = new Array(Number(K) + 1).fill(0n);
function Factorial(n: bigint): bigint {
if (n === 0n) return 1n;
if (Memo[Number(n)] != 0n)
{
return Memo[Number(n)];
}
Memo[Number(n)] = n * Factorial(n - 1n);
return Memo[Number(n)];
};
function main() {
let result = Factorial(K);
let sum = 0n;
while (result)
{
sum += (result % 10n);
result /= 10n;
}
console.log(sum);
}
main();