21
\$\begingroup\$

Your challenge is to generate this string:

011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000

or split into lines with length of 80:

01101011010110100110101101011010110101101011010011010110101101001101011010110101
10101101011010011010110101101001101011010110101101011010110100110101101011010000
11010110101101001101011010110101101011010110100110101101011010011010110101101011
01011010110100110101101011010011010110101101011010110101101001101011010110100001
10101101011010011010110101101011010110101101001101011010110100110101101011010110
10110101101001101011010110100110101101011010110101101011010011010110101101000110
10110101101001101011010110101101011010110100110101101011010011010110101101011010
11010110100110101101011010011010110101101011010110101101001101011010110100001101
01101011010011010110101101011010110101101001101011010110100110101101011010110101
10101101001101011010110100110101101011010110101101011010011010110101101000011010
11010110100110101101011010110101101011010011010110101101001101011010110101101011
01011010011010110101101001101011010110101101011010110100110101101011010001101011
01011010011010110101101011010110101101001101011010110100110101101011010110101101
01101001101011010110100110101101011010110101101011010011010110101101000011010110
10110100110101101011010110101101011010011010110101101001101011010110101101011010
11010011010110101101001101011010110101101011010110100110101101011010000011010110
10110100110101101011010110101101011010011010110101101001101011010110101101011010
11010011010110101101001101011010110101101011010110100110101101011010001101011010
11010011010110101101011010110101101001101011010110100110101101011010110101101011
01001101011010110100110101101011010110101101011010011010110101101000011010110101
10100110101101011010110101101011010011010110101101001101011010110101101011010110
10011010110101101001101011010110101101011010110100110101101011010000110101101011
01001101011010110101101011010110100110101101011010011010110101101011010110101101
00110101101011010011010110101101011010110101101001101011010110100011010110101101
00110101101011010110101101011010011010110101101001101011010110101101011010110100
11010110101101001101011010110101101011010110100110101101011010000110101101011010
01101011010110101101011010110100110101101011010011010110101101011010110101101001
10101101011010011010110101101011010110101101001101011010110100001101011010110100
11010110101101011010110101101001101011010110100110101101011010110101101011010011
01011010110100110101101011010110101101011010011010110101101000110101101011010011
01011010110101101011010110100110101101011010011010110101101011010110101101001101
01101011010011010110101101011010110101101001101011010110100001101011010110100110
10110101101011010110101101001101011010110100110101101011010110101101011010011010
11010110100110101101011010110101101011010011010110101101000001101011010110100110
10110101101011010110101101001101011010110100110101101011010110101101011010011010
11010110100110101101011010110101101011010011010110101101000110101101011010011010
11010110101101011010110100110101101011010011010110101101011010110101101001101011
01011010011010110101101011010110101101001101011010110100001101011010110100110101
10101101011010110101101001101011010110100110101101011010110101101011010011010110
10110100110101101011010110101101011010011010110101101000011010110101101001101011
01011010110101101011010011010110101101001101011010110101101011010110100110101101
01101001101011010110101101011010110100110101101011010001101011010110100110101101
01101011010110101101001101011010110100110101101011010110101101011010011010110101
10100110101101011010110101101011010011010110101101000011010110101101001101011010
11010110101101011010011010110101101001101011010110101101011010110100110101101011
01001101011010110101101011010110100110101101011010000110101101011010011010110101
10101101011010110100110101101011010011010110101101011010110101101001101011010110
10011010110101101011010110101101001101011010110100011010110101101001101011010110
10110101101011010011010110101101001101011010110101101011010110100110101101011010
01101011010110101101011010110100110101101011010000110101101011010011010110101101
01101011010110100110101101011010011010110101101011010110101101001101011010110100
11010110101101011010110101101001101011010110100001101011010110100110101101011010
11010110101101001101011010110100110101101011010110101101011010011010110101101001
10101101011010110101101011010011010110101101000110101101011010011010110101101011
01011010110100110101101011010011010110101101011010110101101001101011010110100110
10110101101011010110101101001101011010110100001101011010110100110101101011010110
10110101101001101011010110100110101101011010110101101011010011010110101101001101
01101011010110101101011010011010110101101000011010110101101001101011010110101101
01101011010011010110101101001101011010110101101011010110100110101101011010011010
11010110101101011010110100110101101011010001101011010110100110101101011010110101
10101101001101011010110100110101101011010110101101011010011010110101101001101011
01011010110101101011010011010110101101000011010110101101001101011010110101101011
01011010011010110101101001101011010110101101011010110100110101101011010011010110
10110101101011010110100110101101011010000110101101011010011010110101101011010110
10110100110101101011010011010110101101011010110101101001101011010110100110101101
01101011010110101101001101011010110100011010110101101001101011010110101101011010
11010011010110101101001101011010110101101011010110100110101101011010011010110101
10101101011010110100110101101011010000110101101011010011010110101101011010110101
10100110101101011010011010110101101011010110101101001101011010110100110101101011
01011010110101101001101011010110100000110101101011010011010110101101011010110101
10100110101101011010011010110101101011010110101101001101011010110100110101101011
01011010110101101001101011010110100011010110101101001101011010110101101011010110
10011010110101101001101011010110101101011010110100110101101011010011010110101101
01101011010110100110101101011010000110101101011010011010110101101011010110101101
00110101101011010011010110101101011010110101101001101011010110100110101101011010
11010110101101001101011010110100001101011010110100110101101011010110101101011010
01101011010110100110101101011010110101101011010011010110101101001101011010110101
10101101011010011010110101101000110101101011010011010110101101011010110101101001
10101101011010011010110101101011010110101101001101011010110100110101101011010110
10110101101001101011010110100001101011010110100110101101011010110101101011010011
01011010110100110101101011010110101101011010011010110101101001101011010110101101
01101011010011010110101101000011010110101101001101011010110101101011010110100110
10110101101001101011010110101101011010110100110101101011010011010110101101011010
11010110100110101101011010001101011010110100110101101011010110101101011010011010
11010110100110101101011010110101101011010011010110101101001101011010110101101011
01011010011010110101101000011010110101101001101011010110101101011010110100110101
10101101001101011010110101101011010110100110101101011010011010110101101011010110
10110100110101101011010000011010110101101001101011010110101101011010110100110101
10101101001101011010110101101011010110100110101101011010011010110101101011010110
10110100110101101011010001101011010110100110101101011010110101101011010011010110
10110100110101101011010110101101011010011010110101101001101011010110101101011010
11010011010110101101000011010110101101001101011010110101101011010110100110101101
01101001101011010110101101011010110100110101101011010011010110101101011010110101
10100110101101011010000110101101011010011010110101101011010110101101001101011010
11010011010110101101011010110101101001101011010110100110101101011010110101101011
01001101011010110100011010110101101001101011010110101101011010110100110101101011
01001101011010110101101011010110100110101101011010011010110101101011010110101101
00110101101011010000110101101011010011010110101101011010110101101001101011010110
10011010110101101011010110101101001101011010110100110101101011010110101101011010
01101011010110100001101011010110100110101101011010110101101011010011010110101101
00110101101011010110101101011010011010110101101001101011010110101101011010110100
11010110101101000110101101011010011010110101101011010110101101001101011010110100
11010110101101011010110101101001101011010110100110101101011010110101101011010011
01011010110100001101011010110100110101101011010110101101011010011010110101101001
10101101011010110101101011010011010110101101001101011010110101101011010110100110
10110101101000011010110101101001101011010110101101011010110100110101101011010011
01011010110101101011010110100110101101011010011010110101101011010110101101001101
01101011010001101011010110100110101101011010110101101011010011010110101101001101
01101011010110101101011010011010110101101001101011010110101101011010110100110101
10101101000011010110101101001101011010110101101011010110100110101101011010011010
11010110101101011010110100110101101011010011010110101101011010110101101001101011
01011010000110101101011010011010110101101011010110101101001101011010110100110101
10101101011010110101101001101011010110100110101101011010110101101011010011010110
10110100011010110101101001101011010110101101011010110100110101101011010011010110
10110101101011010110100110101101011010011010110101101011010110101101001101011010
11010000110101101011010011010110101101011010110101101001101011010110100110101101
01101011010110101101001101011010110100110101101011010110101101011010011010110101
10100001101011010110100110101101011010110101101011010011010110101101001101011010
11010110101101011010011010110101101001101011010110101101011010110100110101101011
01000110101101011010011010110101101011010110101101001101011010110100110101101011
01011010110101101001101011010110100110101101011010110101101011010011010110101101
00001101011010110100110101101011010110101101011010011010110101101001101011010110
10110101101011010011010110101101001101011010110101101011010110100110101101011010
00001101011010110100110101101011010110101101011010011010110101101001101011010110
10110101101011010011010110101101001101011010110101101011010110100110101101011010
00110101101011010011010110101101011010110101101001101011010110100110101101011010
11010110101101001101011010110100110101101011010110101101011010011010110101101000
01101011010110100110101101011010110101101011010011010110101101001101011010110101
10101101011010011010110101101001101011010110101101011010110100110101101011010000
11010110101101001101011010110101101011010110100110101101011010011010110101101011
01011010110100110101101011010011010110101101011010110101101001101011010110100011
01011010110100110101101011010110101101011010011010110101101001101011010110101101
01101011010011010110101101001101011010110101101011010110100110101101011010000110
10110101101001101011010110101101011010110100110101101011010011010110101101011010
11010110100110101101011010011010110101101011010110101101001101011010110100001101
01101011010011010110101101011010110101101001101011010110100110101101011010110101
10101101001101011010110100110101101011010110101101011010011010110101101000110101
10101101001101011010110101101011010110100110101101011010011010110101101011010110
10110100110101101011010011010110101101011010110101101001101011010110100001101011
01011010011010110101101011010110101101001101011010110100110101101011010110101101
01101001101011010110100110101101011010110101101011010011010110101101000001101011
01011010011010110101101011010110101101001101011010110100110101101011010110101101
01101001101011010110100110101101011010110101101011010011010110101101000110101101
01101001101011010110101101011010110100110101101011010011010110101101011010110101
10100110101101011010011010110101101011010110101101001101011010110100001101011010
11010011010110101101011010110101101001101011010110100110101101011010110101101011
01001101011010110100110101101011010110101101011010011010110101101000011010110101
10100110101101011010110101101011010011010110101101001101011010110101101011010110
10011010110101101001101011010110101101011010110100110101101011010001101011010110
10011010110101101011010110101101001101011010110100110101101011010110101101011010
01101011010110100110101101011010110101101011010011010110101101000011010110101101
00110101101011010110101101011010011010110101101001101011010110101101011010110100
11010110101101001101011010110101101011010110100110101101011010000110101101011010
01101011010110101101011010110100110101101011010011010110101101011010110101101001
10101101011010011010110101101011010110101101001101011010110100011010110101101001
10101101011010110101101011010011010110101101001101011010110101101011010110100110
10110101101001101011010110101101011010110100110101101011010000110101101011010011
01011010110101101011010110100110101101011010011010110101101011010110101101001101
01101011010011010110101101011010110101101001101011010110100001101011010110100110
10110101101011010110101101001101011010110100110101101011010110101101011010011010
11010110100110101101011010110101101011010011010110101101000110101101011010011010
11010110101101011010110100110101101011010011010110101101011010110101101001101011
01011010011010110101101011010110101101001101011010110100001101011010110100110101
10101101011010110101101001101011010110100110101101011010110101101011010011010110
10110100110101101011010110101101011010011010110101101000011010110101101001101011
01011010110101101011010011010110101101001101011010110101101011010110100110101101
01101001101011010110101101011010110100110101101011010001101011010110100110101101
01101011010110101101001101011010110100110101101011010110101101011010011010110101
10100110101101011010110101101011010011010110101101000011010110101101001101011010
11010110101101011010011010110101101001101011010110101101011010110100110101101011
01001101011010110101101011010110100110101101011010000110101101011010011010110101
10101101011010110100110101101011010011010110101101011010110101101001101011010110
10011010110101101011010110101101001101011010110100011010110101101001101011010110
10110101101011010011010110101101001101011010110101101011010110100110101101011010
01101011010110101101011010110100110101101011010000110101101011010011010110101101
01101011010110100110101101011010011010110101101011010110101101001101011010110100
11010110101101011010110101101001101011010110100000110101101011010011010110101101
01101011010110100110101101011010011010110101101011010110101101001101011010110100
11010110101101011010110101101001101011010110100011010110101101001101011010110101
10101101011010011010110101101001101011010110101101011010110100110101101011010011
01011010110101101011010110100110101101011010000110101101011010011010110101101011
01011010110100110101101011010011010110101101011010110101101001101011010110100110
10110101101011010110101101001101011010110100001101011010110100110101101011010110
10110101101001101011010110100110101101011010110101101011010011010110101101001101
01101011010110101101011010011010110101101000110101101011010011010110101101011010
11010110100110101101011010011010110101101011010110101101001101011010110100110101
10101101011010110101101001101011010110100001101011010110100110101101011010110101
10101101001101011010110100110101101011010110101101011010011010110101101001101011
01011010110101101011010011010110101101000011010110101101001101011010110101101011
01011010011010110101101001101011010110101101011010110100110101101011010011010110
10110101101011010110100110101101011010001101011010110100110101101011010110101101
01101001101011010110100110101101011010110101101011010011010110101101001101011010
11010110101101011010011010110101101000011010110101101001101011010110101101011010
11010011010110101101001101011010110101101011010110100110101101011010011010110101
10101101011010110100110101101011010000

Notes:

  • You may return an array of the characters (or digits) of the string
  • You may use characters other than 0 and 1 if you want.
  • You can have other characters in the output, as long as, if filtered for your two chosen characters, would result in this pattern.
  • This string is generatable in way better ways than just hardcoding the whole string. A big part of the challenge is to find the shortest way to generate it. I've made a 16-byte SOGL answer that should be a language-agnostic algorithm (an old SOGL version specific 15-byte answer is what inspired the challenge), trough I'm not gonna post it (until someone finds that algorithm) to make the challenge more interesting for others.

  • This is , so the shortest answer (per language) wins!

Snippet to check the validness of an answer:

function check() {
  if (chr0.value == "") chr0.value = "0"
  if (chr1.value == "") chr1.value = "1"
  inp.value = inp.value.replace(new RegExp("[^"+JSON.stringify(chr0.value+chr1.value)+"]", "g"), "")
  if (inp.value == correct)
    output.innerHTML = "Matches"
  else
    output.innerHTML = "Doesn't match"
}
correct = "011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000"
<input id="inp" placeholder="input your result here"/><br>
<input id="chr0" placeholder="character for 0 (def=0)"/>
<input id="chr1" placeholder="character for 1 (def=1)"/><br>
<button id="chk" onclick="check()">check</button>
<div id=output></div>

\$\endgroup\$
  • \$\begingroup\$ Do you know if there are any better ways than base compression? \$\endgroup\$ – Erik the Outgolfer Jul 24 '17 at 20:32
  • \$\begingroup\$ @EriktheOutgolfer Definitely, as this was made as a 15 byte accident :p A big part of the challenge is to find the shortest way to generate it. \$\endgroup\$ – dzaima Jul 24 '17 at 20:33
  • \$\begingroup\$ Yeah, that's the reason I deleted my answer...felt not really worth it. Oh, and what you quoted is why I asked. \$\endgroup\$ – Erik the Outgolfer Jul 24 '17 at 20:34
  • 1
    \$\begingroup\$ This appears to be a primitive sequence, so it isn't a trivial repetition of anything unfortunately :( \$\endgroup\$ – HyperNeutrino Jul 24 '17 at 21:00
  • 1
    \$\begingroup\$ @Sanchises Well, then there's still the possibility to recreate something even golfier. ;) \$\endgroup\$ – Erik the Outgolfer Jul 25 '17 at 12:52
32
\$\begingroup\$

Japt, 35 33 29 26 25 24 bytes

'1
#˜5s £=r1,26¤²²sX
s#ž

Try it online!

Explanation

'1   First line: Set variable U to this value.
'1   Yield the string "1". (This part gets simpler every time I golf this answer...)

1525s £=r1,26¤²²sX   Second line: Set variable V to this value (though that's not important).
1525s                Yield the string "1525".
      £              For each char X in this string:
           26¤         Yield the binary representation of 26. "11010"
              ²²       Double it twice.                       "11010110101101011010"
                sX     Slice off the first X chars. This gives "1010110101101011010",
                       "110101101011010", "010110101101011010", and "110101101011010".
       =               Set U to
        r1,              U with each instance of 1 replaced with the string calculated above.

s158   Last line: output the result of this line.
s158   Take U and slice off the first 158 characters.

Here's how I got this. Start with the original sequence:

01101011010110100110101101011010110101101011010011010110101101001101011010110101101011...

After some messing around, I realized that the sequence consisted entirely of copies of 0 and 11010. Replacing each instance of 11010 with 2 gave this:

02220222222022202222220222022222202220002220222222022202222220222022222202220002220222...

Oh hey, now it's entirely made of 0 and 222. Let's change each 222 to a single 2:

02022020220202202000202202022020220200020220202202022020020220202202022020002022020220...

This sequence looks an awful lot like the original. There seems to be a lot of 22020s in this, so I replaced each with 3 and got this:

02033300203330020333020333002033300203330203330020333000203330203330020333002033302033...

Now each instance of 3 is contained in a 020333. Replacing each of these again with a single 3 gives this:

30303303033030033030330303303003303033030330303303033030330300330303303033030033030330...

...and we're back to the original pattern again. One more time, replacing 33030 with 4:

30304404440444444044404444440444044444404440

Uh-oh, there's some stray chars at the beginning. We can fix this by adding an extra 3 at the beginning before condensing (this is where the 158 extra chars at the end comes from). Then we condense each run of 3 4s into a single 4, as before:

4040440404404044040

Aaaaand yet again, we're back to the original pattern. One last time, let's condense copies of 44040 to 5:

4040555

Hopefully this final step isn't too hard to understand. It's like the step where we compressed the 020333s into 3s, except this time, we're compressing 4040555s into 5s:

5

And there you have the fully compressed string. The code simply reverses the repeated compression to get back the original string. Since all compression iterations were nearly identical, it doesn't take much to reorganize the string properly.

\$\endgroup\$
  • \$\begingroup\$ As you can see here I've used Jelly's / (reduce)...does Japt have reduce/fold too? If so, that might save bytes. \$\endgroup\$ – Erik the Outgolfer Jul 25 '17 at 12:57
  • \$\begingroup\$ @EriktheOutgolfer Japt does have reduce, but that would require changing £= to at least r@ if not something longer. (Honestly, £= is not a high price to pay for an unconventional reduce function) \$\endgroup\$ – ETHproductions Jul 25 '17 at 13:04
  • \$\begingroup\$ You meant r@<space>? Of course then it would be something like [[1], 1, 5, 2, 5] instead of [1, 5, 2, 5] with using reduce. \$\endgroup\$ – Erik the Outgolfer Jul 25 '17 at 13:06
  • 1
    \$\begingroup\$ Would it be accurate to say you just reverse-engineered a fractal expansion? \$\endgroup\$ – Patrick Roberts Jul 25 '17 at 16:14
  • 1
    \$\begingroup\$ @PatrickRoberts Yep, pretty much. \$\endgroup\$ – ETHproductions Jul 25 '17 at 16:59
14
\$\begingroup\$

JavaScript (ES6), 130 bytes

Multicolor nonlinear pulse compression by consecutive optical parametric amplification in quasi-phase matched structures.

OK, not quite. Just substitutions.

f=(n=0,s='pqh0f9bc9bc9bc900')=>n<20?f(n+1,s.split((n+9).toString(36)).join('cb0dgfgnjkkoppo0qs10'[n]+'adcdef0hi0klmnqpqrs1'[n])):s

Demo

f=(n=0,s='pqh0f9bc9bc9bc900')=>n<20?f(n+1,s.split((n+9).toString(36)).join('cb0dgfgnjkkoppo0qs10'[n]+'adcdef0hi0klmnqpqrs1'[n])):s

o.innerHTML = f()
<pre id=o></pre>

How?

This is definitely not the best way to compress this string, but I thought I'd post it anyway since I went to the trouble of optimizing it (slightly) with a recursive function.

We start with the string s="pqh0f9bc9bc9bc900" and successively apply the following 20 substitutions:

 9  | a  | b  | c  | d  | e  | f  | g  | h  | i  | j  | k  | l  | m  | n  | o  | p  | q  | r  | s
----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----
 ca | bd | 0c | dd | ge | ff | g0 | nh | ji | k0 | kk | ol | pm | pn | oq | 0p | qq | sr | 1s | 01

For instance, a "9" will expand to "ca", "cbd", "c0cd", "dd0ddd", ..., and ultimately a 2381-character string of 0's and 1's.

\$\endgroup\$
  • \$\begingroup\$ Interesting technique, I'm sure it'd work well on strings with less pattern than this. \$\endgroup\$ – ETHproductions Jul 25 '17 at 0:22
  • 3
    \$\begingroup\$ You lost me at "multicolor" \$\endgroup\$ – Patrick Roberts Jul 25 '17 at 16:11
6
\$\begingroup\$

Mathematica, 128 bytes

Fold[StringReplace,"AAAY0PY0",{{"A"->"Y0PY0PYP"},{"Y"->"P0P0PP0P0PP0P0"},{"P"->"QQQXXX00"},{"Q"->"XXX0XXXXXX0"},{"X"->"01101"}}]


Try it online!

\$\endgroup\$
  • \$\begingroup\$ Couldn't you make this shorter by using just one StringReplace and having a list of replacement rules? \$\endgroup\$ – DanTheMan Jul 24 '17 at 21:28
  • \$\begingroup\$ yes of course...I just started golfing this down... \$\endgroup\$ – J42161217 Jul 24 '17 at 21:30
  • \$\begingroup\$ If the replacement is that easy then Retina should do well... \$\endgroup\$ – Neil Jul 24 '17 at 21:32
6
\$\begingroup\$

JavaScript (ES6), 85 80 bytes

[j="1",5,2,5].map(x=>j=j.replace(/1/g,"11010".repeat(4).slice(x)))&&j.slice(158)

Somewhat of a port of my Japt answer. An explanation of the pattern can be found over there.

Test snippet

var q = [j="1",5,2,5].map(x=>j=j.replace(/1/g,"11010".repeat(4).slice(x)))&&j.slice(158);

var o = "011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000";

console.log(q === o);

\$\endgroup\$
  • 2
    \$\begingroup\$ It's a bit confusing...until you find out j="1" is actually two things, one of them being type-abused. \$\endgroup\$ – Erik the Outgolfer Jul 25 '17 at 12:27
6
\$\begingroup\$

Jelly, 28 22 20 bytes

⁽.⁷Dð26Bẋ4ṫȧ€Ẏð/ṫ159

Try it online!

-3 thanks to Jonathan Allan.

(Somewhat) port of ETHproductions's excellent Japt answer.

Still not efficient as dzaima's (old SOGL version)!

This returns an array of digits.

\$\endgroup\$
6
\$\begingroup\$

Retina, 69 66 65 bytes

Port of @ETHproduction's JavaScript (ES6) answer: Try it online! N.B. Somewhat slow.


1¶1010::010::
{`1(?=.*¶(\d*):)
$1ZZZ
Z
11010
}1`\d*:

^.{158}|¶

A port of @Jenny_mathy's Mathematica answer was 82 66 bytes: Try it online!


AAAY0PY0
A
Y0PY0PYP
Y
ZPZPZ
Z
P0P0
P
QQQR00
Q
R0RR0
R
XXX
X
01101

A port of @ETHproduction's Japt explanation was 69 bytes: Try it online!


5454545
5
4040
4
444
4
33030
3
020333
3
22020
2
222
2
11010
^.{158}

A port of @ETHproduction's previous Japt explanation was also 69 bytes: Try it online!


___101
_
10101
1
111
1
11010
1
___100
_
10110
1
111
1
11010
^.{157}

A port of @RickHitchcock's JavaScript answer was 74 bytes: Try it online!


ifififhg0
i
hhg
h
g0f
g
f0f0ff0f0ff0f0
f
e0e0e0ddd00
e
ddd0dddddd
d
01101

A port of @Arnauld's JavaScript answer was 85 bytes: Try it online!


pqh0g09bc9bc9bc900
9
cbd
b
0c
c
dd
d
gg0g0
g
nh
h
kkk0
k
0pppn
n
0pq
p
qq
q
s1s
s
01
\$\endgroup\$
  • \$\begingroup\$ Nice! can you please update mine? (this is my final version) thanx! \$\endgroup\$ – J42161217 Jul 25 '17 at 1:03
  • \$\begingroup\$ @Jenny_mathy I was able to golf off some more bytes so you're now the leading Retina port, thanks! \$\endgroup\$ – Neil Jul 25 '17 at 8:04
3
\$\begingroup\$

JavaScript (ES6), 158 143 139 bytes

(Saved some bytes thanks to @DanTheMan.)

'ifififhg0'[r='replace'](/i/g,'hhg')[r](/h/g,'g0f')[r](/g/g,'f0f0ff0f0ff0f0')[r](/f/g,'e0e0e0ddd00')[r](/e/g,'ddd0dddddd')[r](/d/g,'01101')

console.log('ifififhg0'[r='replace'](/i/g,'hhg')[r](/h/g,'g0f')[r](/g/g,'f0f0ff0f0ff0f0')[r](/f/g,'e0e0e0ddd00')[r](/e/g,'ddd0dddddd')[r](/d/g,'01101'));

\$\endgroup\$
  • \$\begingroup\$ You just need to generate the string, so you could drop the _=>. \$\endgroup\$ – DanTheMan Jul 24 '17 at 22:31
  • 2
    \$\begingroup\$ This could be quite a bit shorter (at least 30 bytes). Hint #1: switch from .replace(/x/g,y) to .split(x).join(y) \$\endgroup\$ – ETHproductions Jul 24 '17 at 22:52
  • \$\begingroup\$ Hint #2: Use digits > 1 in place of the letters in the compression. This will allow you to easily replace e.g. 9, then 8, then 7, etc. \$\endgroup\$ – ETHproductions Jul 25 '17 at 0:21
  • \$\begingroup\$ @ETHproductions, I see how I can save 1 byte by switching to split and join with template strings: 'ifififhg0'[s='split']BTiBT[j='join']BThhgBT[s]BThBT[j]BTg0fBT (where BT is backtick) \$\endgroup\$ – Rick Hitchcock Jul 25 '17 at 10:41
  • \$\begingroup\$ Hint #3: map through an array of replacements, e.g. j='string',i=9,[replacements].map(x=>j=j.split(i--).join(x)),j \$\endgroup\$ – ETHproductions Jul 25 '17 at 13:11
1
\$\begingroup\$

K (ngn/k), 86 bytes

@[&15558;+\(,/(,/(,/(1 5,,/(1_,/(11#5 6 6),\:5 5),\:4 5),\:9#3 2 3),\:2 2),\:1 2);:;1]

Try it online!

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.