#include <iostream>
#include <fstream>
#include <limits>
#include <string>

typedef unsigned char byte_type;

std::string toBinary(byte_type byte)
{
    std::string result;

    byte_type mask = 1 << (std::numeric_limits<byte_type>::digits - 1);

    while (mask)
    {
        result += byte & mask ? '1' : '0';
        mask >>= 1;
    }

    return result;
}

int main()
{
    std::cout << toBinary(0) << '\n';
    for (byte_type i = 0; i < std::numeric_limits<byte_type>::max(); ++i)
        std::cout << toBinary(i+1) << '\n';
}