cheap (consume 2kB of RAM for unsigned char, fits nicely into L1
cache and all). Do we want to encode extra information here? Probably
not worth it at all...
+
+Expansion to (31,26):
+
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
+p1 p2 D1 p1 D2 D3 D4 p4 D5 D6 D7 D8 D9 DA DB p5 DC DD DE DF DG DH DI DJ DK DL DM DN DO DP DQ
+-- xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
+ -- xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
+ -- xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
+ -- xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
+ -- xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
+
+Reordering:
+
+ D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF DG DH DI DJ DK DL DM DN DO DP DQ
+p1 xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
+p2 xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
+p3 xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
+p4 xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
+p5 xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
+
+
+Converted to bitmasks:
+
+p1: 03 6a d5 55
+p2: 02 d9 b3 33
+p3: 01 c7 8f 0f
+p4: 00 3f 80 ff
+p5: 00 00 7f ff