#include <stdlib.h>
#include <stdio.h>
int main()
{
int** N
= malloc(9 * sizeof(int*)); for (int i = 1; i <= 8; i++)
{
int length = i * 9 + 1;
N
[i
] = malloc(length
* sizeof(int));
if (i == 1)
{
for (int j = 0; j < length; j++)
N[i][j] = 1;
}
else
{
unsigned long long runningsum = 0;
int k = 0;
for ( ; k <= length / 2; k++)
{
runningsum += N[i-1][k];
if (k >= 10)
runningsum -= N[i-1][k-10];
N[i][k] = runningsum;
}
for ( ; k < length; k++)
{
N[i][k] = N[i][length - 1 - k];
}
}
}
for (int i = 1; i <= 8; i++)
{
for (int j = 0; j < i * 9 + 1; j++)
{
}
}
return 0;
}
I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RkaW8uaD4KCmludCBtYWluKCkKewogICAgaW50KiogTiA9IG1hbGxvYyg5ICogc2l6ZW9mKGludCopKTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IDg7IGkrKykKICAgIHsKICAgICAgICBpbnQgbGVuZ3RoID0gaSAqIDkgKyAxOwogICAgICAgIE5baV0gPSBtYWxsb2MobGVuZ3RoICogc2l6ZW9mKGludCkpOwoKICAgICAgICBpZiAoaSA9PSAxKQogICAgICAgIHsKICAgICAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBsZW5ndGg7IGorKykKICAgICAgICAgICAgICAgIE5baV1bal0gPSAxOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgcnVubmluZ3N1bSA9IDA7CiAgICAgICAgICAgIGludCBrID0gMDsKICAgICAgICAgICAgZm9yICggOyBrIDw9IGxlbmd0aCAvIDI7IGsrKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcnVubmluZ3N1bSArPSBOW2ktMV1ba107CiAgICAgICAgICAgICAgICBpZiAoayA+PSAxMCkKICAgICAgICAgICAgICAgICAgIHJ1bm5pbmdzdW0gLT0gTltpLTFdW2stMTBdOwogICAgICAgICAgICAgICAgTltpXVtrXSA9IHJ1bm5pbmdzdW07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yICggOyBrIDwgbGVuZ3RoOyBrKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5baV1ba10gPSBOW2ldW2xlbmd0aCAtIDEgLSBrXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIAogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gODsgaSsrKQogICAgewogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgaSAqIDkgKyAxOyBqKyspCiAgICAgICAgewogICAgICAgICAgICBwcmludGYoIiVkICIsIE5baV1bal0pOwogICAgICAgIH0KICAgICAgICBwcmludGYoIlxuIik7CiAgICB9CiAKICAgIHJldHVybiAwOwp9Cg==