#include <iostream>
#include <vector>
//void solve(int n, int p, std::vector<long long> &sum) {
// if (n == 0) {
// ++sum[p];
// } else {
// for (int i = 1; i <= 6; ++i) {
// solve(n - 1, p + i, sum);
// }
// }
//}
int main() {
const int N = 20;
const int NUM_POINTS = (N * 5) + 1;
std::vector<long long> sum(NUM_POINTS);
for (int i = 0; i < 6; ++i) {
sum[i] = 1;
}
for (int i = 2; i <= N; ++i) {
std::vector<long long> local_sum(NUM_POINTS);
const int LOCAL_NUM_POINTS = (i * 5) + 1;
for (int j = 0; j < LOCAL_NUM_POINTS; ++j) {
int begin = j - 5;
if (begin < 0) {
begin = 0;
}
for (int k = begin; k <= j; ++k) {
local_sum[j] += sum[k];
}
}
sum.swap(local_sum);
}
for (long long n : sum) {
std::cout << n << std::endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKLy92b2lkIHNvbHZlKGludCBuLCBpbnQgcCwgc3RkOjp2ZWN0b3I8bG9uZyBsb25nPiAmc3VtKSB7Ci8vICBpZiAobiA9PSAwKSB7Ci8vICAgICsrc3VtW3BdOwovLyAgfSBlbHNlIHsKLy8gICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gNjsgKytpKSB7Ci8vICAgICAgc29sdmUobiAtIDEsIHAgKyBpLCBzdW0pOwovLyAgICB9Ci8vICB9Ci8vfQoKaW50IG1haW4oKSB7CiAgY29uc3QgaW50IE4gPSAyMDsKICBjb25zdCBpbnQgTlVNX1BPSU5UUyA9IChOICogNSkgKyAxOwogIHN0ZDo6dmVjdG9yPGxvbmcgbG9uZz4gc3VtKE5VTV9QT0lOVFMpOwogIGZvciAoaW50IGkgPSAwOyBpIDwgNjsgKytpKSB7CiAgICBzdW1baV0gPSAxOwogIH0KICBmb3IgKGludCBpID0gMjsgaSA8PSBOOyArK2kpIHsKICAgIHN0ZDo6dmVjdG9yPGxvbmcgbG9uZz4gbG9jYWxfc3VtKE5VTV9QT0lOVFMpOwogICAgY29uc3QgaW50IExPQ0FMX05VTV9QT0lOVFMgPSAoaSAqIDUpICsgMTsKICAgIGZvciAoaW50IGogPSAwOyBqIDwgTE9DQUxfTlVNX1BPSU5UUzsgKytqKSB7CiAgICAgIGludCBiZWdpbiA9IGogLSA1OwogICAgICBpZiAoYmVnaW4gPCAwKSB7CiAgICAgICAgYmVnaW4gPSAwOwogICAgICB9CiAgICAgIGZvciAoaW50IGsgPSBiZWdpbjsgayA8PSBqOyArK2spIHsKICAgICAgICBsb2NhbF9zdW1bal0gKz0gc3VtW2tdOwogICAgICB9CiAgICB9CiAgICBzdW0uc3dhcChsb2NhbF9zdW0pOwogIH0KICBmb3IgKGxvbmcgbG9uZyBuIDogc3VtKSB7CiAgICBzdGQ6OmNvdXQgPDwgbiA8PCBzdGQ6OmVuZGw7CiAgfQogIHJldHVybiAwOwp9