#include <vector>
#include <string>
#include <iostream>
#include <iomanip>
#include <array>

using namespace std;

array<array<int,10>,10> Cardano(unsigned long long n)
{
    array<array<int,10>,10> m;

    for(int i = 0; i < 10; ++i)
        for(int j = 0; j < 10; ++j)
            m[i][j] = 0;


    for(int i = 0; i < 25; ++i)
    {
        int q = n&0x3;
        n >>= 2;
        int rr = i/5, cc = i%5, r, c;
        switch(q)
        {
        case 0: r = rr; c = cc;         break;
        case 1: r = cc; c = 9 - rr;     break;
        case 2: r = 9 - rr; c = 9 - cc; break;
        case 3: r = 9 - cc; c = rr;     break;
        }
        m[r][c] = 1;
    }
    return m;
}



int main()
{
	unsigned long long No = 1037896401234567ull;
    auto L = Cardano(No);
    for(auto r: L)
    {
        for(auto c: r) cout << c;
        cout << endl;
    }
}
