-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path19.py
474 lines (457 loc) · 24.1 KB
/
19.py
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
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
import math
import collections
from collections import Counter
import re
from tqdm import tqdm
PROD = """
rwgrub, gru, w, wgrrr, wbu, uuww, uruub, rrrrw, rwguu, ugu, ubbu, gbu, rrgbwg, wuuuw, gbb, buw, ubrg, bubrggug, urg, rgbb, rruuwubr, uuu, gwuwubu, ggrg, bg, rgug, rubgb, rwb, gwr, gwgw, gwuw, bugwrwg, wuww, rubbgr, wuwrbgug, bbrb, wuu, brbr, bgrrruur, brgw, urggg, wwbrrr, uwuurwb, wb, ggu, wurub, bwurrw, wru, grrrr, wgw, rru, bbuw, wr, bwbwug, ubr, uwgrw, uuggbu, uru, rrgbuw, bwwwu, bgr, ruu, uwrgw, uwwwwrgg, bgrwu, wuuwrw, rgbu, uwbg, ggwgrw, ruggbgg, uugbu, bgwr, wrurwbbw, gur, bguu, wruww, rugg, rb, gbuu, wrbwu, ubuugb, wgrg, uugu, gugwrw, urwguw, rrur, rbw, wubb, rrrbrw, bgug, wuburb, wrr, wgubwug, ru, wwb, ubgrbub, buu, urgbrrrg, wrbw, wgu, wrgg, gbgr, gbugug, rwgg, wugw, wwrgwgb, bggb, wwbgub, bbwuugr, gg, wrwu, gurbgw, ggwb, wuw, brggrr, rgg, bgrbwu, www, gwbr, rrw, wgruwb, uwwbww, bbur, buwgu, wrrbrb, wub, gugr, ugrrw, ggr, uwwburg, brg, uwbrgbb, buwgb, bwr, ugr, wubbw, bwgbr, uwgrwgwu, ugbu, rbrg, bgwwb, wggurr, bbr, rub, grwur, grr, wwwgwb, bwggu, wbb, brrug, rgubb, wuwb, ugwg, burg, gugu, gbw, ww, ugrwr, uuwuw, wg, wgww, uubuw, ubuw, rur, ubwgrg, rgb, wgrwg, wbg, bgrb, rbwr, gwwgubgb, uurwwur, gbubwur, bbgur, urw, gwug, wuubwwbu, ruwubgw, wuur, bwwbrg, ggb, bgbb, rbguuw, rbu, rwrgrb, gwwu, uwbbwwg, ggguu, bgrr, ug, uww, uwuuwg, rug, uug, bgbuu, brgrbr, gwu, wgb, gggbu, rww, wbrgbr, grb, ubbbrubg, wuwbub, rgbw, gbwb, bbb, bruggw, wrb, uwggu, urb, rubu, gwwgrg, gwggbw, r, gurru, bubrw, bgb, grrr, ugwbu, ruwwrbr, rgu, bbbrbww, wbw, uuw, ggw, gwwg, brw, ubgwubg, wu, wrgb, gbbwb, bww, rbb, bru, bub, bbwrg, rbg, ggbb, wrubu, bgbwrwu, burr, wgrb, gr, bu, guug, ruw, uub, rwgrgb, ruwr, gww, bbu, ubrw, gwbgu, uwugrgr, ubb, ugubrbr, bugw, rgrur, ruuru, bguubw, ggbgbw, bbgu, rrg, gbr, urwwwrbu, ur, bbuuu, ubbbrrwu, rugwrbww, uburugr, rbgubbu, gwg, bwbwgu, gbg, gwrwr, bgw, bwbg, u, wgwrr, br, uwgrwb, wurgg, buwbbwg, wwg, bgrbr, bwg, g, wrwb, gwrw, gb, guu, brwbw, uur, gwb, uubug, wbr, wwr, grg, wrg, bburrrb, uggrrgw, rwwgrwb, wurbr, ubw, ub, gwrrgrbw, uwru, ubu, brr, wggg, ubbrbgur, wbbr, gbbwgwr, urru, guuru, wubrbb, bbg, gu, wubww, ubwbbr, rggrg, bbuu, uguwu, rrwbbrw, gbbburb, gggw, buwru, wbwg, bug, gw, rrr, uwwu, bgbugg, bwu, bgg, bur, uuwgwubr, brwwb, ugg, guw, uwwrg, bbw, bwwrb, rwguuw, gug, brrwu, rgr, bgbwr, ubggw, wwu, uwrrwbb, bgu, wwubbg, wbwrb, rg, brb, wgg, ugrbbr, rw, rbwb, rrgw, rbgb, uwg, buwggwr, wguw, ggg, uwgbgwrb, wurbb, gub, bbwu, rwu, gbrruru, ubg, wubw, ugw, uggbuw, uurbb, rwbr, wgr, ubwbrrw, ggbgwr, uu, bgww, gbbwguu, wwbr, rrugbwbw, uw, bggwr, uwu, wbubr, brrr, wrw, wggw, ugur, uwr, bwbgw, rbr, wwgw, uwub, uwug, bbwbu, rwg, rgwwrw, grgwwwu, bb, rrbubgrw, gugg, rrwuww, urwu, ggwgr, wugb, ubgbb, gbwguu, rrb, uwguugw, rwr, gugwgu, uwubu, bwgw, ugruubg, wrrg, gwubwu, wbuww, bgwrw, ubwrgw, wrgrwgr, wbrgb, wrbgb, wggbbbg, uwb, wwuw, brbguuw, ubruw, wug, gbuwgw, wgwub, wrbg, uggug, rggb, wuuwwr, uuuggb, bwgu, rbgu, ggrbrw, wgrrgu, grw
bwbuuguwrgbrgruggbbgrrwwrgwggbwurwgrbubbrrugwgruuug
bwbbwrggruwwguurbugbubbgbuwgwggubwrwwgwbrrbuuww
bwbrrurrwbuuubgbguwuwgruuwbggggububugwgwruuu
bwbugbbwbgwbubguubgrgrwbuggbrggwwwgrwbgububr
ggrggugwgrrrggrruggurggwguuuuubwrurbgrgbwwwuurg
bwgwuwgrwgwurwbwwrwubugbgwubuwbggbbwbrbwbuuruugwbwrwwuwwg
uggbruwbrwbrgbbgbuuwggwrbgurrrwbwgbwbgbubrwrugwugbwrwu
wbrwwrurggrwuugbuurubbwwugwuuurwrggwgrruuubggwbwrbr
rugurgrrugbwbugwguwgbrrwwgwbgrgwbbgrrguuurruubuuggurrbwu
bwbrbuubuwuuuwwbgbbruugbbgrbgbrwubbuwguruwbwggbbuggruubbu
guggbgwrbrggbuguwbwgwbwuubbrgwrggrubwwggrwr
buwwrgguwbrurwrgburgburbugrbruwwgugrbburwuwwg
bwbrrrburwrrgbwgbgurwuwrgwruuwrrwbrbwuuw
rwrwgbbwbrwwuurwuwgurwubgbbwrgbubbgwrrgurubbrrrbgu
brgwrbwubuwwwuuwwruwwrrbbbgwrguburbuurubgu
wwrubrrrrgugwrbwwbgubrwgugrugrbburgbrwguuuwrurwgubwbgbrwg
ggurrwrrwwwuwrwrbbbwrwbuburbrgubbwrbbgbbgbrgwrwbu
bbrwwuwubugwgggwgrgbguruuggggwguuwrgwubwwwuggbrwguubu
guwruurbuwrrgggbgrrrrwurwwurruugggrwgwwbruugggrrbwgub
ugurwbbbgrrbbubrurubuwgguurgbbwbrubwbwgwugwbwururrrgg
wbgrbbbrurgrbgrgrwugbbwburbwwrbuwuugbwgbug
rurbbbgurrubwuuwgwubggrurwugguugbwwbbrgwwr
urubbbgrrwwwgbgwruwbubrwuugruwwrruwrbbrgrbwrubrugbubbwggwg
rbguwbubrbgbwrbrburrbgugrbbbugbgrwubuwbubgrruugrwggburgg
wbbrrgrugbugwubbwubuggrurbubwubbgwwuguwbrbgguguwurwuwg
bwbwwrwgubgugrggubrrubbgwbggbwggrrrguwrwuggrrgwubg
brrbgrwrrgugbrugubbuuwgurbgruurwgugrubwuurugwrbbrbggwrb
wbwggbrrgbgwgrwgwburrwrgrrrgggbguruurbbuwrbgrruubrgbgru
urruurugbgurwuwugguuwwrubrbgugrugrwrrrubggwuwwb
bwbbuuurgrrgguwwgwwwwguwugrbwbuwgbgwggwbrgurbbwrb
bwbubuwwwuwugggbwrwrbgrugwwbgrbwbuugwrgurbbgubuugbr
bwburrwubwgbbwruuururwurrgruruurubbgurrurbgruwbgubrwr
wruuwuwbrrggurwugwwgburuuwrbwrgbgwbugrwuuburrwruwuurug
bwbuwbwguwbbgrrgbbuwgbgwrbgrrwbrurrubbbgbbwubgw
gbwrbuwrugguwwwrrbwbbgubgruugrurwgwruuwrwgwwubbggwur
ggbrugrwrbggubugwgurbuuwubbwguugurgrgwbwrwgwuwb
uurrwbrruwwgggugwwgrrugbgurbgrgwwbgrwwuwbgwg
bwbbwgugrbbgrgwwbgwwgbwburugbbrrrwwgugwggwurgbwwuwrwwwwgbgbu
bwburwruwgwwburgwruugrbbrbwwgwuwurggguwgrwrggbrwrruugbw
bwbuuwbgbuwbgurgrwugurgwguwwwwubugwggwuguggub
guurgguburubgubuwrruwbubugrugbgbwuuwwgwwggrggurwwrw
bwbrbbwbwurgbwrbbrrwrgbbuwbgbrgubbbrbrguuuwbgrguuruugwu
buwwggububwruwwurgguwwubrwgbwggugguruuwgwubrbuubgrww
bwburwwwrubrgwgwrbwbwwuwwrugwrbgbwugwbgg
ubrwgwrgggbwwgurgwgwbbwrwbbwrgbrbwgrgbuwwbuubwu
wgbrwgrrgbggbwbgrrwwbruwbwuugwrbbrgbwbgruwbrrgbguu
bwwbwbbwubwuggubuwrwwgggwrbuwbwbrgrbbugrrrwrbruugb
bwguruubgggbgbuwbgwguubgrrruurgbbgruubwuwu
bwbruburgwuwrgbuugrruwwggggrbbwuggwwurbuguubbwuugu
wurbgbgbrgwbrbuugwgrrubbbrrwuwrrggwrguuguuuurgrwrguuggg
wrburgbwwuwwrbrbgurguwwruwwuubgbgguwububbrgwrwbrgbw
bwbrbrruwurgurrrrwwwbbwrbrgrggwguugggbuggwuguwubrwuubrbb
gwrbgrwuurubgrbrbuwgwwguwwwbwwugbbbuuwwuuuwbbwwwg
wwbgrrrbwwuubrrubwwugwuruggbwuuruuwgggugbwugwgwwbgwwr
ubbrwrrrgrrgrgurbwububgrgrurgubrgrrwgwrrbgubgurgbugbwbr
rwwuwgbruwuugwuwguwrbbrubugwwwgwgururuggbwbubu
bwbrwrwburwgrwrgrbwwububbrgbbbwrgwbbbwwugu
gwwbruwbgurrgwbrrbrrwwwubuuwuguurguurrwwwgurgrwwub
bwbubbrbgurrbgbgwubrrwuuwbubbgurrbrrwrrrugurbgrur
grrruuuwgugbwrrbrbgbuwrrwggwrrgbubgrwwbbrbggbwgwrwuwuwwgu
bwbrbrgwbbubrrwururwguwrwuwguggwururgbgbwrggr
rbwgbrrruuuuurbwgwubggggrwrrrrurrgbbbbuggrguwrbubuwbwbug
bwbwrgrrgwrrgrbwbwrbwbuwuwrrbwrwgbbrbwgr
rbbrgwubuuurgrrgrwgguggwrrbbruugrgubugguuwgrubwrwb
bwbbwwuwwgrbrwugrrgburwuwbwbwgwbbwrururubgbwwgwwrgrg
uuuwbrwbwggbwbrgwuubgwbbuuggrgurbgwruguggguw
bbgbwruuwurgbuwbbbruugugbbbruuwrbrrubugwwuwgwbg
wbrugwggwbbwrggwbgrggubwgruurgrbruruwwbwbggrwbrrwbggwrubg
bwbbuurwwwgbguwguwrgguwurburgwgugggrrbubg
grrbggbgububbbrrbuugrbwbwrgbrbwgwwrgbgrbwbrurbwuwgbuw
rbgurbwrrbbggbuubwrugbgrbwwgwbbrbwgrubrgwuugbbwwggwgu
bwbbgbrwgwbugrwbbbbbuuwugwuuwwrrbgrwwrrwguwgrbbbr
rugurwbwrurbwurwgwbrgwwrwgugurubgbrgrgbguuwguuru
bwrggrwgwwgubgbuwbwrrgwrguwbbwuburgrbrrwbrruuwu
bugrrgrbwbgwwruubburrrguwwguruuwgbbbgbwrgwrubrggrgbub
bwbbrwugwuwgbgbruwbwgbrrgbruuruwuwubgwgwbwg
gwbbbggbgggbubgwugwrwwurrwbrgwgwbbbruwbuugwrubbb
uwuugwbwrubbuwwbbwgwugwbwgggbrbrwubgwwgubbgurbrwubwgbr
wgrbwggwrgwrgrurrguuuwwbbrrrburuugbrggggwrrurruwwugugwgbbg
ugrbggbugwbbbrwubggruruwbrrugwgbwwuugrruwrbw
rrwuwugbbwbuwwwrwwwuuwbrubgbrggubrwwrwbwbuuguwwgubb
wggrgbbrurwbwbuubuwuugwgrrgbbubgrburgggugbwrr
uurbbrububuugbwwruwbwuuwbbbrrbubgrwbbrwuuwgguugbguwr
bwbugrgbbwuubuugbrbbubgbwuubugrrwgrbrgugguwuurbbbru
bwbuuurburbgbbgrrruurrwruwurrrrgbwbbgwguuwwrgwbwuggr
gwrrbrurguugggbugurruugwrgwrwrrgrggguuuwgbgrgrwwugwwgug
wwrbrwrrwbbwbbruggbwwrbwwururrrrgruuggubrg
ruwwrrbbbwurwbuguurrgrrbrbubrbgbbuugrrgggugurbbgrrbwuggug
bwbrwwuwurrgwgbbwrrwrbubrgwgrubwubwbruwbrbbwwwuuwgugwwr
ubbgbrbrrwgwuwwurgrggrbrwwgwrurggbgrgwurburrgrrb
uwwwguggubuwrwrrrugrwguuruwbgrrrbwwgwbururuwwrbubg
bwbwwwgurrwrrgrwwbgrrubbruwugubuuwrwgwburbwggbrr
guruwwwbruubwbrbrubggwgbubuuugbwgugbwuwuur
bwbwwurubbbgurrgwbgwgrrugwurwggwbgubbwrugubggruurgbbr
ggwgwrrgbrubuurrburgrrbrgwbugruwbrwgrbugbgur
gwburguugbubuwrwruwrrbuwwuuwrbwgwgrwbgbrbbbgrrwwggw
rgwbuuwugrugubbwgrugbwbugbggggbbgwbwrgrwbgruwbbwu
bwbwwwggbgwugugubgrrwbugwrubrbuurwubuggbgruw
urbbgrruwwwbbubgwggrbggrgrwuubuwbwguwugwur
buruggwwwwwbbrrurgrurwrgrrrrgubwwwbrggwurwurugbwrwbwgg
urguwruwrubbruwwuwggrburgrbwburuubrgrggwrggrgbwbburwu
bwbwbrrgrgwbbrgrbwbrgugrurbrwrwrwggggbuwugbbwwuwwrrur
urugwurguuwurgrwgwrruugrrrubuwwubbubwwbrbrrwwguwbggur
bwbrrwgbbrbwwbbubbwwgwbuwurrrrugbwrguguuurbrwuwwrgb
gwwbgggrrwuwwugbwwurrugwgbgbuurbgwbbgubuwgrwbbu
bwrbwbrgugrgbbwrurwbbwbbwrrwugrgwbggwugrubbbguu
wgruuuurwbgwugburuugubggwburbugrbggubbuuggbgg
bwbwbggrgwrbwwuwrrubwurugrubwgrbrbugwuggwgggrubgwgww
bgruwbggrrbwgrrururuwbbwwrbgubrbrwbwwbuuwugwwbg
bbbuwurwrbgruruwgbugguggbbbwwwwrrbuwugrgguurubggwgbuwugbr
bwbburguruwbggwugurwwuurwwbbgrbwgbgwrwbubbrw
bwbwgrbgbuwugguwwrgwbrurwrrurwguuugwwgbuuwrurgwruubrwbubwu
grbrbrgrgrbbgbgrgwbwuurbgrbwbbgwgrbbbugbrr
bwbbbwrbwggrwbbwgrbbgwurubbggwbggwbbguwrwwuuwgbwbgrgububgg
grrgwgrbugrugubwrwrgugbrbrrrbgrrbrurrrwrurruggrbggr
wbrbwurrbubwwbgugggwugubgguuggwwwwgbugrwrwgbbgbrggwwgru
bwbbwbbuwrbwrrbwwguwrrrbbrbggwgwgrrguwrgrrrrwbwru
bwbubbgbgubgbwwuubuuggbggbbuuwbrgrbubggwrwrgugbwwbbbgbuw
grrrbrwwwgrugbbggbuwggbbuuggbbgrburbuwwrugwwubwubggbruwugu
wrbwrggbggrwgrbbgwgbwrrgwgggbwwruuuuuurrbru
burugruubgbrbubbwubwbugwuuwggbrgwrbwuuurwrwuurbbrbggbb
bwbwuubwuwrwrbrguurubwrwbbubrbbrbugrgwbuggbuwwrrgbuggwbrrb
gggwbbguwwrubrrrrbrwrgurruubwwbggburrwbbwbrrrgugw
bwbrububuwguubuwubwurruuwgrrubwrrbuwugwbwgrrbgrwgwruuu
wrwwubgguurburgwggwrwbwrwbwuwuugbugwuugbgurrrgbw
grbruuurububruubrrrbbggbuwuwrbburwgbwrbrrr
bwbubbwgbruwburwubwruurrgbwuwgrrrrwuwuwbug
brurggubbruburrrrrugrgwwuwbrurggwuggurgbbrw
bbbbuwbrrrurubbwuwrbgwuwwgrrbbrubrbwgbguwbwugrbbb
bwbbwrubbggrgwwrwugbggwrggbuggrwwwbgwwggbuwwgurrgwgbuu
rguggbwrwbwguwbgbwwrburgugugbugwbwurgrbwbgrgrbgurggbgwb
rbbwruwurwbwggbgbuuwrbbugwurbgwubrwuwgrgrwggubur
bwbwbbbugrwwgwgrwbuguwuugugrrrurgububuwgwrg
wbuuurgbgwgugburrrrggwrururwrrwgurwugrbwurrwbguwgbwbwuuw
wgggwbubbbuurugugrugwgugurrwwuruugguwgrbrubgburgwrururbg
bwbbgrugbbrrwgbbrurrggwurwggbugggggbgubgwwrbrgbgrwgwwgrg
bwbwbubwrwgbwguwbwwrbgubgbbrwwrrguguwbwbg
bbgwrbwbgrwbugrrgrgurwuwwwbugrbbrgwwburwbubwrbguur
ubbwrgurwrguwwgrrbgbugrwbbrggbbubrwgwwguwuwwrwgbubwugb
bwbbbwgrbgbbbgruwwurgugwuwubgbgwrwuwrrgggwrrrugbwbwwubr
bwbugurggbgwbwwbrbgguuwgbbwbuurbrbwuwubwrrwgruru
ruuuggbruggrgrgwrwuuggrrruwrrbwruugrbgbwubbbwrbu
bwbrbrubrgbrwbugrrrrggwrgbrwuuwbrbgrbrbrbruwgbrgbwbb
grbrwrgrwuwwwububbbrubggwwwwwgrbwgwuwrwggbgbwwgurwugbguwg
uurgrbwwwuugwruurugwuwuuwbgrwbgrwrguwbguwbgrgurubbgwurgbu
bwbuwubwggruwbwbbggurwrrburgrggwrgbwubwwubrbwgwbwuwubwruggb
brbwwbrgwurrrwbbuuurwuwuwgbrguwbbrrrgrbgubwugbuwuwgguugrg
bwbuugburbbbubbggwwbwurrgbgwrggbbgburgwbuwuu
bwbrbrwurgwrgrgwwuuugrggwrgrrrbgrubgrgwubgrbwwbwbwrrugburg
urgggbwbwggrbrbbwurgbwbgrwrgugrurbruubwruuug
wrrwbgrgggbubgwguwugggrgrubuwrgbgrrrwurggurwgrwgruugrr
uubbwbuwgrggurggwgrrbubugurggrbrgrburbgbbbuggbrwuwggub
wwwgrrwbbwbbwgbgwuwgrrugbwbwrwwgrbugubugwwruuugwwbug
gbrrurruurbbgubgwuurugwbrrgurubbuggurgrbuwgr
bwbrbuwurrbbbbrwbrgwrwwwgrbburwwbgwbwrgbgb
bgrwubgrrwrubbugwugwugggrburbbuwbwrggwbgwurwbubuuu
gbrgbwbrwuguwbbrrgwwwgbgrwbuurgrgwggrbwuwruuuwrrurgw
bwbubbuwguuuugbuwubbrwwruwgubbubrwurwbwuwrgrw
bwbbburwbrrbubgrwgwbbrrubwubruubwwwubgwwguwgrgwuuwrwgbbb
guwwbrbbgruwurbwwuruwbbuwurgwbgrgubrgrbrubbg
bwbbruurbrwguuwrrbggguurwrwbuwugbrruwgrwgwubbruur
bwbbrrugbwrbbugrwgrbwugwuuuugugrurrrgwrwubbwwu
rwrrgggrggbgwggwgbgrbwugwrbgbrbwrrrrgbwbggg
gbgurwbwruuwguburrugrrwggwrbrugubbuwggrbbugubrg
bwbwwgbgbrbwwwuwrrrubwwwurubuugguuwubrgrruuwuwubbruu
bwbwggrrbwrgrwbgbgbrrwurbgwuwwwwgwrbwgwgbrugggbwrrggrg
rwrbbbuggrrubbrwubugwrbrrguuurwgbuwurwwwgwguwwuwwbbr
rubbugwgrgwrgrrwbgurrbubbrbwwrbgubgurrbbbgrgwbgwrrurrbg
bwbbbbwgwrbggbgwwgggubbrgubuuugbbwgwbwrgbrwguwwwugrrgrr
gguurburrubbrrbgbbgrbrubgwrgwrwgwbbgrburwwwrbugb
uuwbuggwgubrbwbruurbwbbwurbgbwuuubrwbwgrgruuugurwwu
bwbwbbwrwwbrrbuwrwwurrrrruggbrgwbbgubbrbbrgburwgugbwwgwrwgwg
uggrwwurbuwbbbrgrbbbbrwgugwrbwrrwbrgwrgbrggwwwbgbwg
bwbrbuugbwgwrbrrgwbrguwuurrbbrbwwrubwuubgubgbguubrrw
bwbugrrwgwwwubguwbwbugwwurwgrrwbgbrrgbubruwrrbggrwbuwubrubww
wgrbbwuwwbgwrwbuuwurwurrbbgbruwbwwurgbbrbrwr
bwbwubwrrrggrwbggguurbubwrrbwwugbugrggugwwwgwwwrrb
bwbwrrrrrbwgrugubwwbwrbbbugwbbubrggugbuwwuwbbwwrbgwugwwg
ggubuggwbrwwwbuuggwwuubwbgruugrbwgwruwrruwrbwgrrwwu
bwbuururrrguwwuwwrggwbwggwgwwgubgbrwuuwwggrubrgrugru
gbubugwbgwguurrrrwbbgguuwwggbwwrrwrwwbwggbwburwwbbug
bwbruggguwgwrwgwrgrrburbbggguubrbbbgbrwwrbuwrwwrbgwbwwrwwug
bwbbrbwggugugggrubgugwrurbbwgubggrbbrbwb
urgugwgbwgwwgrwrbubrwurgwwgwwuwbbrbgggrbww
uwggrbburguwubgbbruubwrrurrguguwwguguwbwbrgwbu
bwbrwwwgrgguwuubrggwugwuggbgbbburrgbggrgugggrwubwugb
bwbubgrwwrubuurgbbugggbrrubgrgrbrruguuwgrwrwbbwgwwwurbg
bbuurgbrgwgbbgbgrrubrruubbgggbggwgugwgrbrwrrur
grrurubwbbubgwrwbrbwbrguubwubbrugrwburuwbubgrwrg
wuwgbgwrubrruurubwrrwrwuwgwbbwgrrgubbgubbg
bwbbbgrgrrurrrrwwugwuwrburwgbbggbrgugwwruruggubbru
bugwggggbwrbwrruubgruwrrbrbbgbwuwbggbwwuur
gbrrgrbwbwruuuuwrwgrrugurgbubbgwrgwurgbwgwbwguwbwrwwubgb
bwbbrgrrbwbwgbwwgrwwwbgrwwubbwuubbrrgruuuwuubb
bwbwrbwbuugbugruruuugugugwrgrwbugbrrgwubbwwggrruwug
rrwubwurbuuggwgbruuwgwuggguwubububuwuggbwru
bwbbbggrwuwbuguurgwrwwwgbgrbrrgbrurwbuwburrugwuuguw
bwbruwbbrwuguurrbgrgrwguugbbrwrrwbbgwbuwggrw
bwburwwugrwgbwuurrwrgburggwwbbggugugrbggrbbrrggugbubrb
bwbubruruurrrbrugrrurubrruuwurugbwwwrbwwru
bwbrugbwgbguugwgubugugbrbgrgrbgbbgwgwggbu
ubrbbbgbbuwggggwbgrgwwwbgurubruguugrbwwgbrgrgwuubrgb
bwbbbgrwugwurruubgurbwgubwubrbbwwbgubuwbg
rrgrbbrwwwbgrgwgugrwwbgbwwubbugwubbbbggbbggrwrrwrg
rbwubwwrburuggwbwruurgwbrrruwuwrbgwwgrruuuwb
bwbrugububuuubbbrrwubgrgugrwwbgguruurgurwruubgur
rggbbbwwwuwgbuwrrrruwbwgrwwbggugwubrwbuwbuuu
wbrgrguuuuwwbggwwwgbrguugbrwgwruuguggwuwbuwbbgruwburugurg
bwggrwuwgbbrggrugwwrbwbrrruubbwguggwbrbggurubrggb
uwbugggrbwrwrwurrwwwgwwugwuggwrubgrwgwgugggwggbg
wwrgwuugwrrbrrwwbugruwgrugrbgwuuwbrwbwuwbrgwwrwrwgrbgubb
bwbbggbguwruuwggrbgrrrgwbrwwbwgrwuubwwburgbbbbgbrgrubgwuwg
bwbrwwubbugbrwbgwrubrgubruggwwggbgrgurgrbrrbrbwwbrggg
bwbburrrwgbbgbwurrbgwurggwubbgrwuwbgrbgugrubwuurruurbrbr
ubrrwrguruwbgubuuuuwgugbwbggwgbrgruwgguwubrbgrbbrrggwurwgr
wrbgbwggugrurguuwrwwubwuwwuburbwruubruugggbg
bwbrrubbggwbrwwrggrbrgbrwgrbbrbbwburwbbruruug
bwbubuguwrbwgwuurrrubrgrbuwbwuubwrwuwrurwwbb
bwburbruggbubbrbwugurbwuuuwgwubrubggwugggwwbuuwggwubr
bwrrgubuuwwgrwubbbbrrwugbugrrrbuwgugbuuwwgwrb
wburgbugwrrbwrwrurrgwbuwgurgrrwubgbguurbuguwr
bgugbrgbwuwugrrrrrbrbgwggbgwgbrbrugwrbwwurgubrgrrburugw
bwbrrgugbbwggwrbbruwwubwgwwurbbrwruurgggrguwurwrgbrurwugb
ggrwruwbggruwbbuwrgbuwwwbruuwrwwrubrwwruurrwwurr
rrwrrrbrwuubgbuwgwwwgbgguggwububugrwggggwrgrbr
bwbburwuwwububgurwwbgurrbbuugruuwrgguggrbwburgurgbbwwrbbgw
wrurgbrwubgrbuurrwruubggrbruburwurrubrbwbwbgub
bwbbubbwrbwubbuubrwgbubwgguggbwuwwwwurguurgbgrggguwuwrrggrru
gwbwgbrwgrwgbwrrbgwuwbbbwrgwwubwrgguubbburwbwbbrwwrgwrg
grbbguguwgrbrrwuwurwubggubwggwuwbbwbugbbrbugubwrrgwuugubrw
ubuuguggwwurwbrwgrwugrbgbwbbrwuwgguggggrbugrrugrbruubguuww
bububuwwrbrurbggguuruubwbgrwggwgbuwubwwburg
ubuuwuurugwbuuuguwguurwbgrburwbrrugbuuuwrgwwwgugwwwwrrgwg
bwrbwbubururbubggwggwruwuwwgggbgggwwwbggububuwugubwbgrgbww
bwbrgrgbbbwbubwrbuubwrggbgbugurbgrwwbrwgruu
uugggrbwrrbwgbuwurgurbugwuuwgrggurrgwuwrbuwwgw
gggrguruwbwwbbrwbbuwwggbuwurgwbgwurwbwwubwub
urbbrruugwrubburgrwgbuggburguurbrbgbwwburwwrburrwubwwbrrwb
bwbbgwwggwubwrgbrgwwgbgrwwwuugrwgurrrwur
bwbwrgrrwbugrgwgggguuwrrbuggwgbwuwguubwwurugrww
bwbwwubgrrbgrbggwwbwgrwbbrwwuwwbgbwwubwwbwrwrbguwgurrrbugg
brgwbbuguuuguwgrrubgwrbuwbrubgwurugwrbwbgwrbbgrbuugurw
gugrugwgwuubuugrwwwgubrbwrrgrrwwgwggrbbwrwgbuuugwrgwr
wwubgbgrrbbgguwugrbbugbbrrwuwrrruwwubwgbbwgugggrwwgwwuuww
bwbbuubggwruurguuubrrwubggbubgwgubwwgugwbwuwrggubwr
gwrurwrggbwrbwrrwwbrwrbgurrbuwwwubbubrgbrr
bwbbrgurbubgugrburrgbbgbrgbbbrbuubbrrrubggbgbubuuubrgwr
rrugwguuuwbgugrrrurbgrbugbwwgrgugurugrwruuuwgugbrugw
rrubwrwrgrbwubugugwbgrwwuwgrruuwubrwuugwrbrw
ugrbbgburwurugbgrwbrwguwbubgrwwwbwbbuwugwbgrw
bbwbubwrruwuwwggbbbrgbgbrwbgrwrbrwurugggwbrgwgwgwrbg
uuubrggwrrwrrruwugrbrrwgrgrwwgbbuuugrubruuu
bwbrwbuubwurbuwgwgrbrgubrgurbbbrrwwbbrwrrgruu
rwwgbrwurguwwwwrggbwuruwuuurubgwruuwbubwwrwrbrwurw
bwubwbrbuuwbubgrwbbwburwrgbuurbrgbrguurwwwrbugbggbrwrr
bwbruwuwrwbwgrggbwwwbruurubwwgwubbbwwgbwwwgwrrwurrwurubbgu
bwbrwrrwrgwuwuurwbgbgugugrubwgurwruwbubwuwrwuur
wgrbgwubruubwrgurggubrgurwggbuuwrububgbgurub
rwbgbbbwrbgurgwwbrrwrwuuubbrggbgwwruubgbbgbubrggugububrwug
rwugggwrrgwrrgrgubuwbuwgruguubggruuurgrurgbrrrggbwrugbgrb
bwbwgbugbbrwbbbwwgwbburbwwubbbwrgrbgwwwrburrurrwwrrrruguuubg
wwgguruwubwgurwrwubwbrwuwrwrggrwrgwbuurrgbw
bwbuwbbwwwburgrrrrguwuguurwggbgbrbwurguwrurur
bwbubggbbbrbrbbrbrwwrwwbuwrrrggrubrgwwuwbuuwgurug
bbbrrubgurwururwrbuwuwrubuwuugburbgrrubgubwu
bwwubwguuwrrruugwwuggguwwbrrurubgwgwubggwrwrw
bwbbwbwgwgbrgrbrgwrrrubrgbwwgwrrugurggwwuwwwwrggbg
wburguugugubwugwwbgruwgrwurbrwugubggbbrwburub
wwbbgwbubrggbbgwurrwwubrgwuggrugbrruuurgguuwgwrbrurrur
bwbburbgbgwrguubwgwrbrruruwbwbrbugwurbwwbrrur
wbbgbwgrrgrbrrubuubuwwbbggbwwgurrrbruwbbwbw
bwbuwbgwrwguwwubruggggwbuuuwguwgggrubguubbbrrbuwugwbbrgbrgb
bugururrgwggwwrbbubwbgwwbrwgwbugrrrrbwubwwbwrugr
rwbbbwbbrbuwgggwgwgwubgbwrrrwwrwgrbrbbgwwg
bwbbgruuubbbrrubguwwguguwrbgwwrwuwgwuwbgbrur
gburrwwburbbwwrrwrrrrurgbuugwrwwurwbbbbrwgrggrwu
bwbbbbrggubrbrbggrubrbwuwwrwugbwrrguwggurbgbrg
bwbrugbrbbguwwrrurbubbgburgrrrggurgurgwgwwbbuugugrggw
brwbrgwuggwbwurguwwbrbwubugwbgrbubrrurbwbwuurruww
bwbuwwburwurbwwwuuubrrgbbbwrwgrrrgbrurguugwwg
bgbbwurrwuwbrrwurubrgrwuwrwrgwrgbgwubwwbgbguugugwrbwbgguuw
ruugbbrwwguguwguwwbwbwubbbrgbubbrgugruwgbgwrbggruwww
rbwbburrwguuugbbbgrrruurbbrbggggbgwbugwbuwb
bwbrrgrrgurrgbugbwrbwwubbbwruuuugwrbuwgbrrwrwrgr
rwuwwwrwrwburbgubwuwwurubwugwgbwubbruruubuuurubgwu
bggrgbrurgggrbwbwrbwgbrwgrwrubbwrwggubgguw
bwbbrgwbrgrrgwrrugwugwurgugwrrwubwbuubgug
bwbbgrbuwgggugbwwwwgrruguubwrrgwuuubbuggbrguuuubrbrugugwuw
bwuubrrurbwbrurbruurbgbugrwwrbwuuwgrubrbrwbrrguwbbruugggu
rwrbubrwuuwggubgwuwrbuurgruggrgbwwwbbubgwubwgwgugbwwrr
urwuwrubrbbrwbrgugbuwuuwgbrbugwbwbuwgbruruggggugwuwgbb
uuurwrurubgwwbbrrbuurwbbrggggwgrugwrbrwrbggugbubuggrbwuub
rrgubwrguwuuuuwuwrbgugbgbbguubuurwrgurbrrrrbgwruwurwrrr
bgrgwrbrbbbbggrbgbrgggrbgurgbbuwuuugrurgbwbwgrbbwrrbwrr
bwbrrwwrwwgbbrbwwuguuwrgwrruuwgbrrbwguggbgwwgwrrwr
grggubgubbwrrubgwbugbuwugwrrgrbwrbrgubbgbugguu
gwwubwwuggwbgubbgurgrbugwuwwurwguwuuurwwguurwrwgrwr
bwbwgwbgrgrrrrwbbbgwbrrbuwgbrugbbggrbwurugwrbwwrggrwb
wbgbwrbubbuuruuwguuwuurwgwuwrbwbbbbrbgbbgruurgu
wrruurubwrwbuuubbrbgurwrrgrubuwggggggbbrggbwuuugrbu
bwbrbbbggwubgbwuuwwrwbugurwgugwbwbbbuwurrruubgrwuwbr
brrruuggwguwgwgbwgguruggwrugburgubgugguwuuwgrbrbwubuuuubgr
bwbrwugrwrurwgbgwwuuwwurrubbbwwgggrruugbuggbguuugbb
rgwgwgwwrrbubgrbuugrrugubrgrbgrrwrgbrrrbbbugbgbbuurguuuw
wgbbubbgguubuwrbwrgwrwuwuuwgbwbrbbubrgbwbrwwgbubrrbbur
rgrwbggugbrugwrrggburwbbwrburugwbrrgbguurwrggg
bruuuuguuugwgugrrgrrrubrugruuwgbwbwubwgrwurrr
urwrwrggwbbbrbrwubgbbgbbrwuwwbbbrwwuwuguggwwuurubgru
bwbrggrwuubrwwuugwugbbrrgbubbggrbrgwgwbwgbwwwrgbubu
rwuuruwrguggrbgwggbgbwgwrurrrgrburrgwbguuruwgr
bwbugbrubuwggwgrgubwwuuurrbubbuwwggbgggwwgruwgg
uwbwrguuwbbwuuwuruubwbwurwubugrgwwgbwuubwwbuubbgbgwrg
brgurwwgggrbgwwugubwrwbugwuuwuwwuurugbwubggwwwwruugurrg
wgwwuwugruuurguwwbugbrgbgggwwbbggwburbgbbwwgbwwwgruurgg
gbwbguurgubrbgrrbuwgbwgggbguguugwbbbgubwgrwgggrrwbbr
wurubbruwbbugrgrruurrurgwburuuwubgrbrggwgurwbwggbgwu
gugbbwgggwurgbrwbgwwwbuguuwwggwugugugugguruwuwwb
gwrbgbbwgwbwrwgwwwbwwurubugwbgbwrrwruwggrbgbgbwgr
bbbbgbrwrwubbgrgbbuggrrrrubrruuburbbgwbggrbwbug
bwbuwugruugwgugrurrwuwurbwubuwgwubrbbuubbbbw
uwbbrggwuugrbrwrwwwbrgwruubuururrwggwgrggwwguguugwuru
bwbrrwubwugrubbwgwwrruwgwguggrwbrwwgwggrgwwrbwu
bwbugrgrgwrwugbwurgggwbbwrurruubuuurbbbuwgwurbrbwwububrg
bbrrwwrbguwwurbwrrgrwwgrggwurrwrwggguwubbwrubrwgubgr
bwbrrrrbgwubuwbururugwrbwbwbuggwruwrruwgwuuburrubbrrrgrug
wugrgwuuwgbbrrugwugrbrwrrubbwbrgbwrwbgwwugrugrbrgbu
bwbuggbgbubbgbwgwubwgwgwgrgwwwrwururbugbwubuuu
gbwbbbrggbrbuwurggwbgbgrrrgugggugwwgrgwrrbrbbrgwwbuw
bwbwrugbuuguwuruwuugrgbbgrbwrwuwbgrgrurg
bwbwrrwrwbbwbuuguwuuugbrrrrwuwbwbburrwuwbgggugbbgwbbwuwbr
bwbbggggbgbwgrrurwbrgggwwwwbwgguuurgugwrrrrgrbuw
bwbwburbwuurbbuggbwgubwwuggubrwbgbbgbgggguugurbuurugbrguu
bwbbbrrwruwbruwuurbwwubwggbbrrrwbgbrgwbrg
rggbrguwuubwrrrrrrwbguwubbuuwrggbwgwbugrwruuugwrbgwrr
bwburwgwbrbrrggrubgwububuguwbgwrgrguggruub
bwgwwbbuguwbgbgwuwgrruburgruwggwbrrbwbbbuu
bwburbuubugrgbrbwuwuububuwuuwwwwggggguurbw
bwbrwbbbrbbubbrwrubrgurgbrrrgggubrrrbwgggbwr
bwbuwbrruwwbgrbbgrurrburguuwbwgwubggbgrgg
wubgrwgrrgggbbrrugburggbrbwgubgwbwugwuwuuubbwggwwuuugwwg
ubrrguwwuwrwuwbgbburwwuugurgrugrurrbbwrbwwwuruguuururgu
rbbgwrbrgguwbuuuwrguugbuggbruwubuwubgbgbuubgwuwwuuuw
rbgwgggrggbgrggwggbuuwwgurbbrbwrwbbgugbuugwrrgubbuuww
bwbuwgggrwgrgwwwwwrwgbwwbrbgurwbwrbugbgubbrbbgrbwrgw
rbrgubgwgbbubggurguugbrbugguwuubbbbwwwwbrggrugrbwrwururrww
bwbbgurrwguurbgguubuwggbbggbggburgrwuuuu
bwbrrugrrwuuuwbubbbwwgrbwwbbubggbbuuwggwggrbugurb
rwwrbbwwggrrubrwwwugwrgwgrbbwrbgwbgrgrrrbwbgwgubggb
ubwuwwrbgguurwwguwgwbuubwwrrguggwggruwgugbbrgwg
bwbrwbrwgrgubbubuwwguwrbgwbbuuuguwbuwgwgbrruurgugrgwrbb
wuwurbgguggbbwbbrgwubburgwubgwrbbubbwwbwurbr
bguurbgrbrbrbrwuwbrrbuwrwbwurbwugbrrbwubbg
wggwwwrrwuwuwugwuubwwwwwugwwgwuruugrwbrrwgurgguubgbr
bwbubggbrruubbwbgrgbubrrurubrgbwbrruwggwbgrubrggrrwgg
bwbwwuggubbbrubguggbgugbwbrwgbggwuububugu
bguugrwuwbwrwrrwwgbrwbruurgbwwuggurbwwwbrgbw
bguubwwgguuuugrwguwbrugurruugwggwuggbrrgrwbgguubrbggwgwrr
brrrgrgruggrubuggbbwrurggrbwgugruuwuurwugwuwgwggugg
gwwbwugrbubbugugugwurwrrwbbbbrbrrbruwrgbgwuwbwuuwuurr
rrwgwgwuurwrrwgbrburbwwuurrubgbwwbuwrbgwwuwgwwrggrgubb
bwbrrubwgbgwbrgwuwbuwubrbguguubwrwgrrrrugr
bwbbrwurrwrwbbubrgwrurrrwbrwwurbuuugrggurwwwbbb
bwbbuwbwwuwbgbbgbwgwbwrubwbgrgrrrrgwuwgwwbrbwburwuuwbwwgrwrg
bwbbbbbrrgbguguubwwwgwgrwgubwguggwuuwugguurwbw
bwbrgwrbuuwrwrbrrbuburbwubugrruubwurwwwwugbbrbgwuwgrwbru
rbuburwggurgrrbbuwwggwgrwgwwwggruuuuuguwwrburb
bbuubggubuwrgbubugburuwrrgrgwrwwrbuuggbwruurwu
rwurwwgrbwbwrburrbubwgbwbwbgbrwurgurgwgbuuubwgurggrrwrwgbr
bwbrwguwuwbwuwbwugbuggbgrrruwwuwbgbrbrubwbwgruggw
bwbrbuggwwwgurbgbrgwubugggrubwgbgbggrbbbwbr
bwbrubrggbugubuwrrrrbubgrwgggwbbwrugbgbbuuu
bwbuuwbbwwrgwwruubuuurrgrgwuubrbuwrbrwguwggwu
bwbbgrrwwuuwgwuwuguuwrbbgbwrgurwurubwuwbrwggwbrwwwgrr
bwbrgbubgwubuurbburrrbwubrbuwbwubugrrggrbbgrruuggwgrrrwbrgr
rgggwubbwrwgwuubuuuwrgrwbwrbrgrurgbbrrgrubwrgbrrurbgg
wuburuugwrbrgrbgrbbrrggbwrbwrwuugubgrrwugwuwuwgruw
ububbwwgbgugbubbbwrgbggbggugbrbggwggbbwgrgguwggug
bwbwwbrugwugubbuwrwrbrugrgurgwwwbrwugwburbrbuwgrwbwgbbuwrgg
wrgwgbgbwugrburgrgbrbwubburwrrurwuuwrbubgurugubgbrwu
bgugwrubgugbbrrgwuurwgubgruwbwbwgbrrbrbruwrgrg
bwbwwgbwbrbrurruuwubrugrbwwwrubwwrwgggbrwrwbwrwug
gbbbrbbrgwgguubrbbwugrrurrbrwggbruburbwgugurwww
bwbbwugrbwrgguggubuuurwrbwurwgguwugwwwubgwubuwuwgrwgbrw
uwburwwubbwgrwwgrrbbwuuwrrrrrrurwuuguwgggu
bwbbgrugrwgbrggbubwuwguwuurruuuubbwggbbwr
bwbbbuwrgbrwguwrrwwwugwruwwrburrbwwrgrwbggbrurwgg
bwbwwbbguggbgwuggugurubgrbrrwurbwwwrbwubuugruwggwr
wugburwgbwwwwuguwuubbbubggrbbwbwwbwgrbbubwgbgubbgbuwuggw
ggwburgrubbuubbwrrwubgwbrwrbgbwbrgbwgrgwrrrwbwwgg
bgbuwguubrbwurrbgbbwuubbruguruggggwuruwrbguur
brbrgbuguubbbwgggwgurbwrbubbbbrbwrgwbwgggbugurbgurwbugu
bwburwrrwubwrwwbubwwguwrguubwgbuwbguwuuuwg
bgguruugwwgburrbwwguurrbbrbbuwgurgrgbruuuubgrbr
uwbgrgrubrgrbubrwgwbwrugwwrwgrwuruwrbwwuuggg
bwbwwgrggbwrurbbguburwrurgbrwwruwwuruggub
bwbbggurgrgwgrgubrwugguuwrgrbbggrubgbwuggguu
wubgbububgrrrwbguwrrrrrrrrgbbrgugwrugwwubu
bwgbwbbgrgwgrubrubwrrururwgrrrbwuwuwrbgugg
bwbrurwgbbgwuuwurbgrubbwuuurbwugurgbbwbrwrubwwurgwuurgurb
uruwgwrwguwrurwbbwbbgwurrrbbrubbrggguurubgwuwggwgwbuwuwug
"""
TEST = """
r, wr, b, g, bwu, rb, gb, br
brwrr
bggr
gbbr
rrbgbr
ubwu
bwurrg
brgr
bbrgwb
"""
# Each stripe can be white (w), blue (u), black (b), red (r), or green (g).
x = TEST
x = PROD
x = x.strip()
# Data in differnt formats for quick access
text = x
lines = x.split("\n")
grid = [list(line) for line in lines]
available_patterns = lines[0].split(", ")
available_patterns = set(available_patterns)
design_requests = lines[1:]
from functools import cache
@cache
def can_make_design(design_request):
# print("Checking", design_request)
can_make_this_one = 0
for starting in available_patterns:
if design_request.startswith(starting):
leftover = design_request[len(starting) :]
if leftover == "":
can_make_this_one += 1
else:
can_make_this_one += can_make_design(leftover)
else:
continue
return can_make_this_one
can = 0
for design_request in tqdm(design_requests):
# can we make this design using the available patterns?
print(design_request)
can += can_make_design(design_request)
# if can_make_design(design_request):
# # print("can make", design_request)
# can += 1
# else:
# # print("can't make", design_request)
# ...
print(can)