The source code and dockerfile for the GSW2024 AI Lab.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
 
 
 

596 lines
19 KiB

\* Any Wolfram elementary CA in 6D eucl. Neumann CA grid emulator generator *\
\* Written and converted to *LP format by NASZVADI, Peter, 2016,2017 *\
\* <vuk@cs.elte.hu> *\
\* Standalone version; GMPL version is in wolfra6d.mod *\
\* This model looks up for a subset of vertices in 6D euclyd. grid, *\
\* which has the following properties: *\
\* 1. each vertex' coordinate pairs' difference is at most 1 *\
\* 2. contains the vertices in the main diagonal of the 6d space *\
\* 3. connecting with directed graph edges from all selected vertices *\
\* to all selected ones with greater coordinate sums with *\
\* Hamming-distance 1, the following in-out edge numbers are *\
\* allowed: (3,6), (1,2), (2,3), (1,2), (4,1), (3,1); according to *\
\* the mod 6 sum of the coordinate values *\
\* 4. Only vertices of the unit cube's with {0,1} coordinates are *\
\* calculated, but the other cells could be obtained via shifting. *\
\* Assume that the grid is a 6dim. cellular automaton grid with Neumann- *\
\* -neighbourhood, now construct an outer-totalistic rule that emulates *\
\* W110 cellular automaton on the selected vertices: *\
\* Suppose that the 1D W110 cellspace cells are denoted with signed *\
\* integers. Every 1D cell is assigned to (at most "6 over 2") selected *\
\* vertices where each coordinate sums are the same with the integer *\
\* assigned to the origin cell in the domain, they must have the same *\
\* value. Rule-110 means that cell's value is being changed only when its *\
\* neighbours are: (1,1,1), (1,0,1), (0,0,1), other cells remain unchanged. *\
\* Let's denote the default cellstate with "2" in the 6D automaton, and *\
\* the remaining 2 states with "0" and "1" respectively, which correspond *\
\* with the states in W110. The selected vertices must be 0 or 1 of course, *\
\* and the others are "2". *\
\* Now, the transition rule for emulating W110 is the following: *\
\* (x),{1,1,1,1,1,1,1,1,1,2,2,2}->(1-x), x!=2, *\
\* (x),{1,1,1,2,2,2,2,2,2,2,2,2}->(1-x), x!=2, *\
\* (x),{1,1,1,1,2,2,2,2,2,2,2,2}->(1-x), x!=2, *\
\* (x),{1,1,1,1,1,2,2,2,2,2,2,2}->(1-x), x!=2, *\
\* (1),{0,0,0,1,1,1,1,1,1,2,2,2}->(0), *\
\* (1),{0,1,1,2,2,2,2,2,2,2,2,2}->(0), *\
\* (1),{0,0,1,1,1,2,2,2,2,2,2,2}->(0), *\
\* (1),{0,0,0,0,1,2,2,2,2,2,2,2}->(0), *\
\* (1),{0,0,0,1,2,2,2,2,2,2,2,2}->(0); *\
\* notation: (old state),{old neighbours - all permutations}->(new state) *\
\* Other states won't change between two generations. And is known that W110 *\
\* is Turing-complete. So there is a universal CA rule in 6+D eucl. gridS *\
\* Result is in x****** binary variables (total 44 among the 64) *\
Minimize
obj: x000000 +x000001 +x000010 +x000011 +x000100 +x000101 +x000110 +x000111
+x001000 +x001001 +x001010 +x001011 +x001100 +x001101 +x001110 +x001111
+x010000 +x010001 +x010010 +x010011 +x010100 +x010101 +x010110 +x010111
+x011000 +x011001 +x011010 +x011011 +x011100 +x011101 +x011110 +x011111
+x100000 +x100001 +x100010 +x100011 +x100100 +x100101 +x100110 +x100111
+x101000 +x101001 +x101010 +x101011 +x101100 +x101101 +x101110 +x101111
+x110000 +x110001 +x110010 +x110011 +x110100 +x110101 +x110110 +x110111
+x111000 +x111001 +x111010 +x111011 +x111100 +x111101 +x111110 +x111111
Subject To
x000000 = 1
x111111 = 1
x111110 -x111101 >= 0
x111101 -x111011 >= 0
x111011 -x110111 >= 0
x110111 -x101111 >= 0
x101111 -x011111 >= 0
dn000000 -dn111111 = 0
up000000 -up111111 = 0
cup000000:
x000001 +x000010 +x000100 +x001000 +x010000 +x100000 -up000000 = 0
cup000001:
x000011 +x000101 +x001001 +x010001 +x100001 -up000001 = 0
cup000010:
x000011 +x000110 +x001010 +x010010 +x100010 -up000010 = 0
cup000011:
x000111 +x001011 +x010011 +x100011 -up000011 = 0
cup000100:
x000101 +x000110 +x001100 +x010100 +x100100 -up000100 = 0
cup000101:
x000111 +x001101 +x010101 +x100101 -up000101 = 0
cup000110:
x000111 +x001110 +x010110 +x100110 -up000110 = 0
cup000111:
x001111 +x010111 +x100111 -up000111 = 0
cup001000:
x001001 +x001010 +x001100 +x011000 +x101000 -up001000 = 0
cup001001:
x001011 +x001101 +x011001 +x101001 -up001001 = 0
cup001010:
x001011 +x001110 +x011010 +x101010 -up001010 = 0
cup001011:
x001111 +x011011 +x101011 -up001011 = 0
cup001100:
x001101 +x001110 +x011100 +x101100 -up001100 = 0
cup001101:
x001111 +x011101 +x101101 -up001101 = 0
cup001110:
x001111 +x011110 +x101110 -up001110 = 0
cup001111:
x011111 +x101111 -up001111 = 0
cup010000:
x010001 +x010010 +x010100 +x011000 +x110000 -up010000 = 0
cup010001:
x010011 +x010101 +x011001 +x110001 -up010001 = 0
cup010010:
x010011 +x010110 +x011010 +x110010 -up010010 = 0
cup010011:
x010111 +x011011 +x110011 -up010011 = 0
cup010100:
x010101 +x010110 +x011100 +x110100 -up010100 = 0
cup010101:
x010111 +x011101 +x110101 -up010101 = 0
cup010110:
x010111 +x011110 +x110110 -up010110 = 0
cup010111:
x011111 +x110111 -up010111 = 0
cup011000:
x011001 +x011010 +x011100 +x111000 -up011000 = 0
cup011001:
x011011 +x011101 +x111001 -up011001 = 0
cup011010:
x011011 +x011110 +x111010 -up011010 = 0
cup011011:
x011111 +x111011 -up011011 = 0
cup011100:
x011101 +x011110 +x111100 -up011100 = 0
cup011101:
x011111 +x111101 -up011101 = 0
cup011110:
x011111 +x111110 -up011110 = 0
cup011111:
x111111 -up011111 = 0
cup100000:
x100001 +x100010 +x100100 +x101000 +x110000 -up100000 = 0
cup100001:
x100011 +x100101 +x101001 +x110001 -up100001 = 0
cup100010:
x100011 +x100110 +x101010 +x110010 -up100010 = 0
cup100011:
x100111 +x101011 +x110011 -up100011 = 0
cup100100:
x100101 +x100110 +x101100 +x110100 -up100100 = 0
cup100101:
x100111 +x101101 +x110101 -up100101 = 0
cup100110:
x100111 +x101110 +x110110 -up100110 = 0
cup100111:
x101111 +x110111 -up100111 = 0
cup101000:
x101001 +x101010 +x101100 +x111000 -up101000 = 0
cup101001:
x101011 +x101101 +x111001 -up101001 = 0
cup101010:
x101011 +x101110 +x111010 -up101010 = 0
cup101011:
x101111 +x111011 -up101011 = 0
cup101100:
x101101 +x101110 +x111100 -up101100 = 0
cup101101:
x101111 +x111101 -up101101 = 0
cup101110:
x101111 +x111110 -up101110 = 0
cup101111:
x111111 -up101111 = 0
cup110000:
x110001 +x110010 +x110100 +x111000 -up110000 = 0
cup110001:
x110011 +x110101 +x111001 -up110001 = 0
cup110010:
x110011 +x110110 +x111010 -up110010 = 0
cup110011:
x110111 +x111011 -up110011 = 0
cup110100:
x110101 +x110110 +x111100 -up110100 = 0
cup110101:
x110111 +x111101 -up110101 = 0
cup110110:
x110111 +x111110 -up110110 = 0
cup110111:
x111111 -up110111 = 0
cup111000:
x111001 +x111010 +x111100 -up111000 = 0
cup111001:
x111011 +x111101 -up111001 = 0
cup111010:
x111011 +x111110 -up111010 = 0
cup111011:
x111111 -up111011 = 0
cup111100:
x111101 +x111110 -up111100 = 0
cup111101:
x111111 -up111101 = 0
cup111110:
x111111 -up111110 = 0
cdn000001:
x000000 -dn000001 = 0
cdn000010:
x000000 -dn000010 = 0
cdn000011:
x000001 +x000010 -dn000011 = 0
cdn000100:
x000000 -dn000100 = 0
cdn000101:
x000001 +x000100 -dn000101 = 0
cdn000110:
x000010 +x000100 -dn000110 = 0
cdn000111:
x000011 +x000101 +x000110 -dn000111 = 0
cdn001000:
x000000 -dn001000 = 0
cdn001001:
x000001 +x001000 -dn001001 = 0
cdn001010:
x000010 +x001000 -dn001010 = 0
cdn001011:
x000011 +x001001 +x001010 -dn001011 = 0
cdn001100:
x000100 +x001000 -dn001100 = 0
cdn001101:
x000101 +x001001 +x001100 -dn001101 = 0
cdn001110:
x000110 +x001010 +x001100 -dn001110 = 0
cdn001111:
x000111 +x001011 +x001101 +x001110 -dn001111 = 0
cdn010000:
x000000 -dn010000 = 0
cdn010001:
x000001 +x010000 -dn010001 = 0
cdn010010:
x000010 +x010000 -dn010010 = 0
cdn010011:
x000011 +x010001 +x010010 -dn010011 = 0
cdn010100:
x000100 +x010000 -dn010100 = 0
cdn010101:
x000101 +x010001 +x010100 -dn010101 = 0
cdn010110:
x000110 +x010010 +x010100 -dn010110 = 0
cdn010111:
x000111 +x010011 +x010101 +x010110 -dn010111 = 0
cdn011000:
x001000 +x010000 -dn011000 = 0
cdn011001:
x001001 +x010001 +x011000 -dn011001 = 0
cdn011010:
x001010 +x010010 +x011000 -dn011010 = 0
cdn011011:
x001011 +x010011 +x011001 +x011010 -dn011011 = 0
cdn011100:
x001100 +x010100 +x011000 -dn011100 = 0
cdn011101:
x001101 +x010101 +x011001 +x011100 -dn011101 = 0
cdn011110:
x001110 +x010110 +x011010 +x011100 -dn011110 = 0
cdn011111:
x001111 +x010111 +x011011 +x011101 +x011110 -dn011111 = 0
cdn100000:
x000000 -dn100000 = 0
cdn100001:
x000001 +x100000 -dn100001 = 0
cdn100010:
x000010 +x100000 -dn100010 = 0
cdn100011:
x000011 +x100001 +x100010 -dn100011 = 0
cdn100100:
x000100 +x100000 -dn100100 = 0
cdn100101:
x000101 +x100001 +x100100 -dn100101 = 0
cdn100110:
x000110 +x100010 +x100100 -dn100110 = 0
cdn100111:
x000111 +x100011 +x100101 +x100110 -dn100111 = 0
cdn101000:
x001000 +x100000 -dn101000 = 0
cdn101001:
x001001 +x100001 +x101000 -dn101001 = 0
cdn101010:
x001010 +x100010 +x101000 -dn101010 = 0
cdn101011:
x001011 +x100011 +x101001 +x101010 -dn101011 = 0
cdn101100:
x001100 +x100100 +x101000 -dn101100 = 0
cdn101101:
x001101 +x100101 +x101001 +x101100 -dn101101 = 0
cdn101110:
x001110 +x100110 +x101010 +x101100 -dn101110 = 0
cdn101111:
x001111 +x100111 +x101011 +x101101 +x101110 -dn101111 = 0
cdn110000:
x010000 +x100000 -dn110000 = 0
cdn110001:
x010001 +x100001 +x110000 -dn110001 = 0
cdn110010:
x010010 +x100010 +x110000 -dn110010 = 0
cdn110011:
x010011 +x100011 +x110001 +x110010 -dn110011 = 0
cdn110100:
x010100 +x100100 +x110000 -dn110100 = 0
cdn110101:
x010101 +x100101 +x110001 +x110100 -dn110101 = 0
cdn110110:
x010110 +x100110 +x110010 +x110100 -dn110110 = 0
cdn110111:
x010111 +x100111 +x110011 +x110101 +x110110 -dn110111 = 0
cdn111000:
x011000 +x101000 +x110000 -dn111000 = 0
cdn111001:
x011001 +x101001 +x110001 +x111000 -dn111001 = 0
cdn111010:
x011010 +x101010 +x110010 +x111000 -dn111010 = 0
cdn111011:
x011011 +x101011 +x110011 +x111001 +x111010 -dn111011 = 0
cdn111100:
x011100 +x101100 +x110100 +x111000 -dn111100 = 0
cdn111101:
x011101 +x101101 +x110101 +x111001 +x111100 -dn111101 = 0
cdn111110:
x011110 +x101110 +x110110 +x111010 +x111100 -dn111110 = 0
cdn111111:
x011111 +x101111 +x110111 +x111011 +x111101 +x111110 -dn111111 = 0
up000000 -6 x000000 >= 0
up000000 +64 x000000 <= 70
up000001 -2 x000001 >= 0
up000001 +64 x000001 <= 66
up000010 -2 x000010 >= 0
up000010 +64 x000010 <= 66
up000011 -3 x000011 >= 0
up000011 +64 x000011 <= 67
up000100 -2 x000100 >= 0
up000100 +64 x000100 <= 66
up000101 -3 x000101 >= 0
up000101 +64 x000101 <= 67
up000110 -3 x000110 >= 0
up000110 +64 x000110 <= 67
up000111 -2 x000111 >= 0
up000111 +64 x000111 <= 66
up001000 -2 x001000 >= 0
up001000 +64 x001000 <= 66
up001001 -3 x001001 >= 0
up001001 +64 x001001 <= 67
up001010 -3 x001010 >= 0
up001010 +64 x001010 <= 67
up001011 -2 x001011 >= 0
up001011 +64 x001011 <= 66
up001100 -3 x001100 >= 0
up001100 +64 x001100 <= 67
up001101 -2 x001101 >= 0
up001101 +64 x001101 <= 66
up001110 -2 x001110 >= 0
up001110 +64 x001110 <= 66
up001111 -1 x001111 >= 0
up001111 +64 x001111 <= 65
up010000 -2 x010000 >= 0
up010000 +64 x010000 <= 66
up010001 -3 x010001 >= 0
up010001 +64 x010001 <= 67
up010010 -3 x010010 >= 0
up010010 +64 x010010 <= 67
up010011 -2 x010011 >= 0
up010011 +64 x010011 <= 66
up010100 -3 x010100 >= 0
up010100 +64 x010100 <= 67
up010101 -2 x010101 >= 0
up010101 +64 x010101 <= 66
up010110 -2 x010110 >= 0
up010110 +64 x010110 <= 66
up010111 -1 x010111 >= 0
up010111 +64 x010111 <= 65
up011000 -3 x011000 >= 0
up011000 +64 x011000 <= 67
up011001 -2 x011001 >= 0
up011001 +64 x011001 <= 66
up011010 -2 x011010 >= 0
up011010 +64 x011010 <= 66
up011011 -1 x011011 >= 0
up011011 +64 x011011 <= 65
up011100 -2 x011100 >= 0
up011100 +64 x011100 <= 66
up011101 -1 x011101 >= 0
up011101 +64 x011101 <= 65
up011110 -1 x011110 >= 0
up011110 +64 x011110 <= 65
up011111 -1 x011111 >= 0
up011111 +64 x011111 <= 65
up100000 -2 x100000 >= 0
up100000 +64 x100000 <= 66
up100001 -3 x100001 >= 0
up100001 +64 x100001 <= 67
up100010 -3 x100010 >= 0
up100010 +64 x100010 <= 67
up100011 -2 x100011 >= 0
up100011 +64 x100011 <= 66
up100100 -3 x100100 >= 0
up100100 +64 x100100 <= 67
up100101 -2 x100101 >= 0
up100101 +64 x100101 <= 66
up100110 -2 x100110 >= 0
up100110 +64 x100110 <= 66
up100111 -1 x100111 >= 0
up100111 +64 x100111 <= 65
up101000 -3 x101000 >= 0
up101000 +64 x101000 <= 67
up101001 -2 x101001 >= 0
up101001 +64 x101001 <= 66
up101010 -2 x101010 >= 0
up101010 +64 x101010 <= 66
up101011 -1 x101011 >= 0
up101011 +64 x101011 <= 65
up101100 -2 x101100 >= 0
up101100 +64 x101100 <= 66
up101101 -1 x101101 >= 0
up101101 +64 x101101 <= 65
up101110 -1 x101110 >= 0
up101110 +64 x101110 <= 65
up101111 -1 x101111 >= 0
up101111 +64 x101111 <= 65
up110000 -3 x110000 >= 0
up110000 +64 x110000 <= 67
up110001 -2 x110001 >= 0
up110001 +64 x110001 <= 66
up110010 -2 x110010 >= 0
up110010 +64 x110010 <= 66
up110011 -1 x110011 >= 0
up110011 +64 x110011 <= 65
up110100 -2 x110100 >= 0
up110100 +64 x110100 <= 66
up110101 -1 x110101 >= 0
up110101 +64 x110101 <= 65
up110110 -1 x110110 >= 0
up110110 +64 x110110 <= 65
up110111 -1 x110111 >= 0
up110111 +64 x110111 <= 65
up111000 -2 x111000 >= 0
up111000 +64 x111000 <= 66
up111001 -1 x111001 >= 0
up111001 +64 x111001 <= 65
up111010 -1 x111010 >= 0
up111010 +64 x111010 <= 65
up111011 -1 x111011 >= 0
up111011 +64 x111011 <= 65
up111100 -1 x111100 >= 0
up111100 +64 x111100 <= 65
up111101 -1 x111101 >= 0
up111101 +64 x111101 <= 65
up111110 -1 x111110 >= 0
up111110 +64 x111110 <= 65
dn000001 -1 x000001 >= 0
dn000001 +64 x000001 <= 65
dn000010 -1 x000010 >= 0
dn000010 +64 x000010 <= 65
dn000011 -2 x000011 >= 0
dn000011 +64 x000011 <= 66
dn000100 -1 x000100 >= 0
dn000100 +64 x000100 <= 65
dn000101 -2 x000101 >= 0
dn000101 +64 x000101 <= 66
dn000110 -2 x000110 >= 0
dn000110 +64 x000110 <= 66
dn000111 -1 x000111 >= 0
dn000111 +64 x000111 <= 65
dn001000 -1 x001000 >= 0
dn001000 +64 x001000 <= 65
dn001001 -2 x001001 >= 0
dn001001 +64 x001001 <= 66
dn001010 -2 x001010 >= 0
dn001010 +64 x001010 <= 66
dn001011 -1 x001011 >= 0
dn001011 +64 x001011 <= 65
dn001100 -2 x001100 >= 0
dn001100 +64 x001100 <= 66
dn001101 -1 x001101 >= 0
dn001101 +64 x001101 <= 65
dn001110 -1 x001110 >= 0
dn001110 +64 x001110 <= 65
dn001111 -4 x001111 >= 0
dn001111 +64 x001111 <= 68
dn010000 -1 x010000 >= 0
dn010000 +64 x010000 <= 65
dn010001 -2 x010001 >= 0
dn010001 +64 x010001 <= 66
dn010010 -2 x010010 >= 0
dn010010 +64 x010010 <= 66
dn010011 -1 x010011 >= 0
dn010011 +64 x010011 <= 65
dn010100 -2 x010100 >= 0
dn010100 +64 x010100 <= 66
dn010101 -1 x010101 >= 0
dn010101 +64 x010101 <= 65
dn010110 -1 x010110 >= 0
dn010110 +64 x010110 <= 65
dn010111 -4 x010111 >= 0
dn010111 +64 x010111 <= 68
dn011000 -2 x011000 >= 0
dn011000 +64 x011000 <= 66
dn011001 -1 x011001 >= 0
dn011001 +64 x011001 <= 65
dn011010 -1 x011010 >= 0
dn011010 +64 x011010 <= 65
dn011011 -4 x011011 >= 0
dn011011 +64 x011011 <= 68
dn011100 -1 x011100 >= 0
dn011100 +64 x011100 <= 65
dn011101 -4 x011101 >= 0
dn011101 +64 x011101 <= 68
dn011110 -4 x011110 >= 0
dn011110 +64 x011110 <= 68
dn011111 -3 x011111 >= 0
dn011111 +64 x011111 <= 67
dn100000 -1 x100000 >= 0
dn100000 +64 x100000 <= 65
dn100001 -2 x100001 >= 0
dn100001 +64 x100001 <= 66
dn100010 -2 x100010 >= 0
dn100010 +64 x100010 <= 66
dn100011 -1 x100011 >= 0
dn100011 +64 x100011 <= 65
dn100100 -2 x100100 >= 0
dn100100 +64 x100100 <= 66
dn100101 -1 x100101 >= 0
dn100101 +64 x100101 <= 65
dn100110 -1 x100110 >= 0
dn100110 +64 x100110 <= 65
dn100111 -4 x100111 >= 0
dn100111 +64 x100111 <= 68
dn101000 -2 x101000 >= 0
dn101000 +64 x101000 <= 66
dn101001 -1 x101001 >= 0
dn101001 +64 x101001 <= 65
dn101010 -1 x101010 >= 0
dn101010 +64 x101010 <= 65
dn101011 -4 x101011 >= 0
dn101011 +64 x101011 <= 68
dn101100 -1 x101100 >= 0
dn101100 +64 x101100 <= 65
dn101101 -4 x101101 >= 0
dn101101 +64 x101101 <= 68
dn101110 -4 x101110 >= 0
dn101110 +64 x101110 <= 68
dn101111 -3 x101111 >= 0
dn101111 +64 x101111 <= 67
dn110000 -2 x110000 >= 0
dn110000 +64 x110000 <= 66
dn110001 -1 x110001 >= 0
dn110001 +64 x110001 <= 65
dn110010 -1 x110010 >= 0
dn110010 +64 x110010 <= 65
dn110011 -4 x110011 >= 0
dn110011 +64 x110011 <= 68
dn110100 -1 x110100 >= 0
dn110100 +64 x110100 <= 65
dn110101 -4 x110101 >= 0
dn110101 +64 x110101 <= 68
dn110110 -4 x110110 >= 0
dn110110 +64 x110110 <= 68
dn110111 -3 x110111 >= 0
dn110111 +64 x110111 <= 67
dn111000 -1 x111000 >= 0
dn111000 +64 x111000 <= 65
dn111001 -4 x111001 >= 0
dn111001 +64 x111001 <= 68
dn111010 -4 x111010 >= 0
dn111010 +64 x111010 <= 68
dn111011 -3 x111011 >= 0
dn111011 +64 x111011 <= 67
dn111100 -4 x111100 >= 0
dn111100 +64 x111100 <= 68
dn111101 -3 x111101 >= 0
dn111101 +64 x111101 <= 67
dn111110 -3 x111110 >= 0
dn111110 +64 x111110 <= 67
dn111111 -3 x111111 >= 0
dn111111 +64 x111111 <= 67
binary
x000000 x000001 x000010 x000011 x000100 x000101 x000110 x000111
x001000 x001001 x001010 x001011 x001100 x001101 x001110 x001111
x010000 x010001 x010010 x010011 x010100 x010101 x010110 x010111
x011000 x011001 x011010 x011011 x011100 x011101 x011110 x011111
x100000 x100001 x100010 x100011 x100100 x100101 x100110 x100111
x101000 x101001 x101010 x101011 x101100 x101101 x101110 x101111
x110000 x110001 x110010 x110011 x110100 x110101 x110110 x110111
x111000 x111001 x111010 x111011 x111100 x111101 x111110 x111111
integer
dn000000 up000000 dn000001 up000001 dn000010 up000010 dn000011 up000011
dn000100 up000100 dn000101 up000101 dn000110 up000110 dn000111 up000111
dn001000 up001000 dn001001 up001001 dn001010 up001010 dn001011 up001011
dn001100 up001100 dn001101 up001101 dn001110 up001110 dn001111 up001111
dn010000 up010000 dn010001 up010001 dn010010 up010010 dn010011 up010011
dn010100 up010100 dn010101 up010101 dn010110 up010110 dn010111 up010111
dn011000 up011000 dn011001 up011001 dn011010 up011010 dn011011 up011011
dn011100 up011100 dn011101 up011101 dn011110 up011110 dn011111 up011111
dn100000 up100000 dn100001 up100001 dn100010 up100010 dn100011 up100011
dn100100 up100100 dn100101 up100101 dn100110 up100110 dn100111 up100111
dn101000 up101000 dn101001 up101001 dn101010 up101010 dn101011 up101011
dn101100 up101100 dn101101 up101101 dn101110 up101110 dn101111 up101111
dn110000 up110000 dn110001 up110001 dn110010 up110010 dn110011 up110011
dn110100 up110100 dn110101 up110101 dn110110 up110110 dn110111 up110111
dn111000 up111000 dn111001 up111001 dn111010 up111010 dn111011 up111011
dn111100 up111100 dn111101 up111101 dn111110 up111110 dn111111 up111111
End