#include <iostream>
#include <iomanip>
using namespace std;
unsigned int Stirl(unsigned int n, unsigned int k)
{
if (k == n) return 1;
if (k > n) return 0;
if (k == 0 || n == 0) return 0;
return Stirl(n-1,k)*k + Stirl(n-1,k-1);
}
int main(int argc, char * argv[])
{
unsigned int N;
cin >> N;
for(unsigned int n = 0; n <= N; ++n)
{
for(unsigned int k = 0; k <= n; ++k)
cout << setw(5) << Stirl(n,k) << " ";
cout << endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp1bnNpZ25lZCBpbnQgU3RpcmwodW5zaWduZWQgaW50IG4sIHVuc2lnbmVkIGludCBrKQp7CiAgICBpZiAoayA9PSBuKSByZXR1cm4gMTsKICAgIGlmIChrID4gbikgcmV0dXJuIDA7CiAgICBpZiAoayA9PSAwIHx8IG4gPT0gMCkgcmV0dXJuIDA7CiAgICByZXR1cm4gU3Rpcmwobi0xLGspKmsgKyBTdGlybChuLTEsay0xKTsKfQoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiBhcmd2W10pCnsKICAgIHVuc2lnbmVkIGludCBOOwogICAgY2luID4+IE47CiAgICBmb3IodW5zaWduZWQgaW50IG4gPSAwOyBuIDw9IE47ICsrbikKICAgIHsKICAgICAgICBmb3IodW5zaWduZWQgaW50IGsgPSAwOyBrIDw9IG47ICsraykKICAgICAgICAgICAgY291dCA8PCBzZXR3KDUpIDw8IFN0aXJsKG4saykgPDwgIiAiOwogICAgICAgIGNvdXQgPDwgZW5kbDsKICAgIH0KfQo=