Find the shortest bracket numbers
Mathematica
Note: This algorithm is never going to be able to get anywhere near the larger test numbers. I'd need a substantially different approach, so I'll just leave it as is for others to check their lower numbers against. You may consider this submission invalid.
Here is a start for the first 256 numbers (the others were added after I started, and I probably need to find a separate solution for those)
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=[[[[[[[[]]]] [[[]]]]]]]
32=[[[]]] [[[[[[]]]]]]
33=[[[[]]] [[[[[[]]]]]]]
34=[[[[[]]] [[[[[[]]]]]]]]
35=[[[[[[]]] [[[[[[]]]]]]]]]
36=[[[[[[[]]]]]]] [[[]]]
37=[[[[[[[[]]]]]]] [[[]]]]
38=[[[[[[[[[]]]]]]] [[[]]]]]
39=[[[[[[[[[[]]]]]]] [[[]]]]]]
40=[[[]]] [[[[]]]] [[[[[[]]]]]]
41=[[[[]]] [[[[]]]] [[[[[[]]]]]]]
42=[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]
43=[[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]]
44=[[[[[[]]]] [[[]]]]] [[[[[]]]]]
45=[[[[]]]] [[[]]] [[[[[[]]]]]]
46=[[[[[]]]] [[[]]] [[[[[[]]]]]]]
47=[[[[[[]]]] [[[]]] [[[[[[]]]]]]]]
48=[[[]]] [[[[]]]] [[[[]]]]
49=[[[[[[[[]]]]]]]] [[[]]]
50=[[[[[[[[[]]]]]]]] [[[]]]]
51=[[[[[[[[[[]]]]]]]] [[[]]]]]
52=[[[[[[[]]]]]] [[[]]]] [[[]]]
53=[[[[[[[[]]]]]] [[[]]]] [[[]]]]
54=[[[[]]]] [[[]]] [[[]]]
55=[[[[[]]]] [[[]]] [[[]]]]
56=[[[[[]]]] [[[]]]] [[[]]]
57=[[[[[[]]]] [[[]]]] [[[]]]]
58=[[[[[[]]]] [[[]]]]] [[[]]]
59=[[[[[[[]]]] [[[]]]]] [[[]]]]
60=[[[[[[[]]]] [[[]]]]]] [[[]]]
61=[[[[[[[[]]]] [[[]]]]]] [[[]]]]
62=[[[[[[[[]]]] [[[]]]]]]] [[[]]]
63=[[[[]]]] [[[]]] [[[[[[[[]]]]]]]]
64=[[[[[]]]]] [[[[]]]]
65=[[[[[[]]]]] [[[[]]]]]
66=[[[[[[[]]]]] [[[[]]]]]]
67=[[[[[[[[]]]]] [[[[]]]]]]]
68=[[[[[[[[[]]]]] [[[[]]]]]]]]
69=[[[[[[[[[[]]]]] [[[[]]]]]]]]]
70=[[[[[[[[[[[]]]]] [[[[]]]]]]]]]]
71=[[[[[[[[[[[[]]]]] [[[[]]]]]]]]]]]
72=[[[[[[[]]]]]]] [[[]]] [[[]]]
73=[[[[[[[[]]]]]]] [[[]]] [[[]]]]
74=[[[[[[[[]]]]]]] [[[]]]] [[[]]]
75=[[[[[[]]]]]] [[[]]] [[[[]]]]
76=[[[[[[[]]]]]] [[[]]] [[[[]]]]]
77=[[[[[[[[]]]]]] [[[]]] [[[[]]]]]]
78=[[[[[[[]]]]]] [[[]]]] [[[[]]]]
79=[[[[[[[[]]]]]] [[[]]]] [[[[]]]]]
80=[[[]]] [[[[]]]] [[[[[[]]]]]]
81=[[[[]]]] [[[[[]]]]]
82=[[[[[]]]] [[[[[]]]]]]
83=[[[[[[]]]] [[[[[]]]]]]]
84=[[[[[[[]]]] [[[[[]]]]]]]]
85=[[[[[[[[]]]] [[[[[]]]]]]]]]
86=[[[[[[[[[]]]] [[[[[]]]]]]]]]]
87=[[[[[[]]]] [[[]]]]] [[[[]]]]
88=[[[[[[[]]]] [[[]]]]] [[[[]]]]]
89=[[[[[[[[]]]] [[[]]]]] [[[[]]]]]]
90=[[[[[[[]]]] [[[]]]]]] [[[[]]]]
91=[[[[[[[[]]]] [[[]]]]]] [[[[]]]]]
92=[[[[[[[[[]]]] [[[]]]]]] [[[[]]]]]]
93=[[[[[[[[]]]] [[[]]]]]]] [[[[]]]]
94=[[[[[[[[[]]]] [[[]]]]]]] [[[[]]]]]
95=[[[[[[]]] [[[[]]]]]]] [[[[[[]]]]]]
96=[[[]]] [[[[[[]]]]]] [[[[]]]]
97=[[[[]]] [[[[[[]]]]]] [[[[]]]]]
98=[[[[[[[[]]]]]]]] [[[]]] [[[]]]
99=[[[[]]] [[[[[[]]]]]]] [[[[]]]]
100=[[[[[]]]] [[[]]]] [[[]]]
101=[[[[[[]]]] [[[]]]] [[[]]]]
102=[[[[[[[]]]] [[[]]]] [[[]]]]]
103=[[[[[[[[]]]] [[[]]]] [[[]]]]]]
104=[[[[[[[]]]]]] [[[]]]] [[[[[]]]]]
105=[[[[[[[[]]]]]] [[[]]]] [[[[[]]]]]]
106=[[[[[[[[[]]]]]] [[[]]]] [[[[[]]]]]]]
107=[[[[[[[[[[]]]]]] [[[]]]] [[[[[]]]]]]]]
108=[[[[]]]] [[[]]] [[[[[]]]]]
109=[[[[[]]]] [[[]]] [[[[[]]]]]]
110=[[[[[[]]]] [[[]]] [[[[[]]]]]]]
111=[[[[[[[[]]]]]]] [[[]]]] [[[[]]]]
112=[[[[[]]]] [[[]]]] [[[[[]]]]]
113=[[[[[[]]]] [[[]]]] [[[[[]]]]]]
114=[[[[[[[]]]] [[[]]]] [[[[[]]]]]]]
115=[[[[[[[[]]]] [[[]]]] [[[[[]]]]]]]]
116=[[[[[[]]]] [[[]]]]] [[[[[]]]]]
117=[[[[[[[]]]] [[[]]]]] [[[[[]]]]]]
118=[[[[[[[[]]]] [[[]]]]] [[[[[]]]]]]]
119=[[[[]]] [[[[]]]]] [[[[[[[[]]]]]]]]
120=[[[[[[[]]]] [[[]]]]]] [[[[[]]]]]
121=[[[[[[]]]] [[[]]]]] [[[]]]
122=[[[[[[[]]]] [[[]]]]] [[[]]]]
123=[[[[[[[[]]]] [[[]]]]] [[[]]]]]
124=[[[[[[[[[]]]] [[[]]]]] [[[]]]]]]
125=[[[[[[]]]]]] [[[[]]]]
126=[[[[[[[]]]]]] [[[[]]]]]
127=[[[[[[[[]]]]]] [[[[]]]]]]
128=[[[]]] [[[[[[[[]]]]]]]]
129=[[[[]]] [[[[[[[[]]]]]]]]]
130=[[[[[]]] [[[[[[[[]]]]]]]]]]
131=[[[[[[]]] [[[[[[[[]]]]]]]]]]]
132=[[[[[[[]]]]] [[[[]]]]]] [[[]]]
133=[[[[[[[[]]]]] [[[[]]]]]] [[[]]]]
134=[[[[[[[[]]]]] [[[[]]]]]]] [[[]]]
135=[[[[]]]] [[[]]] [[[[[[]]]]]]
136=[[[[[]]]] [[[]]] [[[[[[]]]]]]]
137=[[[[[[]]]] [[[]]] [[[[[[]]]]]]]]
138=[[[[[[[]]]] [[[]]] [[[[[[]]]]]]]]]
139=[[[[[[[[]]]] [[[]]] [[[[[[]]]]]]]]]]
140=[[[[[]]]] [[[]]]] [[[[[[]]]]]]
141=[[[[[[]]]] [[[]]]] [[[[[[]]]]]]]
142=[[[[[[[]]]] [[[]]]] [[[[[[]]]]]]]]
143=[[[[[[[[]]]] [[[]]]] [[[[[[]]]]]]]]]
144=[[[[[[[]]]]]]] [[[]]] [[[[[]]]]]
145=[[[[[[]]]] [[[]]]]] [[[[[[]]]]]]
146=[[[[[[[]]]] [[[]]]]] [[[[[[]]]]]]]
147=[[[[[[[[]]]]]]]] [[[]]] [[[[]]]]
148=[[[[[[[[[]]]]]]]] [[[]]] [[[[]]]]]
149=[[[[[[[[[[]]]]]]]] [[[]]] [[[[]]]]]]
150=[[[[[[]]]]]] [[[]]] [[[[[[[]]]]]]]
151=[[[[[[[]]]]]] [[[]]] [[[[[[[]]]]]]]]
152=[[[[[[[[[]]]]]]] [[[]]]]] [[[[[]]]]]
153=[[[[]]] [[[[]]]]] [[[[]]]] [[[]]]
154=[[[[[]]] [[[[]]]]] [[[[]]]] [[[]]]]
155=[[[[[[[[]]]] [[[]]]]]]] [[[[[[]]]]]]
156=[[[[[[[]]]]]] [[[]]]] [[[[[[[]]]]]]]
157=[[[[[[[[]]]]]] [[[]]]] [[[[[[[]]]]]]]]
158=[[[[[[[[]]]]]] [[[]]]] [[[[]]]]] [[[]]]
159=[[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[]]]]
160=[[[]]] [[[[[[]]]]]] [[[[[[]]]]]]
161=[[[[]]] [[[[[[]]]]]] [[[[[[]]]]]]]
162=[[[[]]]] [[[[[]]]]] [[[]]]
163=[[[[[]]]] [[[[[]]]]] [[[]]]]
164=[[[[[]]]] [[[[[]]]]]] [[[]]]
165=[[[[[[]]]] [[[[[]]]]]] [[[]]]]
166=[[[[[[]]]] [[[[[]]]]]]] [[[]]]
167=[[[[[[[]]]] [[[[[]]]]]]] [[[]]]]
168=[[[[[[[]]]] [[[[[]]]]]]]] [[[]]]
169=[[[[[[]]]]] [[[[]]]]] [[[]]]
170=[[[[[[[]]]]] [[[[]]]]] [[[]]]]
171=[[[[[[[[]]]]] [[[[]]]]] [[[]]]]]
172=[[[[[[[[[]]]]] [[[[]]]]] [[[]]]]]]
173=[[[[[[[[[[]]]]] [[[[]]]]] [[[]]]]]]]
174=[[[[[[]]]] [[[]]]]] [[[[[[[]]]]]]]
175=[[[[[[]]]]]] [[[]]] [[[[[[[[]]]]]]]]
176=[[[]]] [[[[]]]] [[[[[[]]]] [[[]]]]]
177=[[[[[[[]]]] [[[]]]]] [[[]]]] [[[[]]]]
178=[[[[[[[[]]]] [[[]]]]] [[[]]]] [[[[]]]]]
179=[[[[[[[[[]]]] [[[]]]]] [[[]]]] [[[[]]]]]]
180=[[[[[[[]]]]]]] [[[]]] [[[[[[]]]]]]
181=[[[[[[[[]]]]]]] [[[]]] [[[[[[]]]]]]]
182=[[[[[[[[[]]]]]]] [[[]]] [[[[[[]]]]]]]]
183=[[[[[[[[[[]]]]]]] [[[]]] [[[[[[]]]]]]]]]
184=[[[[[]]]] [[[]]] [[[[[[]]]]]]] [[[[[]]]]]
185=[[[[[[[[]]]]]]] [[[]]]] [[[[[[]]]]]]
186=[[[[[[[[[]]]]]]] [[[]]]] [[[[[[]]]]]]]
187=[[[[]]] [[[[]]]]] [[[[[[]]]] [[[]]]]]
188=[[[[[]]] [[[[]]]]] [[[[[[]]]] [[[]]]]]]
189=[[[[]]]] [[[]]] [[[[[[[[]]]]]]]]
190=[[[[[]]]] [[[]]] [[[[[[[[]]]]]]]]]
191=[[[[[[]]]] [[[]]] [[[[[[[[]]]]]]]]]]
192=[[[[[]]]]] [[[[]]]] [[[[]]]]
193=[[[[[[]]]]] [[[[]]]] [[[[]]]]]
194=[[[[[[[]]]]] [[[[]]]] [[[[]]]]]]
195=[[[[[[]]]]] [[[[]]]]] [[[[]]]]
196=[[[[[[[]]]]] [[[[]]]]]] [[[]]]
197=[[[[[[[[]]]]] [[[[]]]]]] [[[]]]]
198=[[[[[[[]]]]] [[[[]]]]]] [[[[]]]]
199=[[[[[[[[]]]]] [[[[]]]]]] [[[[]]]]]
200=[[[[[]]]] [[[]]]] [[[]]] [[[]]]
201=[[[[[[]]]] [[[]]]] [[[]]] [[[]]]]
202=[[[[[[]]]] [[[]]]] [[[]]]] [[[]]]
203=[[[[[[[]]]] [[[]]]] [[[]]]] [[[]]]]
204=[[[[[[[[[]]]]] [[[[]]]]]]]] [[[[]]]]
205=[[[[[[[[[[]]]]] [[[[]]]]]]]] [[[[]]]]]
206=[[[[[[[[]]]] [[[]]]] [[[]]]]]] [[[]]]
207=[[[[[[[[[[]]]]] [[[[]]]]]]]]] [[[[]]]]
208=[[[]]] [[[[]]]] [[[[[[]]]]] [[[[]]]]]
209=[[[[]]] [[[[]]]] [[[[[[]]]]] [[[[]]]]]]
210=[[[[[[[]]]] [[[]]]]]] [[[[[[[[]]]]]]]]
211=[[[[[[[[]]]] [[[]]]]]] [[[[[[[[]]]]]]]]]
212=[[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[[]]]]]
213=[[[[[[[[[[[[]]]]] [[[[]]]]]]]]]]] [[[[]]]]
214=[[[[[[[[[[[[[]]]]] [[[[]]]]]]]]]]] [[[[]]]]]
215=[[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]] [[[[[[]]]]]]
216=[[[[[[[]]]]]]] [[[[]]]]
217=[[[[[[[[]]]]]]] [[[[]]]]]
218=[[[[[[[[[]]]]]]] [[[[]]]]]]
219=[[[[[[[[[[]]]]]]] [[[[]]]]]]]
220=[[[[[[[[[[[]]]]]]] [[[[]]]]]]]]
221=[[[[[[[[[[[[]]]]]]] [[[[]]]]]]]]]
222=[[[[[[[[[[[[[]]]]]]] [[[[]]]]]]]]]]
223=[[[[[[[[[[[[[[]]]]]]] [[[[]]]]]]]]]]]
224=[[[[[]]]] [[[]]]] [[[]]] [[[[]]]]
225=[[[[[[]]]]]] [[[]]] [[[[]]]] [[[]]]
226=[[[[[[[]]]]]] [[[]]] [[[[]]]] [[[]]]]
227=[[[[[[[[]]]]]] [[[]]] [[[[]]]] [[[]]]]]
228=[[[[[[]]]] [[[]]]] [[[]]]] [[[[[]]]]]
229=[[[[[[[]]]] [[[]]]] [[[]]]] [[[[[]]]]]]
230=[[[[[[[[]]]] [[[]]]] [[[]]]] [[[[[]]]]]]]
231=[[[[]]] [[[[[[]]]]]]] [[[[[[[[]]]]]]]]
232=[[[[[[]]]] [[[]]]]] [[[]]] [[[[]]]]
233=[[[[[[[]]]] [[[]]]]] [[[]]] [[[[]]]]]
234=[[[[[[[]]]]]] [[[]]]] [[[[]]]] [[[]]]
235=[[[[[[[[]]]]]] [[[]]]] [[[[]]]] [[[]]]]
236=[[[[[[[]]]] [[[]]]]] [[[]]]] [[[[[]]]]]
237=[[[[[[[[]]]]]] [[[]]]] [[[[]]]]] [[[[]]]]
238=[[[[[]]] [[[[[[]]]]]]]] [[[[[[[[]]]]]]]]
239=[[[[[[]]] [[[[[[]]]]]]]] [[[[[[[[]]]]]]]]]
240=[[[]]] [[[[]]]] [[[[[[]]]]]] [[[[]]]]
241=[[[[]]] [[[[]]]] [[[[[[]]]]]] [[[[]]]]]
242=[[[[[[]]]] [[[]]]]] [[[]]] [[[]]]
243=[[[[]]]] [[[[[[]]]]]]
244=[[[[[]]]] [[[[[[]]]]]]]
245=[[[[[[]]]] [[[[[[]]]]]]]]
246=[[[[[[[]]]] [[[[[[]]]]]]]]]
247=[[[[[[[[]]]] [[[[[[]]]]]]]]]]
248=[[[[[[[[[]]]] [[[[[[]]]]]]]]]]]
249=[[[[[[]]]] [[[[[]]]]]]] [[[[]]]]
250=[[[[[[]]]]]] [[[[]]]] [[[]]]
251=[[[[[[[]]]]]] [[[[]]]] [[[]]]]
252=[[[[[[[]]]]]] [[[[]]]]] [[[]]]
253=[[[[[[[[]]]]]] [[[[]]]]] [[[]]]]
254=[[[[[[[[]]]]]] [[[[]]]]]] [[[]]]
255=[[[[[[[[[]]]]]] [[[[]]]]]] [[[]]]]
256=[[[[[]]]]] [[[]]]
The total length of the first 256 numbers is 7963 characters. I don't know if this is optimal.
Ignoring addition, the results for 8191 and 13071 were found in a few seconds and 524387 in a couple of minutes as
8191=[[[[[[[[]]]]]] [[[[]]]]] [[[[[[]]]]] [[[[]]]]]]
13071=[[[[[[[[]]]]] [[[[]]]]]] [[[]]]] [[[[]]]]
524387=[[[[[[[[]]]]] [[[[]]]]] [[[[[]]]]] [[[[]]]]] [[[[[[[]]]]]] [[[[]]]]]]
at 164 characters together.
Here is the code:
ClearAll[repr, sl, i, j, op, re, frontop, rearop, lastop];
repr[n_] = "";
repr[0] = "[]";
(*Hard-code higher-order solutions*)
repr[65536] = "[[[]]] [[[[]]]]";
repr[16] = "[[[]]] [[[[]]]]";
repr[27] = "[[[[]]]] [[[]]]";
repr[256] = "[[[[[]]]]] [[[]]]";
repr[3125] = "[[[[[[]]]]]] [[[]]]";
repr[46656] = "[[[[[[[]]]]]]] [[[]]]";
repr[823543] = "[[[[[[[[]]]]]]]] [[[]]]";
repr[16777216] = "[[[[[[[[[]]]]]]]]] [[[]]]";
repr[387420489] = "[[[[[[[[[[]]]]]]]]]] [[[]]]";
frontop[n_] = 2;
rearop[n_] = 2;
sl[n_] := If[repr[n] == "", Infinity, StringLength@repr@n];
n = 256;
op[0] := (# + #2) &
op[1] := (#*#2) &
op[2] := (#^#2) &
re[0] := (repr@# <> repr@#2) &
re[1] := (repr@# <> " " <> repr@#2) &
re[2] := (repr@# <> " " <> repr@#2) &
For[i = 0, i < n, ++i,
If[sl[i + 1] >= sl[i] + 2,
repr[i + 1] = "[" <> repr[i] <> "]";
frontop[i + 1] = 2; rearop[i + 1] = 2
];
For[m = 0, m < 3, ++m,
If[rearop[i] >= m,
For[j = 1, j <= i, ++j,
If[frontop[j] < m || (res = op[m][i, j]) > n, Break[]];
rep = re[m][i, j];
If[sl[res] > StringLength@rep ||
sl[res] == StringLength@rep && m > frontop[res],
repr[res] = rep;
If[m == 2,
frontop[res] = 2; rearop[res] = 1,
frontop[res] = m;
rearop[res] = m
]
]
]
];
If[frontop[i] >= m,
For[j = 1, j <= i, ++j,
If[rearop[j] < m || (res = op[m][j, i]) > n, Break[]];
rep = re[m][j, i];
If[sl[res] > StringLength@rep ||
sl[res] == StringLength@rep && m > frontop[res],
repr[res] = rep;
If[m == 2,
frontop[res] = 2; rearop[res] = 1,
frontop[res] = m;
rearop[res] = m
]
]
]
]
];
];
I used an exhaustive search up to exponentiation. There is no tetration or higher-order operations. I just tried the higher-order operations manually, and there's only a handful combinations which actually yield numbers below 231, so I just hardcoded those that work.
Edit: My previous solution didn't not bother about precedence, it just threw things together. Now I think my new code fixes that, but non of the first 256 numbers have changed, nor has 8191 (which was valid before, I checked)... and it's to late for me to tell right now if my code actually fixed it. I'll have another look tomorrow and also add an explanation, because now with the precedence checking it's a bit convoluted (hopefully it should reduce search time though).
Edit: Okay, there were some bugs as expected. I think I fixed it now, increasing the total length for 1 - 256 to 7963. I'm not sure this is optimal any longer, because it might be possible to find shorter solutions from suboptimal parts if they allow higher-order operations. An explanation will follow when I manage to clean up the code a bit.
Python 11455b
This solution takes a greedy approach to finding ways to break down prime numbers, rather than an exhaustive approach. I need 9875b for 1-256 compared to 8181 for Martin's probably-optimal solution in that space.
A larger table of multiplication and exponentiation results yields slight improvements in the larger test cases. The solution below took about 7 minutes. Increasing runtime beyond 30 minutes has minimal impact on the output.
I, like Martin, had a problem with precedence. My solution in restricting operation selection may not be optimal.
#!/usr/bin/env python
# http://codegolf.stackexchange.com/questions/35480/find-the-shortest-bracket-numbers
import sys, math
reps = {}
forwards = {}
backwards = {}
MAX = 2**31
TABLE_SIZE = 2**12
def op_dec(op):
if op>1:
return op-1
return op
def rep_op(a,op,b):
return rep_num(a) + (" "*op) + rep_num(b)
def min_rep_op(a,op,b,op_max):
return min_rep(a,op_max) + (" "*op) + min_rep(b,op_dec(op_max))
def rep_num(a):
return ("["*(a+1)) + ("]"*(a+1))
def min_rep(n,op_max):
if n < 9:
return ("["*(n+1))+("]"*(n+1))
for op in range(op_max,-1,-1):
if (n, op) in reps:
return reps[(n, op)]
for op in range(op_max,-1,-1):
if (n, op) in backwards:
a,op,b = backwards[(n, op)]
return min_rep_op(a,op,b,op_max)
else:
for m in rep_list:
c = m[0]
if c < n:
r = n - c
for op in range(op_max,-1,-1):
if (c, op) in backwards:
a,op,b = backwards[(c, op)]
if r<10:
return ("["*r) + min_rep_op(a,op,b,op_max) + ("]"*r)
else:
return "[" + min_rep(r-1,op_max) + min_rep_op(a,op,b,op_max) + "]"
break
def expand(a,op,b):
if op == 0:
n = a+b
elif op == 1:
n = a*b
elif op == 2:
if b*math.log10(a) > math.log10(MAX):
n = MAX
else:
n = a**b
elif (a,op,b) in forwards:
n = forwards[(a,op,b)]
else: # tetration and higher
t = a
for i in xrange(b-1):
t = expand(a,op-1,t)
if t>=MAX:
break
n = t
if n > MAX-1:
n = MAX
forwards[(a,op,b)] = n
if (n, op) in backwards:
c = len(rep_op(*backwards[(n, op)]))
if c > (a*2+op+b*2):
backwards[(n, op)] = (a,op,b)
else:
backwards[(n, op)] = (a,op,b)
return n
t = 0
# populate the multiplication, exponentiation, and tetration tables
for op in range(1,4):
for a in range((1,2,2,2)[op],TABLE_SIZE):
for b in range((1,2,2,2)[op],TABLE_SIZE):
t = expand(a,op,b)
if t == MAX:
break
rep_list = sorted(backwards.keys(),key=lambda x: x[0]*4-x[1],reverse=True)
for i in list(range(1, 257))+[8191,13071,524287,2147483647,1449565302,1746268229,126528612,778085967,1553783038,997599288]:
t = min_rep(i,3)
reps[i] = t
print i, t
Output:
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 [[[[[[[[]]]]]]] [[[[[[]]]]]]]
32 [[[]]] [[[[[[]]]]]]
33 [[[[[[[]]]]]] [[[]]]] [[[[]]]]
34 [[[[]]] [[[[]]]]] [[[]]]
35 [[[[[[[[]]]]]]]] [[[[[[]]]]]]
36 [[[[[[[]]]]]]] [[[]]]
37 [[[[[[[[]]]]]]] [[[]]]]
38 [[[[[[[[]]]]]]] [[[[]]]]] [[[]]]
39 [[[[[[[[]]]]]]] [[[]]]] [[[[]]]]
40 [[[[[[]]]]]] [[[]]] [[[[[]]]]]
41 [[[[[[[]]]]]] [[[]]] [[[[[]]]]]]
42 [[[[[[[[]]]]]]]] [[[[[[[]]]]]]]
43 [[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]]
44 [[[[[[[]]]]]] [[[]]]] [[[[[]]]]]
45 [[[[]]]] [[[]]] [[[[[[]]]]]]
46 [[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[]]]
47 [[[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[]]]]
48 [[[[[[[[[]]]]]]]]] [[[[[[[]]]]]]]
49 [[[[[[[[]]]]]]]] [[[]]]
50 [[[[[[]]]]]] [[[]]] [[[[[[]]]]]]
51 [[[[]]] [[[[]]]]] [[[[]]]]
52 [[[[[[[[]]]]]]] [[[]]]] [[[[[]]]]]
53 [[[[[[[[[]]]]]]] [[[]]]] [[[[[]]]]]]
54 [[[[]]]] [[[]]] [[[[[[[]]]]]]]
55 [[[[[[[]]]]]] [[[]]]] [[[[[[]]]]]]
56 [[[[[[[[[]]]]]]]]] [[[[[[[[]]]]]]]]
57 [[[[[[[[]]]]]]] [[[[]]]]] [[[[]]]]
58 [[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[]]]
59 [[[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[]]]]
60 [[[[[[[]]]]]]] [[[]]] [[[[[[]]]]]]
61 [[[[[[[[]]]]]]] [[[]]] [[[[[[]]]]]]]
62 [[[[[[[[]]]]]]] [[[[[[]]]]]]] [[[]]]
63 [[[[]]]] [[[]]] [[[[[[[[]]]]]]]]
64 [[[[[]]]]] [[[[]]]]
65 [[[[[[[[]]]]]]] [[[]]]] [[[[[[]]]]]]
66 [[[[[[[]]]]]] [[[]]]] [[[[[[[]]]]]]]
67 [[[[[[[[]]]]]] [[[]]]] [[[[[[[]]]]]]]]
68 [[[[]]] [[[[]]]]] [[[[[]]]]]
69 [[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[]]]]
70 [[[[[[]]]]]] [[[]]] [[[[[[[[]]]]]]]]
71 [[[[[[[]]]]]] [[[]]] [[[[[[[[]]]]]]]]]
72 [[[[[[[]]]]]]] [[[]]] [[[[[[[]]]]]]]
73 [[[[[[[[]]]]]]] [[[]]] [[[[[[[]]]]]]]]
74 [[[[[[[[]]]]]]] [[[]]]] [[[]]]
75 [[[[[[]]]]]] [[[[]]]] [[[[[[]]]]]]
76 [[[[[[[[]]]]]]] [[[[]]]]] [[[[[]]]]]
77 [[[[[[[]]]]]] [[[]]]] [[[[[[[[]]]]]]]]
78 [[[[[[[[]]]]]]] [[[]]]] [[[[[[[]]]]]]]
79 [[[[[[[[[]]]]]]] [[[]]]] [[[[[[[]]]]]]]]
80 [[[[[[]]]]]] [[[]]] [[[[[[[[[]]]]]]]]]
81 [[[[]]]] [[[[[]]]]]
82 [[[[[[[]]]]]] [[[]]] [[[[[]]]]]] [[[]]]
83 [[[[[[[[]]]]]] [[[]]] [[[[[]]]]]] [[[]]]]
84 [[[[[[[[]]]]]]]] [[[]]] [[[[[[[]]]]]]]
85 [[[[]]] [[[[]]]]] [[[[[[]]]]]]
86 [[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]] [[[]]]
87 [[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[[]]]]
88 [[[[[[[]]]]]] [[[]]]] [[[[[[[[[]]]]]]]]]
89 [[[[[[[[]]]]]] [[[]]]] [[[[[[[[[]]]]]]]]]]
90 [[[[[[]]]]]] [[[]]] [[[[]]]] [[[]]]
91 [[[[[[[[]]]]]]] [[[]]]] [[[[[[[[]]]]]]]]
92 [[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[[]]]]]
93 [[[[[[[[]]]]]]] [[[[[[]]]]]]] [[[[]]]]
94 [[[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[]]]] [[[]]]
95 [[[[[[[[]]]]]]] [[[[]]]]] [[[[[[]]]]]]
96 [[[[[[[]]]]]]] [[[]]] [[[[[[[[[]]]]]]]]]
97 [[[[[[[[]]]]]]] [[[]]] [[[[[[[[[]]]]]]]]]]
98 [[[[[[[[]]]]]]]] [[[]]] [[[[[[[[]]]]]]]]
99 [[[[[[[]]]]]] [[[]]]] [[[[]]]] [[[]]]
100 [[[[[[]]]]]] [[[]]] [[[]]]
101 [[[[[[[]]]]]] [[[]]] [[[]]]]
102 [[[[]]] [[[[]]]]] [[[[[[[]]]]]]]
103 [[[[[]]] [[[[]]]]] [[[[[[[]]]]]]]]
104 [[[[[[[[]]]]]]] [[[]]]] [[[[[[[[[]]]]]]]]]
105 [[[[[[]]]]]] [[[[]]]] [[[[[[[[]]]]]]]]
106 [[[[[[[[[]]]]]]] [[[]]]] [[[[[]]]]]] [[[]]]
107 [[[[[[[[[[]]]]]]] [[[]]]] [[[[[]]]]]] [[[]]]]
108 [[[[[[[]]]]]]] [[[]]] [[[[]]]] [[[]]]
109 [[[[[[[[]]]]]]] [[[]]] [[[[]]]] [[[]]]]
110 [[[[[[[]]]]]] [[[]]]] [[[[[[]]]]]] [[[]]]
111 [[[[[[[[]]]]]]] [[[]]]] [[[[]]]]
112 [[[]]] [[[[]]]] [[[[[[[[]]]]]]]]
113 [[[[]]] [[[[]]]] [[[[[[[[]]]]]]]]]
114 [[[[[[[[]]]]]]] [[[[]]]]] [[[[[[[]]]]]]]
115 [[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[[[]]]]]]
116 [[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[[[]]]]]
117 [[[[[[[[]]]]]]] [[[]]]] [[[[]]]] [[[]]]
118 [[[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[]]]] [[[]]]
119 [[[[]]] [[[[]]]]] [[[[[[[[]]]]]]]]
120 [[[[[[]]]]]] [[[[]]]] [[[[[[[[[]]]]]]]]]
121 [[[[[[[]]]]]] [[[]]]] [[[]]]
122 [[[[[[[[]]]]]]] [[[]]] [[[[[[]]]]]]] [[[]]]
123 [[[[[[[]]]]]] [[[]]] [[[[[]]]]]] [[[[]]]]
124 [[[[[[[[]]]]]]] [[[[[[]]]]]]] [[[[[]]]]]
125 [[[[[[]]]]]] [[[[]]]]
126 [[[[[[[[]]]]]]]] [[[]]] [[[[]]]] [[[]]]
127 [[[[[[[[[]]]]]]]] [[[]]] [[[[]]]] [[[]]]]
128 [[[]]] [[[[[[[[]]]]]]]]
129 [[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]] [[[[]]]]
130 [[[[[[[[]]]]]]] [[[]]]] [[[[[[]]]]]] [[[]]]
131 [[[[[[[[[]]]]]]] [[[]]]] [[[[[[]]]]]] [[[]]]]
132 [[[[[[[]]]]]]] [[[]]] [[[[[[[]]]]]] [[[]]]]
133 [[[[[[[[]]]]]]] [[[[]]]]] [[[[[[[[]]]]]]]]
134 [[[[[[[[]]]]]] [[[]]]] [[[[[[[]]]]]]]] [[[]]]
135 [[[[[[]]]]]] [[[[]]]] [[[[]]]] [[[]]]
136 [[[[]]] [[[[]]]]] [[[[[[[[[]]]]]]]]]
137 [[[[[]]] [[[[]]]]] [[[[[[[[[]]]]]]]]]]
138 [[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[[[[]]]]]]]
139 [[[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[[[[]]]]]]]]
140 [[[[[[[[]]]]]]]] [[[]]] [[[[[[]]]]]] [[[]]]
141 [[[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[]]]] [[[[]]]]
142 [[[[[[[]]]]]] [[[]]] [[[[[[[[]]]]]]]]] [[[]]]
143 [[[[[[[[]]]]]]] [[[]]]] [[[[[[[]]]]]] [[[]]]]
144 [[[[[[[]]]]]]] [[[]]] [[[]]]
145 [[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[[[[]]]]]]
146 [[[[[[[[]]]]]]] [[[]]] [[[[[[[]]]]]]]] [[[]]]
147 [[[[[[[[]]]]]]]] [[[[]]]] [[[[[[[[]]]]]]]]
148 [[[[[[[[]]]]]]] [[[]]]] [[[[[]]]]]
149 [[[[[[[[[]]]]]]] [[[]]]] [[[[[]]]]]]
150 [[[[[[]]]]]] [[[[]]]] [[[[[[]]]]]] [[[]]]
151 [[[[[[[]]]]]] [[[[]]]] [[[[[[]]]]]] [[[]]]]
152 [[[[[[[[]]]]]]] [[[[]]]]] [[[[[[[[[]]]]]]]]]
153 [[[[]]] [[[[]]]]] [[[[]]]] [[[]]]
154 [[[[[[[[]]]]]]]] [[[]]] [[[[[[[]]]]]] [[[]]]]
155 [[[[[[[[]]]]]]] [[[[[[]]]]]]] [[[[[[]]]]]]
156 [[[[[[[[]]]]]]] [[[]]]] [[[[[[[]]]]]]] [[[]]]
157 [[[[[[[[[]]]]]]] [[[]]]] [[[[[[[]]]]]]] [[[]]]]
158 [[[[[[[[[]]]]]]] [[[]]]] [[[[[[[]]]]]]]] [[[]]]
159 [[[[[[[[[]]]]]]] [[[]]]] [[[[[]]]]]] [[[[]]]]
160 [[[]]] [[[[]]]] [[[[[[]]]]]] [[[]]]
161 [[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[[[[[]]]]]]]]
162 [[[[[[[]]]]]]] [[[[]]]] [[[[]]]] [[[]]]
163 [[[[[[[[]]]]]]] [[[[]]]] [[[[]]]] [[[]]]]
164 [[[[[[[]]]]]] [[[]]] [[[[[]]]]]] [[[[[]]]]]
165 [[[[[[]]]]]] [[[[]]]] [[[[[[[]]]]]] [[[]]]]
166 [[[[[[[[]]]]]] [[[]]] [[[[[]]]]]] [[[]]]] [[[]]]
167 [[[[[[[[[]]]]]] [[[]]] [[[[[]]]]]] [[[]]]] [[[]]]]
168 [[[[[[[[]]]]]]]] [[[]]] [[[[[[[]]]]]]] [[[]]]
169 [[[[[[[[]]]]]]] [[[]]]] [[[]]]
170 [[[[]]] [[[[]]]]] [[[[[[]]]]]] [[[]]]
171 [[[[[[[[]]]]]]] [[[[]]]]] [[[[]]]] [[[]]]
172 [[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]] [[[[[]]]]]
173 [[[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]] [[[[[]]]]]]
174 [[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[[[[[]]]]]]]
175 [[[[[[]]]]]] [[[]]] [[[[[[[[]]]]]]]]
176 [[[]]] [[[[]]]] [[[[[[[]]]]]] [[[]]]]
177 [[[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[]]]] [[[[]]]]
178 [[[[[[[[]]]]]] [[[]]]] [[[[[[[[[]]]]]]]]]] [[[]]]
179 [[[[[[[[[]]]]]] [[[]]]] [[[[[[[[[]]]]]]]]]] [[[]]]]
180 [[[[[[]]]]]] [[[[[]]]]] [[[[]]]] [[[]]]
181 [[[[[[[]]]]]] [[[[[]]]]] [[[[]]]] [[[]]]]
182 [[[[[[[[]]]]]]]] [[[]]] [[[[[[[[]]]]]]] [[[]]]]
183 [[[[[[[[]]]]]]] [[[]]] [[[[[[]]]]]]] [[[[]]]]
184 [[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[[[[[[]]]]]]]]]
185 [[[[[[[[]]]]]]] [[[]]]] [[[[[[]]]]]]
186 [[[[[[[[]]]]]]] [[[[[[]]]]]]] [[[[[[[]]]]]]]
187 [[[[]]] [[[[]]]]] [[[[[[[]]]]]] [[[]]]]
188 [[[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[]]]] [[[[[]]]]]
189 [[[[[[[[]]]]]]]] [[[[]]]] [[[[]]]] [[[]]]
190 [[[[[[[[]]]]]]] [[[[]]]]] [[[[[[]]]]]] [[[]]]
191 [[[[[[[[[]]]]]]] [[[[]]]]] [[[[[[]]]]]] [[[]]]]
192 [[[]]] [[[[]]]] [[[[[[[]]]]]]] [[[]]]
193 [[[[]]] [[[[]]]] [[[[[[[]]]]]]] [[[]]]]
194 [[[[[[[[]]]]]]] [[[]]] [[[[[[[[[]]]]]]]]]] [[[]]]
195 [[[[[[]]]]]] [[[[]]]] [[[[[[[[]]]]]]] [[[]]]]
196 [[[[[[[[]]]]]]]] [[[]]] [[[]]]
197 [[[[[[[[[]]]]]]]] [[[]]] [[[]]]]
198 [[[[[[[]]]]]]] [[[[]]]] [[[[[[[]]]]]] [[[]]]]
199 [[[[[[[[]]]]]]] [[[[]]]] [[[[[[[]]]]]] [[[]]]]]
200 [[[[[[]]]]]] [[[[[]]]]] [[[[[[]]]]]] [[[]]]
201 [[[[[[[[]]]]]] [[[]]]] [[[[[[[]]]]]]]] [[[[]]]]
202 [[[[[[[]]]]]] [[[]]] [[[]]]] [[[]]]
203 [[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[[[[[[]]]]]]]]
204 [[[[]]] [[[[]]]]] [[[[[[[]]]]]]] [[[]]]
205 [[[[[[[]]]]]] [[[]]] [[[[[]]]]]] [[[[[[]]]]]]
206 [[[[[]]] [[[[]]]]] [[[[[[[]]]]]]]] [[[]]]
207 [[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[]]]] [[[]]]
208 [[[]]] [[[[]]]] [[[[[[[[]]]]]]] [[[]]]]
209 [[[[[[[[]]]]]]] [[[[]]]]] [[[[[[[]]]]]] [[[]]]]
210 [[[[[[]]]]]] [[[[]]]] [[[[[[[[]]]]]]]] [[[]]]
211 [[[[[[[]]]]]] [[[[]]]] [[[[[[[[]]]]]]]] [[[]]]]
212 [[[[[[[[[]]]]]]] [[[]]]] [[[[[]]]]]] [[[[[]]]]]
213 [[[[[[[]]]]]] [[[]]] [[[[[[[[]]]]]]]]] [[[[]]]]
214 [[[[[[[[[[]]]]]]] [[[]]]] [[[[[]]]]]] [[[]]]] [[[]]]
215 [[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]] [[[[[[]]]]]]
216 [[[[[[[]]]]]]] [[[[]]]]
217 [[[[[[[[]]]]]]] [[[[[[]]]]]]] [[[[[[[[]]]]]]]]
218 [[[[[[[[]]]]]]] [[[]]] [[[[]]]] [[[]]]] [[[]]]
219 [[[[[[[[]]]]]]] [[[]]] [[[[[[[]]]]]]]] [[[[]]]]
220 [[[[[[[]]]]]] [[[]]]] [[[]]] [[[[[[]]]]]] [[[]]]
221 [[[[]]] [[[[]]]]] [[[[[[[[]]]]]]] [[[]]]]
222 [[[[[[[[]]]]]]] [[[]]]] [[[[[[[]]]]]]]
223 [[[[[[[[[]]]]]]] [[[]]]] [[[[[[[]]]]]]]]
224 [[[]]] [[[[]]]] [[[[[[[[]]]]]]]] [[[]]]
225 [[[[[[]]]]]] [[[[]]]] [[[]]]
226 [[[[]]] [[[[]]]] [[[[[[[[]]]]]]]]] [[[]]]
227 [[[[[]]] [[[[]]]] [[[[[[[[]]]]]]]]] [[[]]]]
228 [[[[[[[[]]]]]]] [[[[]]]]] [[[[[[[]]]]]]] [[[]]]
229 [[[[[[[[[]]]]]]] [[[[]]]]] [[[[[[[]]]]]]] [[[]]]]
230 [[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[[[]]]]]] [[[]]]
231 [[[[[[[[]]]]]]]] [[[[]]]] [[[[[[[]]]]]] [[[]]]]
232 [[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[[[[[[[]]]]]]]]]
233 [[[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[[[[[[[]]]]]]]]]]
234 [[[[[[[]]]]]]] [[[[]]]] [[[[[[[[]]]]]]] [[[]]]]
235 [[[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[]]]] [[[[[[]]]]]]
236 [[[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[]]]] [[[[[]]]]]
237 [[[[[[[[[]]]]]]] [[[]]]] [[[[[[[]]]]]]]] [[[[]]]]
238 [[[[]]] [[[[]]]]] [[[[[[[[]]]]]]]] [[[]]]
239 [[[[[]]] [[[[]]]]] [[[[[[[[]]]]]]]] [[[]]]]
240 [[[[[[]]]]]] [[[[[]]]]] [[[[[[[]]]]]]] [[[]]]
241 [[[[[[[]]]]]] [[[[[]]]]] [[[[[[[]]]]]]] [[[]]]]
242 [[[[[[[]]]]]] [[[]]]] [[[]]] [[[[[[[]]]]]] [[[]]]]
243 [[[[]]]] [[[[[[]]]]]]
244 [[[[[[[[]]]]]]] [[[]]] [[[[[[]]]]]]] [[[[[]]]]]
245 [[[[[[[[]]]]]]]] [[[[[[]]]]]] [[[[[[[[]]]]]]]]
246 [[[[[[[]]]]]] [[[]]] [[[[[]]]]]] [[[[[[[]]]]]]]
247 [[[[[[[[]]]]]]] [[[[]]]]] [[[[[[[[]]]]]]] [[[]]]]
248 [[[[[[[[]]]]]]] [[[[[[]]]]]]] [[[[[[[[[]]]]]]]]]
249 [[[[[[[[]]]]]] [[[]]] [[[[[]]]]]] [[[]]]] [[[[]]]]
250 [[[[[[]]]]]] [[[]]] [[[[[[]]]]]] [[[]]]
251 [[[[[[[]]]]]] [[[]]] [[[[[[]]]]]] [[[]]]]
252 [[[[[[[[]]]]]]]] [[[[]]]] [[[[[[[]]]]]]] [[[]]]
253 [[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[[[[]]]]]] [[[]]]]
254 [[[[[[[[[]]]]]]]] [[[]]] [[[[]]]] [[[]]]] [[[]]]
255 [[[[]]] [[[[]]]]] [[[[[[]]]]]] [[[[]]]]
256 [[[[[]]]]] [[[]]]
8191 [[[[[[[[[]]]]]]] [[[]]]] [[[[[[[[]]]]]]]] [[[[[[]]]]]] [[[]]] [[[[]]]] [[[[]]]]]
13071 [[[[[[[[[[[]]]]]]] [[[[]]]] [[[[]]]] [[[]]]] [[[[[]]]]]] [[[]]]] [[[[[[]]]]]] [[[]]]]
524287 [[[[[[[[[]]]]]]] [[[[]]]]] [[[]]] [[[[[[[[]]]]]]]] [[[[]]]] [[[[[[[[]]]]]]] [[[]]] [[[[[[[]]]]]]]] [[[[]]]] [[[[]]]]]
2147483647 [[[[[[[[[[[]]]]]]]]] [[[[]]]] [[[[[[[[]]]]]]]] [[[]]]] [[[[]]]] [[[[[[[[[]]]]]]] [[[]]]] [[[[[[]]]]]] [[[]]]] [[[[[[[]]]]]]][[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]] [[[[[[[]]]]]]] [[[[[[]]]]]] [[[[]]]]]
1449565302 [[[[[[[[[[[[[]]]]]]]] [[[]]] [[[[]]]] [[[]]]] [[[[[]]]]]] [[[]]]] [[[]]]] [[[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[[[[]]]]]]]] [[[[[[]]]]]] [[[]]][[[[[[[[]]]]]]] [[[]]]] [[[[]]]] [[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[[]]]]]
1746268229 [[[[[[[[[[]]]]]] [[[]]]] [[[[[[[]]]]]]]] [[[[]]] [[[[[]]]]]] [[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]] [[[[[[[[]]]]]]] [[[[]]]]]][[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]] [[[[[[[[]]]]]]]] [[[[[]]]]] [[[[]]]]]
126528612 [[[[[[[[[[[]]]]]] [[[]]]] [[[[[[[]]]]]]]] [[[[[]]]]]] [[[[[[[]]]]]]] [[[]]]] [[[[[[[[]]]]]]]][[[[[[[]]]]]] [[[]]] [[[[[[]]]]]] [[[]]]] [[[]]] [[[[]]]]]
778085967 [[[[[[[[[[]]]]]]]] [[[[[[[]]]]]]] [[[[[[[[]]]]]]] [[[]]]] [[[]]]] [[[[[[[[[]]]]]]] [[[]]]] [[[[[]]]]]] [[[[[[]]]]]][[[[[[[[[]]]]]] [[[]]] [[[[[]]]]]] [[[]]]] [[[]]]] [[[[[]]]]]]
1553783038 [[[[[[[[[]]]]]]] [[[]]]] [[[[]]]] [[[[[[]]]]]] [[[]]] [[[[[[[[[]]]]]]] [[[]]] [[[[[[[[[]]]]]]]]]] [[[[[[]]]]]] [[[]]]][[[[]]] [[[[]]]] [[[[[[[]]]]]]] [[[]]]] [[[[[[[]]]]]]] [[[[]]]]]
997599288 [[[[[[[[]]]]]] [[[]]]] [[[[[[[[]]]]]]]] [[[[[[[]]]]]] [[[]]]] [[[]]] [[[[[[]]]]]] [[[[[[[]]]]]] [[[]]]] [[[]]][[[[[[[[]]]]]]] [[[]]]] [[[[]]]] [[[[]]]] [[[[]]]]]