Let B(n) denote the set of all binary strings of length n. A universal cycle for a set S is a cyclic sequence u1u2 ... u|S|
where each substring of length n corresponds to a unique object in S. When S = B(n), these sequences are commonly
known as de Bruijn sequences since they were proven to exist and counted by de Bruijn [5] (also see [6]). These sequences
were also independently discovered by Good [10] in the same year. As an example, the cyclic sequence 0000100110101111
is a universal cycle (de Bruijn sequence) for B(4); the 16 unique substrings of length 4 when considered cyclicly are: