File size: 73,979 Bytes
151b875
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from matplotlib import pyplot as plt\n",
    "\n",
    "from anticipation.config import *\n",
    "from anticipation.vocab import *\n",
    "\n",
    "import alignment as am\n",
    "\n",
    "from anticipation.sample import generate, generate2\n",
    "from anticipation.convert import midi_to_events, midi_to_compound, events_to_midi\n",
    "from train.midi_preprocess import convert_midi\n",
    "\n",
    "from anticipation.tokenize import tokenize2, maybe_tokenize, tokenize3\n",
    "\n",
    "import anticipation.ops as ops\n",
    "\n",
    "from tqdm import tqdm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_csv('asap-dataset-master/metadata.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>composer</th>\n",
       "      <th>title</th>\n",
       "      <th>folder</th>\n",
       "      <th>xml_score</th>\n",
       "      <th>midi_score</th>\n",
       "      <th>midi_performance</th>\n",
       "      <th>performance_annotations</th>\n",
       "      <th>midi_score_annotations</th>\n",
       "      <th>maestro_midi_performance</th>\n",
       "      <th>maestro_audio_performance</th>\n",
       "      <th>start</th>\n",
       "      <th>end</th>\n",
       "      <th>audio_performance</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Bach</td>\n",
       "      <td>Fugue_bwv_846</td>\n",
       "      <td>Bach/Fugue/bwv_846</td>\n",
       "      <td>Bach/Fugue/bwv_846/xml_score.musicxml</td>\n",
       "      <td>Bach/Fugue/bwv_846/midi_score.mid</td>\n",
       "      <td>Bach/Fugue/bwv_846/Shi05M.mid</td>\n",
       "      <td>Bach/Fugue/bwv_846/Shi05M_annotations.txt</td>\n",
       "      <td>Bach/Fugue/bwv_846/midi_score_annotations.txt</td>\n",
       "      <td>{maestro}/2006/MIDI-Unprocessed_19_R1_2006_01-...</td>\n",
       "      <td>{maestro}/2006/MIDI-Unprocessed_19_R1_2006_01-...</td>\n",
       "      <td>144.567708</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Bach/Fugue/bwv_846/Shi05M.wav</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Bach</td>\n",
       "      <td>Fugue_bwv_848</td>\n",
       "      <td>Bach/Fugue/bwv_848</td>\n",
       "      <td>Bach/Fugue/bwv_848/xml_score.musicxml</td>\n",
       "      <td>Bach/Fugue/bwv_848/midi_score.mid</td>\n",
       "      <td>Bach/Fugue/bwv_848/Denisova06M.mid</td>\n",
       "      <td>Bach/Fugue/bwv_848/Denisova06M_annotations.txt</td>\n",
       "      <td>Bach/Fugue/bwv_848/midi_score_annotations.txt</td>\n",
       "      <td>{maestro}/2008/MIDI-Unprocessed_02_R1_2008_01-...</td>\n",
       "      <td>{maestro}/2008/MIDI-Unprocessed_02_R1_2008_01-...</td>\n",
       "      <td>69.317708</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Bach/Fugue/bwv_848/Denisova06M.wav</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Bach</td>\n",
       "      <td>Fugue_bwv_848</td>\n",
       "      <td>Bach/Fugue/bwv_848</td>\n",
       "      <td>Bach/Fugue/bwv_848/xml_score.musicxml</td>\n",
       "      <td>Bach/Fugue/bwv_848/midi_score.mid</td>\n",
       "      <td>Bach/Fugue/bwv_848/Lee01M.mid</td>\n",
       "      <td>Bach/Fugue/bwv_848/Lee01M_annotations.txt</td>\n",
       "      <td>Bach/Fugue/bwv_848/midi_score_annotations.txt</td>\n",
       "      <td>{maestro}/2011/MIDI-Unprocessed_08_R1_2011_MID...</td>\n",
       "      <td>{maestro}/2011/MIDI-Unprocessed_08_R1_2011_MID...</td>\n",
       "      <td>74.795573</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Bach/Fugue/bwv_848/Lee01M.wav</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Bach</td>\n",
       "      <td>Fugue_bwv_848</td>\n",
       "      <td>Bach/Fugue/bwv_848</td>\n",
       "      <td>Bach/Fugue/bwv_848/xml_score.musicxml</td>\n",
       "      <td>Bach/Fugue/bwv_848/midi_score.mid</td>\n",
       "      <td>Bach/Fugue/bwv_848/LeeSH01M.mid</td>\n",
       "      <td>Bach/Fugue/bwv_848/LeeSH01M_annotations.txt</td>\n",
       "      <td>Bach/Fugue/bwv_848/midi_score_annotations.txt</td>\n",
       "      <td>{maestro}/2017/MIDI-Unprocessed_049_PIANO049_M...</td>\n",
       "      <td>{maestro}/2017/MIDI-Unprocessed_049_PIANO049_M...</td>\n",
       "      <td>83.644792</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Bach/Fugue/bwv_848/LeeSH01M.wav</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Bach</td>\n",
       "      <td>Fugue_bwv_848</td>\n",
       "      <td>Bach/Fugue/bwv_848</td>\n",
       "      <td>Bach/Fugue/bwv_848/xml_score.musicxml</td>\n",
       "      <td>Bach/Fugue/bwv_848/midi_score.mid</td>\n",
       "      <td>Bach/Fugue/bwv_848/Lin04M.mid</td>\n",
       "      <td>Bach/Fugue/bwv_848/Lin04M_annotations.txt</td>\n",
       "      <td>Bach/Fugue/bwv_848/midi_score_annotations.txt</td>\n",
       "      <td>{maestro}/2008/MIDI-Unprocessed_10_R1_2008_01-...</td>\n",
       "      <td>{maestro}/2008/MIDI-Unprocessed_10_R1_2008_01-...</td>\n",
       "      <td>75.373698</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Bach/Fugue/bwv_848/Lin04M.wav</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  composer          title              folder  \\\n",
       "0     Bach  Fugue_bwv_846  Bach/Fugue/bwv_846   \n",
       "1     Bach  Fugue_bwv_848  Bach/Fugue/bwv_848   \n",
       "2     Bach  Fugue_bwv_848  Bach/Fugue/bwv_848   \n",
       "3     Bach  Fugue_bwv_848  Bach/Fugue/bwv_848   \n",
       "4     Bach  Fugue_bwv_848  Bach/Fugue/bwv_848   \n",
       "\n",
       "                               xml_score                         midi_score  \\\n",
       "0  Bach/Fugue/bwv_846/xml_score.musicxml  Bach/Fugue/bwv_846/midi_score.mid   \n",
       "1  Bach/Fugue/bwv_848/xml_score.musicxml  Bach/Fugue/bwv_848/midi_score.mid   \n",
       "2  Bach/Fugue/bwv_848/xml_score.musicxml  Bach/Fugue/bwv_848/midi_score.mid   \n",
       "3  Bach/Fugue/bwv_848/xml_score.musicxml  Bach/Fugue/bwv_848/midi_score.mid   \n",
       "4  Bach/Fugue/bwv_848/xml_score.musicxml  Bach/Fugue/bwv_848/midi_score.mid   \n",
       "\n",
       "                     midi_performance  \\\n",
       "0       Bach/Fugue/bwv_846/Shi05M.mid   \n",
       "1  Bach/Fugue/bwv_848/Denisova06M.mid   \n",
       "2       Bach/Fugue/bwv_848/Lee01M.mid   \n",
       "3     Bach/Fugue/bwv_848/LeeSH01M.mid   \n",
       "4       Bach/Fugue/bwv_848/Lin04M.mid   \n",
       "\n",
       "                          performance_annotations  \\\n",
       "0       Bach/Fugue/bwv_846/Shi05M_annotations.txt   \n",
       "1  Bach/Fugue/bwv_848/Denisova06M_annotations.txt   \n",
       "2       Bach/Fugue/bwv_848/Lee01M_annotations.txt   \n",
       "3     Bach/Fugue/bwv_848/LeeSH01M_annotations.txt   \n",
       "4       Bach/Fugue/bwv_848/Lin04M_annotations.txt   \n",
       "\n",
       "                          midi_score_annotations  \\\n",
       "0  Bach/Fugue/bwv_846/midi_score_annotations.txt   \n",
       "1  Bach/Fugue/bwv_848/midi_score_annotations.txt   \n",
       "2  Bach/Fugue/bwv_848/midi_score_annotations.txt   \n",
       "3  Bach/Fugue/bwv_848/midi_score_annotations.txt   \n",
       "4  Bach/Fugue/bwv_848/midi_score_annotations.txt   \n",
       "\n",
       "                            maestro_midi_performance  \\\n",
       "0  {maestro}/2006/MIDI-Unprocessed_19_R1_2006_01-...   \n",
       "1  {maestro}/2008/MIDI-Unprocessed_02_R1_2008_01-...   \n",
       "2  {maestro}/2011/MIDI-Unprocessed_08_R1_2011_MID...   \n",
       "3  {maestro}/2017/MIDI-Unprocessed_049_PIANO049_M...   \n",
       "4  {maestro}/2008/MIDI-Unprocessed_10_R1_2008_01-...   \n",
       "\n",
       "                           maestro_audio_performance       start  end  \\\n",
       "0  {maestro}/2006/MIDI-Unprocessed_19_R1_2006_01-...  144.567708  NaN   \n",
       "1  {maestro}/2008/MIDI-Unprocessed_02_R1_2008_01-...   69.317708  NaN   \n",
       "2  {maestro}/2011/MIDI-Unprocessed_08_R1_2011_MID...   74.795573  NaN   \n",
       "3  {maestro}/2017/MIDI-Unprocessed_049_PIANO049_M...   83.644792  NaN   \n",
       "4  {maestro}/2008/MIDI-Unprocessed_10_R1_2008_01-...   75.373698  NaN   \n",
       "\n",
       "                    audio_performance  \n",
       "0       Bach/Fugue/bwv_846/Shi05M.wav  \n",
       "1  Bach/Fugue/bwv_848/Denisova06M.wav  \n",
       "2       Bach/Fugue/bwv_848/Lee01M.wav  \n",
       "3     Bach/Fugue/bwv_848/LeeSH01M.wav  \n",
       "4       Bach/Fugue/bwv_848/Lin04M.wav  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "BASE = \"./asap-dataset-master/\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "with open('./data/output.txt', 'r') as f:\n",
    "    lines = f.read().split('\\n')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 19388/19388 [00:03<00:00, 5029.93it/s]\n"
     ]
    }
   ],
   "source": [
    "EVENTS=[]\n",
    "CONTROLS=[]\n",
    "\n",
    "for line in tqdm(lines):\n",
    "    seq = [int(i) for i in line.split()]\n",
    "\n",
    "    events, controls = ops.split(seq)\n",
    "    EVENTS.extend(events)\n",
    "    CONTROLS.extend(controls)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10124397 9708504 19832901\n"
     ]
    }
   ],
   "source": [
    "print(len(EVENTS), len(CONTROLS), len(EVENTS)+len(CONTROLS))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "21337"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(set(EVENTS).union(set(CONTROLS)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Loading in the model trained from Colab:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "from transformers import GPT2Config, GPT2LMHeadModel"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = GPT2LMHeadModel.from_pretrained(\"./results/3-5 model/model-final\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Trying to perform inference on an unseen MIDI file... without the map"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "controls = midi_to_events('./examples/Bach prelude.MID')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "events = midi_to_events('./asap-dataset-master/Bach/Prelude/bwv_846/midi_score.mid')\n",
    "history = ops.clip(events, 0, 5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 94%|β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–| 5657/6000 [00:42<00:02, 133.45it/s]\n"
     ]
    }
   ],
   "source": [
    "score = generate(model,start_time=0,end_time=60,inputs=history,controls=controls)\n",
    "mid = events_to_midi(score)\n",
    "mid.save('./examples/Bach prelude generated3.mid')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  0%|          | 0/6000 [00:03<?, ?it/s]\n"
     ]
    }
   ],
   "source": [
    "score = generate(model,start_time=0,end_time=60,controls=controls)\n",
    "mid = events_to_midi(score)\n",
    "mid.save('./examples/Bach prelude generated.mid')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Let's see how it does on a file with a known map"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "sample = df.iloc[87]\n",
    "perf_mid, score_mid, perf_note, score_note = sample['midi_performance'], sample['midi_score'], sample['performance_annotations'], sample['midi_score_annotations']\n",
    "perf_mid, score_mid, perf_note, score_note = BASE + perf_mid, BASE + score_mid, BASE + perf_note, BASE + score_note"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1644"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "controls = midi_to_events(perf_mid)\n",
    "controls = [CONTROL_OFFSET+token for token in controls]\n",
    "len(controls)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "map = am.compare_annotations(perf_note, score_note)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "13467"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "domain_max = map.x.max()\n",
    "int(domain_max*TIME_RESOLUTION) # end_time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "score = generate2(model,start_time=0,end_time=200,controls=controls, map=map)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "mid = events_to_midi(score)\n",
    "mid.save('./examples/Shi05M Bach Prelude generated.mid')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "18"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Exploring other types of interleaving:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "row = df.iloc[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "file1 = BASE + row['midi_performance']\n",
    "file2 = BASE + row['midi_score']\n",
    "file3 = BASE + row['performance_annotations']\n",
    "file4 = BASE + row['midi_score_annotations']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "could not find notes in score associated with beat 4\n",
      "could not find notes in perf associated with beat 4\n",
      "could not find notes in perf associated with beat 72\n"
     ]
    }
   ],
   "source": [
    "matched_tuples = am.align_tokens(file1,file2,file3,file4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[[50, 10085, 11060], 0, [27538, 37538, 38573], 0],\n",
       " [[110, 10073, 11062], 1, [27563, 37538, 38575], 1],\n",
       " [[171, 10075, 11064], 2, [27588, 37538, 38577], 2],\n",
       " [[236, 10101, 11065], 3, [27613, 37550, 38578], 3],\n",
       " [[339, 10044, 11067], 4, [27651, 37519, 38580], 4],\n",
       " [[353, 10034, 11065], 5, [27657, 37519, 38578], 5],\n",
       " [[366, 10085, 11064], 6, [27663, 37538, 38577], 6],\n",
       " [[429, 10072, 11069], 7, [27688, 37538, 38582], 7],\n",
       " [[492, 10089, 11062], 8, [27713, 37538, 38575], 8],\n",
       " [[559, 10111, 11067], 9, [27738, 37550, 38580], 9],\n",
       " [[665, 10034, 11069], 10, [27775, 37525, 38582], 10],\n",
       " [[693, 10037, 11067], 11, [27788, 37525, 38580], 11],\n",
       " [[721, 10025, 11065], 12, [27801, 37525, 38578], 12],\n",
       " [[750, 10028, 11064], 13, [27813, 37525, 38577], 13],\n",
       " [[777, 10044, 11065], 14, [27825, 37525, 38578], 14],\n",
       " [[804, 10072, 11067], 15, [27838, 37538, 38580], 15],\n",
       " [[807, 10045, 11064], 16, [27838, 37525, 38577], 16],\n",
       " [[837, 10029, 11062], 17, [27851, 37525, 38575], 17],\n",
       " [[862, 10065, 11069], 18, [27863, 37538, 38582], 18],\n",
       " [[865, 10023, 11060], 19, [27863, 37525, 38573], 19],\n",
       " [[892, 10039, 11062], 20, [27875, 37525, 38575], 20],\n",
       " [[919, 10071, 11071], 21, [27888, 37538, 38584], 21],\n",
       " [[920, 10035, 11060], 22, [27888, 37525, 38573], 22],\n",
       " [[949, 10038, 11059], 23, [27901, 37525, 38572], 23],\n",
       " [[980, 10090, 11072], 24, [27913, 37550, 38585], 24],\n",
       " [[983, 10060, 11057], 25, [27913, 37538, 38570], 25],\n",
       " [[1043, 10076, 11066], 26, [27938, 37538, 38579], 26],\n",
       " [[1074, 10033, 11074], 27, [27951, 37519, 38587], 27],\n",
       " [[1089, 10023, 11072], 28, [27957, 37519, 38585], 28],\n",
       " [[1104, 10077, 11071], 29, [27963, 37538, 38584], 29],\n",
       " [[1105, 10251, 11067], 30, [27963, 37588, 38580], 30],\n",
       " [[1163, 10068, 11076], 31, [27988, 37538, 38589], 31],\n",
       " [[1225, 10092, 11069], 32, [28013, 37538, 38582], 32],\n",
       " [[1286, 10098, 11074], 33, [28038, 37550, 38587], 33],\n",
       " [[1289, 10032, 11066], 34, [28038, 37525, 38579], 34],\n",
       " [[1318, 10037, 11064], 35, [28051, 37525, 38577], 35],\n",
       " [[1350, 10071, 11066], 36, [28063, 37538, 38579], 36],\n",
       " [[1378, 10035, 11076], 37, [28075, 37525, 38589], 37],\n",
       " [[1410, 10058, 11062], 38, [28088, 37538, 38575], 39],\n",
       " [[1410, 10032, 11074], 39, [28088, 37525, 38587], 38],\n",
       " [[1438, 10034, 11072], 40, [28101, 37525, 38585], 40],\n",
       " [[1471, 10028, 11071], 41, [28113, 37525, 38584], 41],\n",
       " [[1473, 10014, 11067], 42, [28113, 37525, 38580], 42],\n",
       " [[1502, 10039, 11067], 43, [28125, 37525, 38580], 43],\n",
       " [[1533, 10083, 11055], 44, [28138, 37538, 38568], 46],\n",
       " [[1535, 10036, 11069], 45, [28138, 37525, 38582], 44],\n",
       " [[1536, 10015, 11065], 46, [28138, 37538, 38578], 45],\n",
       " [[1563, 10034, 11071], 47, [28151, 37525, 38584], 47],\n",
       " [[1593, 10069, 11057], 48, [28163, 37538, 38570], 50],\n",
       " [[1594, 10027, 11072], 49, [28163, 37525, 38585], 48],\n",
       " [[1597, 10019, 11064], 50, [28163, 37538, 38577], 49],\n",
       " [[1623, 10034, 11071], 51, [28175, 37525, 38584], 51],\n",
       " [[1654, 10034, 11072], 52, [28188, 37525, 38585], 52],\n",
       " [[1655, 10076, 11059], 53, [28188, 37538, 38572], 54],\n",
       " [[1657, 10071, 11062], 54, [28188, 37538, 38575], 53],\n",
       " [[1684, 10036, 11074], 55, [28201, 37525, 38587], 55],\n",
       " [[1715, 10086, 11060], 56, [28213, 37513, 38573], 57],\n",
       " [[1716, 10029, 11076], 57, [28213, 37525, 38589], 56],\n",
       " [[1746, 10035, 11074], 58, [28225, 37525, 38587], 59],\n",
       " [[1775, 10036, 11076], 59, [28238, 37525, 38589], 60],\n",
       " [[1802, 10039, 11078], 60, [28251, 37525, 38591], 61],\n",
       " [[1803, 10036, 11062], 61, [28251, 37519, 38575], 62],\n",
       " [[1817, 10026, 11060], 62, [28257, 37519, 38573], 63],\n",
       " [[1832, 10066, 11079], 63, [28263, 37538, 38592], 64],\n",
       " [[1833, 10077, 11059], 64, [28263, 37538, 38572], 65],\n",
       " [[1894, 10077, 11071], 65, [28288, 37538, 38584], 66],\n",
       " [[1895, 10076, 11064], 66, [28288, 37538, 38577], 68],\n",
       " [[1896, 10135, 11067], 67, [28288, 37563, 38580], 67],\n",
       " [[1956, 10076, 11072], 68, [28313, 37538, 38585], 69],\n",
       " [[1957, 10090, 11057], 69, [28313, 37538, 38570], 70],\n",
       " [[2018, 10094, 11062], 70, [28338, 37550, 38575], 73],\n",
       " [[2018, 10062, 11069], 71, [28338, 37538, 38582], 71],\n",
       " [[2019, 10033, 11065], 72, [28338, 37525, 38578], 72],\n",
       " [[2052, 10032, 11064], 73, [28351, 37525, 38577], 74],\n",
       " [[2079, 10040, 11074], 74, [28363, 37525, 38587], 75],\n",
       " [[2080, 10086, 11065], 75, [28363, 37575, 38578], 76],\n",
       " [[2110, 10039, 11072], 76, [28375, 37525, 38585], 77],\n",
       " [[2110, 10028, 11064], 77, [28375, 37525, 38577], 78],\n",
       " [[2138, 10063, 11071], 78, [28388, 37525, 38584], 79],\n",
       " [[2142, 10035, 11062], 79, [28388, 37525, 38575], 80],\n",
       " [[2168, 10033, 11069], 80, [28401, 37525, 38582], 81],\n",
       " [[2169, 10034, 11060], 81, [28401, 37525, 38573], 82],\n",
       " [[2201, 10015, 11059], 82, [28413, 37538, 38572], 84],\n",
       " [[2201, 10075, 11067], 83, [28413, 37550, 38580], 83],\n",
       " [[2235, 10039, 11065], 84, [28425, 37525, 38578], 85],\n",
       " [[2265, 10071, 11048], 85, [28438, 37538, 38561], 88],\n",
       " [[2265, 10147, 11060], 86, [28438, 37563, 38573], 87],\n",
       " [[2268, 10033, 11064], 87, [28438, 37538, 38577], 86],\n",
       " [[2296, 10045, 11067], 88, [28451, 37525, 38580], 89],\n",
       " [[2329, 10089, 11050], 89, [28463, 37538, 38563], 92],\n",
       " [[2330, 10031, 11065], 90, [28463, 37525, 38578], 90],\n",
       " [[2333, 10024, 11062], 91, [28463, 37563, 38575], 91],\n",
       " [[2361, 10062, 11064], 92, [28475, 37525, 38577], 93],\n",
       " [[2391, 10063, 11058], 93, [28488, 37538, 38571], 95],\n",
       " [[2392, 10072, 11052], 94, [28488, 37538, 38565], 96],\n",
       " [[2393, 10035, 11065], 95, [28488, 37525, 38578], 94],\n",
       " [[2424, 10034, 11067], 96, [28501, 37525, 38580], 97],\n",
       " [[2455, 10089, 11053], 97, [28513, 37550, 38566], 101],\n",
       " [[2455, 10061, 11057], 98, [28513, 37538, 38570], 100],\n",
       " [[2455, 10034, 11069], 99, [28513, 37525, 38582], 98],\n",
       " [[2460, 10012, 11060], 100, [28513, 37538, 38573], 99],\n",
       " [[2486, 10031, 11067], 101, [28525, 37525, 38580], 102],\n",
       " [[2516, 10036, 11069], 102, [28538, 37525, 38582], 103],\n",
       " [[2518, 10084, 11065], 103, [28538, 37538, 38578], 104],\n",
       " [[2518, 10071, 11062], 104, [28538, 37538, 38575], 105],\n",
       " [[2546, 10017, 11055], 105, [28551, 37519, 38568], 107],\n",
       " [[2547, 10035, 11071], 106, [28551, 37525, 38584], 106],\n",
       " [[2560, 10021, 11053], 107, [28557, 37519, 38566], 108],\n",
       " [[2576, 10076, 11052], 108, [28563, 37538, 38565], 111],\n",
       " [[2576, 10037, 11055], 109, [None, None, None], None],\n",
       " [[2576, 10271, 11072], 110, [28563, 37613, 38585], 109],\n",
       " [[2607, 10041, 11067], 111, [28575, 37525, 38580], 112],\n",
       " [[2639, 10068, 11057], 112, [28588, 37538, 38570], 115],\n",
       " [[2639, 10120, 11060], 113, [28588, 37538, 38573], 114],\n",
       " [[2640, 10030, 11065], 114, [28588, 37525, 38578], 113],\n",
       " [[2671, 10045, 11064], 115, [28601, 37525, 38577], 116],\n",
       " [[2700, 10078, 11050], 116, [28613, 37538, 38563], 118],\n",
       " [[2701, 10066, 11065], 117, [28613, 37538, 38578], 117],\n",
       " [[2733, 10030, 11057], 118, [28625, 37525, 38570], 119],\n",
       " [[2761, 10035, 11062], 119, [28638, 37538, 38575], 120],\n",
       " [[2761, 10032, 11059], 120, [28638, 37525, 38572], 121],\n",
       " [[2762, 10090, 11055], 121, [28638, 37550, 38568], 122],\n",
       " [[2791, 10007, 11060], 122, [28651, 37525, 38573], 123],\n",
       " [[2819, 10118, 11071], 123, [28663, 37563, 38584], 124],\n",
       " [[2821, 10086, 11062], 124, [28663, 37563, 38575], 126],\n",
       " [[2821, 10010, 11067], 125, [None, None, None], None],\n",
       " [[2831, 10236, 11067], 126, [None, None, None], None],\n",
       " [[2852, 10047, 11057], 127, [28675, 37525, 38570], 127],\n",
       " [[2881, 10031, 11055], 128, [28688, 37525, 38568], 128],\n",
       " [[2910, 10005, 11053], 129, [28701, 37525, 38566], 129],\n",
       " [[2940, 10030, 11052], 130, [28713, 37525, 38565], 131],\n",
       " [[2941, 10142, 11055], 131, [28713, 37563, 38568], 130],\n",
       " [[2971, 10041, 11053], 132, [28725, 37525, 38566], 132],\n",
       " [[3001, 10072, 11072], 133, [28738, 37538, 38585], 133],\n",
       " [[3003, 10029, 11052], 134, [28738, 37525, 38565], 134],\n",
       " [[3031, 10032, 11050], 135, [28751, 37525, 38563], 135],\n",
       " [[3061, 10065, 11074], 136, [28763, 37538, 38587], 136],\n",
       " [[3062, 10031, 11048], 137, [28763, 37525, 38561], 137],\n",
       " [[3090, 10037, 11050], 138, [28775, 37525, 38563], 138],\n",
       " [[3120, 10066, 11076], 139, [28788, 37538, 38589], 139],\n",
       " [[3121, 10034, 11055], 140, [28788, 37538, 38568], 140],\n",
       " [[3121, 10035, 11048], 141, [28788, 37525, 38561], 141],\n",
       " [[3152, 10030, 11047], 142, [28801, 37525, 38560], 142],\n",
       " [[3182, 10094, 11077], 143, [28813, 37550, 38590], 143],\n",
       " [[3182, 10067, 11057], 144, [28813, 37538, 38570], 144],\n",
       " [[3183, 10017, 11045], 145, [28813, 37538, 38558], 145],\n",
       " [[3243, 10066, 11059], 146, [28838, 37538, 38572], 146],\n",
       " [[3245, 10066, 11050], 147, [28838, 37538, 38563], 147],\n",
       " [[3274, 10030, 11079], 148, [28851, 37519, 38592], 148],\n",
       " [[3288, 10021, 11077], 149, [28857, 37519, 38590], 149],\n",
       " [[3305, 10072, 11076], 150, [28863, 37538, 38589], 150],\n",
       " [[3306, 10090, 11060], 151, [28863, 37550, 38573], 151],\n",
       " [[3307, 10058, 11057], 152, [28863, 37538, 38570], 152],\n",
       " [[3368, 10055, 11054], 153, [28888, 37538, 38567], 154],\n",
       " [[3368, 10068, 11081], 154, [28888, 37538, 38594], 153],\n",
       " [[3398, 10010, 11062], 155, [28901, 37519, 38575], 155],\n",
       " [[3411, 10019, 11060], 156, [28907, 37519, 38573], 156],\n",
       " [[3428, 10030, 11059], 157, [28913, 37538, 38572], 158],\n",
       " [[3428, 10071, 11074], 158, [28913, 37538, 38587], 157],\n",
       " [[3430, 10064, 11055], 159, [28913, 37525, 38568], 159],\n",
       " [[3460, 10035, 11057], 160, [28925, 37525, 38570], 160],\n",
       " [[3488, 10035, 11064], 161, [28938, 37538, 38577], 162],\n",
       " [[3488, 10099, 11079], 162, [28938, 37550, 38592], 161],\n",
       " [[3490, 10028, 11058], 163, [28938, 37525, 38571], 163],\n",
       " [[3521, 10042, 11055], 164, [28951, 37525, 38568], 164],\n",
       " [[3551, 10071, 11057], 165, [28963, 37538, 38570], 165],\n",
       " [[3551, 10024, 11049], 166, [28963, 37538, 38562], 166],\n",
       " [[3583, 10038, 11081], 167, [28975, 37525, 38594], 167],\n",
       " [[3614, 10105, 11062], 168, [28988, 37550, 38575], 169],\n",
       " [[3615, 10043, 11079], 169, [28988, 37525, 38592], 168],\n",
       " [[3615, 10024, 11050], 170, [28988, 37538, 38563], 170],\n",
       " [[3646, 10038, 11077], 171, [29001, 37525, 38590], 171],\n",
       " [[3679, 10181, 11076], 172, [29013, 37538, 38589], 172],\n",
       " [[3679, 10100, 11057], 173, [29013, 37563, 38570], 173],\n",
       " [[3709, 10037, 11064], 174, [29025, 37525, 38577], 174],\n",
       " [[3740, 10112, 11081], 175, [29038, 37550, 38594], 175],\n",
       " [[3742, 10033, 11062], 176, [29038, 37525, 38575], 176],\n",
       " [[3772, 10045, 11060], 177, [29051, 37525, 38573], 177],\n",
       " [[3807, 10107, 11052], 178, [29063, 37563, 38565], 179],\n",
       " [[3808, 10103, 11059], 179, [29063, 37538, 38572], 178],\n",
       " [[3845, 10047, 11083], 180, [29075, 37525, 38596], 180],\n",
       " [[3881, 10165, 11064], 181, [29088, 37588, 38577], 182],\n",
       " [[3881, 10041, 11081], 182, [29088, 37525, 38594], 181],\n",
       " [[3916, 10040, 11079], 183, [29101, 37525, 38592], 183],\n",
       " [[3949, 10262, 11077], 184, [29113, 37613, 38590], 184],\n",
       " [[3952, 10032, 11057], 185, [29113, 37525, 38570], 185],\n",
       " [[3979, 10035, 11059], 186, [29125, 37525, 38572], 186],\n",
       " [[4009, 10082, 11067], 187, [29138, 37538, 38580], 187],\n",
       " [[4012, 10036, 11060], 188, [29138, 37525, 38573], 188],\n",
       " [[4041, 10009, 11062], 189, [29151, 37525, 38575], 189],\n",
       " [[4069, 10071, 11069], 190, [29163, 37538, 38582], 190],\n",
       " [[4070, 10140, 11062], 191, [29163, 37563, 38575], 191],\n",
       " [[4071, 10029, 11060], 192, [29163, 37525, 38573], 192],\n",
       " [[4099, 10035, 11059], 193, [29175, 37525, 38572], 193],\n",
       " [[4129, 10073, 11071], 194, [29188, 37538, 38584], 194],\n",
       " [[4132, 10028, 11057], 195, [29188, 37525, 38570], 195],\n",
       " [[4159, 10089, 11055], 196, [29201, 37525, 38568], 196],\n",
       " [[4191, 10096, 11076], 197, [29213, 37550, 38589], 197],\n",
       " [[4191, 10093, 11072], 198, [29213, 37550, 38585], 198],\n",
       " [[4194, 10033, 11060], 199, [29213, 37513, 38573], 199],\n",
       " [[4225, 10033, 11059], 200, [29225, 37525, 38572], 201],\n",
       " [[4255, 10035, 11060], 201, [29238, 37525, 38573], 202],\n",
       " [[4283, 10041, 11078], 202, [29251, 37525, 38591], 203],\n",
       " [[4283, 10012, 11074], 203, [29251, 37519, 38587], 204],\n",
       " [[4285, 10032, 11057], 204, [29251, 37525, 38570], 205],\n",
       " [[4297, 10025, 11072], 205, [29257, 37519, 38585], 206],\n",
       " [[4313, 10092, 11071], 206, [29263, 37538, 38584], 208],\n",
       " [[4314, 10275, 11079], 207, [29263, 37613, 38592], 207],\n",
       " [[4315, 10060, 11064], 208, [29263, 37525, 38577], 209],\n",
       " [[4345, 10054, 11062], 209, [29275, 37525, 38575], 210],\n",
       " [[4374, 10135, 11076], 210, [29288, 37538, 38589], 211],\n",
       " [[4377, 10027, 11060], 211, [29288, 37525, 38573], 212],\n",
       " [[4403, 10043, 11059], 212, [29301, 37525, 38572], 213],\n",
       " [[4434, 10164, 11069], 213, [29313, 37538, 38582], 214],\n",
       " [[4436, 10030, 11060], 214, [29313, 37525, 38573], 215],\n",
       " [[4465, 10036, 11057], 215, [29325, 37525, 38570], 216],\n",
       " [[4494, 10105, 11074], 216, [29338, 37550, 38587], 217],\n",
       " [[4495, 10043, 11059], 217, [29338, 37525, 38572], 218],\n",
       " [[4524, 10037, 11060], 218, [29351, 37525, 38573], 219],\n",
       " [[4557, 10143, 11078], 219, [29363, 37563, 38591], 220],\n",
       " [[4558, 10041, 11062], 220, [29363, 37525, 38575], 221],\n",
       " [[4590, 10039, 11076], 221, [29375, 37525, 38589], 222],\n",
       " [[4590, 10038, 11060], 222, [29375, 37525, 38573], 223],\n",
       " [[4618, 10031, 11074], 223, [29388, 37525, 38587], 224],\n",
       " [[4620, 10030, 11059], 224, [29388, 37525, 38572], 225],\n",
       " [[4649, 10051, 11072], 225, [29401, 37525, 38585], 226],\n",
       " [[4649, 10047, 11057], 226, [29401, 37525, 38570], 227],\n",
       " [[4688, 10047, 11079], 227, [29413, 37525, 38592], 228],\n",
       " [[4689, 10108, 11055], 228, [29413, 37563, 38568], 230],\n",
       " [[4689, 10110, 11071], 229, [29413, 37538, 38584], 229],\n",
       " [[4728, 10058, 11077], 230, [29425, 37525, 38590], 231],\n",
       " [[4766, 10074, 11043], 231, [29438, 37538, 38556], 233],\n",
       " [[4766, 10067, 11076], 232, [29438, 37525, 38589], 232],\n",
       " [[4799, 10041, 11074], 233, [29451, 37525, 38587], 234],\n",
       " [[4831, 10029, 11072], 234, [29463, 37525, 38585], 235],\n",
       " [[4831, 10068, 11045], 235, [29463, 37538, 38558], 236],\n",
       " [[4862, 10032, 11074], 236, [29475, 37525, 38587], 237],\n",
       " [[4891, 10042, 11062], 237, [29488, 37538, 38575], 239],\n",
       " [[4891, 10039, 11072], 238, [29488, 37525, 38585], 238],\n",
       " [[4892, 10076, 11047], 239, [29488, 37538, 38560], 240],\n",
       " [[4923, 10043, 11071], 240, [None, None, None], None],\n",
       " [[4956, 10071, 11064], 241, [None, None, None], None],\n",
       " [[4956, 10033, 11069], 242, [29513, 37525, 38582], 242],\n",
       " [[4957, 10091, 11048], 243, [None, None, None], None],\n",
       " [[4989, 10053, 11072], 244, [None, None, None], None],\n",
       " [[5017, 10075, 11066], 245, [29538, 37538, 38579], 247],\n",
       " [[5018, 10035, 11071], 246, [29538, 37525, 38584], 246],\n",
       " [[5048, 10039, 11069], 247, [29551, 37525, 38582], 248],\n",
       " [[5048, 10045, 11050], 248, [29551, 37519, 38563], 249],\n",
       " [[5063, 10026, 11048], 249, [29557, 37519, 38561], 250],\n",
       " [[5077, 10098, 11067], 250, [29563, 37513, 38580], 251],\n",
       " [[5079, 10085, 11047], 251, [29563, 37538, 38560], 253],\n",
       " [[5142, 10077, 11052], 252, [29588, 37538, 38565], 254],\n",
       " [[5173, 10028, 11069], 253, [29601, 37519, 38582], 255],\n",
       " [[5187, 10020, 11067], 254, [29607, 37519, 38580], 256],\n",
       " [[5202, 10098, 11066], 255, [29613, 37538, 38579], 257],\n",
       " [[5203, 10085, 11045], 256, [29613, 37538, 38558], 258],\n",
       " [[5235, 10059, 11072], 257, [29625, 37525, 38585], 259],\n",
       " [[5266, 10075, 11071], 258, [29638, 37513, 38584], 260],\n",
       " [[5266, 10091, 11050], 259, [29638, 37550, 38563], 262],\n",
       " [[5297, 10050, 11069], 260, [29651, 37525, 38582], 263],\n",
       " [[5328, 10074, 11068], 261, [29663, 37538, 38581], 264],\n",
       " [[5329, 10032, 11064], 262, [29663, 37538, 38577], 265],\n",
       " [[5358, 10039, 11052], 263, [29675, 37525, 38565], 266],\n",
       " [[5387, 10076, 11076], 264, [29688, 37538, 38589], 267],\n",
       " [[5387, 10098, 11069], 265, [29688, 37550, 38582], 268],\n",
       " [[5389, 10040, 11050], 266, [29688, 37525, 38563], 269],\n",
       " [[5419, 10035, 11048], 267, [29701, 37525, 38561], 270],\n",
       " [[5452, 10066, 11074], 268, [29713, 37538, 38587], 271],\n",
       " [[5453, 10024, 11047], 269, [29713, 37538, 38560], 272],\n",
       " [[5482, 10040, 11071], 270, [29725, 37525, 38584], 273],\n",
       " [[5516, 10042, 11072], 271, [29738, 37525, 38585], 274],\n",
       " [[5518, 10134, 11052], 272, [29738, 37513, 38565], 276],\n",
       " [[5518, 10033, 11069], 273, [29738, 37525, 38582], 275],\n",
       " [[5549, 10036, 11071], 274, [29751, 37525, 38584], 278],\n",
       " [[5550, 10034, 11068], 275, [29751, 37525, 38581], 279],\n",
       " [[5580, 10073, 11054], 276, [29763, 37538, 38567], 282],\n",
       " [[5581, 10048, 11066], 277, [29763, 37538, 38579], 281],\n",
       " [[5581, 10034, 11069], 278, [29763, 37525, 38582], 280],\n",
       " [[5610, 10037, 11068], 279, [29775, 37525, 38581], 283],\n",
       " [[5642, 10042, 11069], 280, [29788, 37525, 38582], 284],\n",
       " [[5643, 10073, 11056], 281, [29788, 37538, 38569], 286],\n",
       " [[5643, 10039, 11065], 282, [29788, 37538, 38578], 285],\n",
       " [[5643, 10071, 11050], 283, [29788, 37538, 38563], 287],\n",
       " [[5675, 10039, 11071], 284, [29801, 37525, 38584], 288],\n",
       " [[5706, 10069, 11072], 285, [29813, 37525, 38585], 289],\n",
       " [[5707, 10089, 11057], 286, [29813, 37550, 38570], 291],\n",
       " [[5708, 10033, 11064], 287, [29813, 37538, 38577], 290],\n",
       " [[5708, 10064, 11048], 288, [29813, 37538, 38561], 292],\n",
       " [[5740, 10063, 11066], 289, [29825, 37525, 38579], 293],\n",
       " [[5767, 10040, 11068], 290, [None, None, None], None],\n",
       " [[5767, 10137, 11053], 291, [29838, 37563, 38566], 296],\n",
       " [[5769, 10055, 11062], 292, [29838, 37550, 38575], 295],\n",
       " [[5796, 10011, 11059], 293, [29851, 37519, 38572], 298],\n",
       " [[5796, 10033, 11069], 294, [None, None, None], None],\n",
       " [[5809, 10027, 11057], 295, [29857, 37519, 38570], 299],\n",
       " [[5825, 10070, 11071], 296, [29863, 37538, 38584], 300],\n",
       " [[5826, 10079, 11056], 297, [29863, 37538, 38569], 301],\n",
       " [[5855, 10008, 11064], 298, [29875, 37525, 38577], 302],\n",
       " [[5887, 10038, 11069], 299, [29888, 37525, 38582], 303],\n",
       " [[5888, 10079, 11060], 300, [29888, 37538, 38573], 305],\n",
       " [[5889, 10142, 11052], 301, [29888, 37563, 38565], 306],\n",
       " [[5889, 10025, 11066], 302, [29888, 37525, 38579], 304],\n",
       " [[5919, 10040, 11071], 303, [29901, 37525, 38584], 307],\n",
       " [[5920, 10033, 11068], 304, [29901, 37525, 38581], 308],\n",
       " [[5950, 10077, 11054], 305, [29913, 37538, 38567], 311],\n",
       " [[5950, 10069, 11072], 306, [29913, 37538, 38585], 309],\n",
       " [[5952, 10029, 11069], 307, [29913, 37525, 38582], 310],\n",
       " [[5983, 10029, 11068], 308, [29925, 37525, 38581], 312],\n",
       " [[6015, 10061, 11077], 309, [29938, 37538, 38590], 313],\n",
       " [[6015, 10095, 11059], 310, [29938, 37550, 38572], 315],\n",
       " [[6016, 10140, 11050], 311, [29938, 37563, 38563], 316],\n",
       " [[6019, 10031, 11069], 312, [29938, 37525, 38582], 314],\n",
       " [[6048, 10031, 11071], 313, [29951, 37525, 38584], 317],\n",
       " [[6077, 10073, 11076], 314, [29963, 37538, 38589], 318],\n",
       " [[6079, 10037, 11068], 315, [29963, 37525, 38581], 319],\n",
       " [[6107, 10031, 11060], 316, [29975, 37525, 38573], 321],\n",
       " [[6107, 10025, 11066], 317, [29975, 37525, 38579], 320],\n",
       " [[6138, 10032, 11059], 318, [29988, 37525, 38572], 324],\n",
       " [[6138, 10073, 11074], 319, [29988, 37563, 38587], 322],\n",
       " [[6138, 10068, 11052], 320, [29988, 37538, 38565], 325],\n",
       " [[6140, 10032, 11068], 321, [29988, 37525, 38581], 323],\n",
       " [[6167, 10037, 11069], 322, [30001, 37525, 38582], 326],\n",
       " [[6168, 10010, 11057], 323, [30001, 37525, 38570], 327],\n",
       " [[6201, 10021, 11071], 324, [30013, 37538, 38584], 328],\n",
       " [[6201, 10020, 11056], 325, [30013, 37538, 38569], 329],\n",
       " [[6203, 10016, 11053], 326, [30013, 37538, 38566], 330],\n",
       " [[6266, 10043, 11072], 327, [30038, 37525, 38585], 331],\n",
       " [[6267, 10163, 11057], 328, [30038, 37563, 38570], 332],\n",
       " [[6269, 10036, 11052], 329, [30038, 37525, 38565], 333],\n",
       " [[6300, 10014, 11071], 330, [30051, 37525, 38584], 334],\n",
       " [[6301, 10009, 11050], 331, [30051, 37525, 38563], 335],\n",
       " [[6340, 10021, 11072], 332, [30069, 37513, 38585], 340],\n",
       " [[6340, 10127, 11052], 333, [30063, 37563, 38565], 338],\n",
       " [[6363, 10009, 11071], 334, [30066, 37516, 38584], 339],\n",
       " [[6363, 10009, 11071], 334, [30072, 37516, 38584], 342],\n",
       " [[6363, 10009, 11071], 334, [30079, 37522, 38584], 345],\n",
       " [[6373, 10007, 11072], 335, [30069, 37519, 38585], 341],\n",
       " [[6373, 10007, 11072], 335, [30075, 37516, 38585], 344],\n",
       " [[6382, 10007, 11071], 336, [30075, 37516, 38584], 343],\n",
       " [[6390, 10007, 11072], 337, [30082, 37519, 38585], 346],\n",
       " [[6399, 10007, 11071], 338, [30088, 37525, 38584], 347],\n",
       " [[6406, 10011, 11072], 339, [None, None, None], None],\n",
       " [[6414, 10051, 11056], 340, [30088, 37538, 38569], 348],\n",
       " [[6414, 10044, 11071], 341, [None, None, None], None],\n",
       " [[6453, 10038, 11069], 342, [30100, 37525, 38582], 350],\n",
       " [[6503, 10181, 11069], 343, [30113, 37563, 38582], 351],\n",
       " [[6503, 10191, 11057], 344, [30113, 37563, 38570], 352],\n",
       " [[6504, 10148, 11045], 345, [30113, 37563, 38558], 353],\n",
       " [[6600, 10083, 11060], 346, [30138, 37538, 38573], 354],\n",
       " [[6667, 10074, 11062], 347, [30163, 37538, 38575], 355],\n",
       " [[6733, 10078, 11055], 348, [30188, 37538, 38568], 357],\n",
       " [[6734, 10079, 11064], 349, [30188, 37538, 38577], 356],\n",
       " [[6799, 10074, 11057], 350, [30213, 37538, 38570], 359],\n",
       " [[6799, 10096, 11065], 351, [30213, 37550, 38578], 358],\n",
       " [[6864, 10073, 11059], 352, [30238, 37538, 38572], 360],\n",
       " [[6898, 10027, 11067], 353, [30250, 37519, 38580], 361],\n",
       " [[6910, 10018, 11065], 354, [30257, 37519, 38578], 362],\n",
       " [[6928, 10076, 11064], 355, [30263, 37538, 38577], 363],\n",
       " [[6929, 10091, 11060], 356, [30263, 37550, 38573], 364],\n",
       " [[6991, 10069, 11069], 357, [30288, 37538, 38582], 365],\n",
       " [[7022, 10013, 11062], 358, [30300, 37519, 38575], 366],\n",
       " [[7036, 10022, 11060], 359, [30307, 37519, 38573], 367],\n",
       " [[7052, 10030, 11059], 360, [30313, 37538, 38572], 369],\n",
       " [[7053, 10086, 11062], 361, [30313, 37538, 38575], 368],\n",
       " [[7120, 10095, 11067], 362, [30338, 37550, 38580], 370],\n",
       " [[7120, 10074, 11043], 363, [30338, 37538, 38556], 372],\n",
       " [[7121, 10094, 11064], 364, [30338, 37538, 38577], 371],\n",
       " [[7185, 10073, 11057], 365, [30363, 37538, 38570], 373],\n",
       " [[7185, 10071, 11045], 366, [30363, 37538, 38558], 374],\n",
       " [[7216, 10038, 11069], 367, [30375, 37525, 38582], 375],\n",
       " [[7248, 10030, 11067], 368, [30388, 37525, 38580], 376],\n",
       " [[7248, 10095, 11062], 369, [30388, 37563, 38575], 377],\n",
       " [[7248, 10071, 11047], 370, [30388, 37538, 38560], 378],\n",
       " [[7278, 10038, 11065], 371, [30400, 37525, 38578], 379],\n",
       " [[7313, 10093, 11048], 372, [30413, 37550, 38561], 381],\n",
       " [[7314, 10032, 11064], 373, [30413, 37538, 38577], 380],\n",
       " [[7378, 10065, 11067], 374, [30438, 37538, 38580], 383],\n",
       " [[7379, 10022, 11055], 375, [30438, 37538, 38568], 384],\n",
       " [[7379, 10023, 11064], 376, [30438, 37538, 38577], 382],\n",
       " [[7410, 10022, 11050], 377, [30450, 37519, 38563], 385],\n",
       " [[7423, 10024, 11048], 378, [30457, 37519, 38561], 386],\n",
       " [[7437, 10070, 11069], 379, [30463, 37538, 38582], 388],\n",
       " [[7438, 10075, 11047], 380, [30463, 37538, 38560], 390],\n",
       " [[7439, 10065, 11066], 381, [30463, 37538, 38579], 387],\n",
       " [[7439, 10095, 11062], 382, [30463, 37563, 38575], 389],\n",
       " [[7498, 10072, 11071], 383, [30488, 37538, 38584], 392],\n",
       " [[7499, 10073, 11052], 384, [30488, 37538, 38565], 393],\n",
       " [[7501, 10060, 11067], 385, [30488, 37563, 38580], 391],\n",
       " [[7565, 10079, 11045], 386, [30513, 37538, 38558], 396],\n",
       " [[7565, 10095, 11072], 387, [30513, 37550, 38585], 394],\n",
       " [[7567, 10015, 11060], 388, [30513, 37538, 38573], 395],\n",
       " [[7632, 10089, 11050], 389, [30538, 37550, 38563], 399],\n",
       " [[7632, 10033, 11066], 390, [30538, 37538, 38579], 397],\n",
       " [[7633, 10068, 11057], 391, [30538, 37538, 38570], 398],\n",
       " [[7662, 10024, 11074], 392, [30550, 37519, 38587], 400],\n",
       " [[7675, 10018, 11072], 393, [30557, 37519, 38585], 401],\n",
       " [[7687, 10027, 11068], 394, [None, None, None], None],\n",
       " [[7688, 10032, 11071], 395, [30563, 37538, 38584], 403],\n",
       " [[7689, 10089, 11064], 396, [30563, 37563, 38577], 404],\n",
       " [[7717, 10031, 11052], 397, [30575, 37525, 38565], 405],\n",
       " [[7747, 10068, 11072], 398, [30588, 37538, 38585], 407],\n",
       " [[7748, 10073, 11069], 399, [30588, 37563, 38582], 406],\n",
       " [[7749, 10049, 11050], 400, [30588, 37525, 38563], 408],\n",
       " [[7777, 10037, 11048], 401, [30600, 37525, 38561], 409],\n",
       " [[7809, 10060, 11074], 402, [30613, 37538, 38587], 410],\n",
       " [[7810, 10023, 11062], 403, [30613, 37538, 38575], 411],\n",
       " [[7811, 10075, 11047], 404, [30613, 37538, 38560], 412],\n",
       " [[7876, 10077, 11076], 405, [30638, 37538, 38589], 413],\n",
       " [[7876, 10078, 11067], 406, [30638, 37538, 38580], 414],\n",
       " [[7878, 10073, 11046], 407, [30638, 37538, 38559], 415],\n",
       " [[7940, 10096, 11077], 408, [30663, 37550, 38590], 416],\n",
       " [[7940, 10070, 11069], 409, [30663, 37538, 38582], 417],\n",
       " [[7942, 10070, 11045], 410, [30663, 37538, 38558], 418],\n",
       " [[8004, 10068, 11071], 411, [30688, 37538, 38584], 419],\n",
       " [[8006, 10070, 11043], 412, [30688, 37538, 38556], 420],\n",
       " [[8037, 10031, 11079], 413, [30700, 37519, 38592], 421],\n",
       " [[8051, 10021, 11077], 414, [30707, 37519, 38590], 422],\n",
       " [[8067, 10069, 11076], 415, [30713, 37538, 38589], 423],\n",
       " [[8068, 10096, 11072], 416, [30713, 37550, 38585], 424],\n",
       " [[8070, 10023, 11045], 417, [30713, 37538, 38558], 425],\n",
       " [[8130, 10036, 11081], 418, [30738, 37538, 38594], 426],\n",
       " [[8131, 10041, 11057], 419, [30738, 37538, 38570], 427],\n",
       " [[8132, 10067, 11054], 420, [30738, 37538, 38567], 428],\n",
       " [[8163, 10015, 11074], 421, [30750, 37519, 38587], 429],\n",
       " [[8176, 10023, 11072], 422, [30757, 37519, 38585], 430],\n",
       " [[8193, 10083, 11074], 423, [30763, 37538, 38587], 431],\n",
       " [[8193, 10037, 11059], 424, [30763, 37538, 38572], 433],\n",
       " [[8193, 10098, 11071], 425, [None, None, None], None],\n",
       " [[8195, 10080, 11055], 426, [30763, 37538, 38568], 434],\n",
       " [[8262, 10138, 11079], 427, [30788, 37550, 38592], 435],\n",
       " [[8263, 10030, 11061], 428, [30788, 37538, 38574], 437],\n",
       " [[8264, 10097, 11052], 429, [30788, 37538, 38565], 438],\n",
       " [[8265, 10028, 11076], 430, [30788, 37538, 38589], 436],\n",
       " [[8346, 10114, 11062], 431, [30813, 37550, 38575], 440],\n",
       " [[8347, 10061, 11050], 432, [30813, 37563, 38563], 441],\n",
       " [[8347, 10071, 11069], 433, [None, None, None], None],\n",
       " [[8394, 10045, 11081], 434, [30825, 37525, 38594], 442],\n",
       " [[8431, 10033, 11079], 435, [30838, 37525, 38592], 443],\n",
       " [[8431, 10100, 11074], 436, [30838, 37550, 38587], 444],\n",
       " [[8461, 10042, 11077], 437, [30850, 37525, 38590], 445],\n",
       " [[8461, 10011, 11064], 438, [30850, 37519, 38577], 446],\n",
       " [[8474, 10008, 11062], 439, [30857, 37519, 38575], 447],\n",
       " [[8491, 10018, 11076], 440, [30863, 37525, 38589], 448],\n",
       " [[8491, 10077, 11060], 441, [30863, 37538, 38573], 449],\n",
       " [[8491, 10040, 11052], 442, [30863, 37538, 38565], 450],\n",
       " [[8522, 10067, 11076], 443, [30875, 37525, 38589], 451],\n",
       " [[8555, 10085, 11081], 444, [30888, 37538, 38594], 452],\n",
       " [[8555, 10075, 11065], 445, [30888, 37538, 38578], 454],\n",
       " [[8555, 10076, 11053], 446, [30888, 37538, 38566], 455],\n",
       " [[8556, 10039, 11074], 447, [30888, 37525, 38587], 453],\n",
       " [[8586, 10017, 11072], 448, [30900, 37525, 38585], 456],\n",
       " [[8619, 10101, 11074], 449, [30913, 37538, 38587], 457],\n",
       " [[8620, 10030, 11071], 450, [30913, 37538, 38584], 458],\n",
       " [[8620, 10106, 11055], 451, [30913, 37550, 38568], 460],\n",
       " [[8620, 10099, 11059], 452, [None, None, None], None],\n",
       " [[8689, 10073, 11082], 453, [30938, 37538, 38595], 461],\n",
       " [[8690, 10084, 11079], 454, [30938, 37538, 38592], 462],\n",
       " [[8691, 10112, 11064], 455, [30938, 37550, 38577], 463],\n",
       " [[8728, 10020, 11057], 456, [30950, 37519, 38570], 464],\n",
       " [[8741, 10017, 11055], 457, [30957, 37519, 38568], 465],\n",
       " [[8756, 10067, 11081], 458, [30963, 37538, 38594], 466],\n",
       " [[8756, 10080, 11053], 459, [30963, 37538, 38566], 468],\n",
       " [[8757, 10042, 11073], 460, [30963, 37538, 38586], 467],\n",
       " [[8788, 10016, 11065], 461, [30975, 37525, 38578], 469],\n",
       " [[8818, 10035, 11058], 462, [30988, 37538, 38571], 473],\n",
       " [[8818, 10038, 11079], 463, [30988, 37525, 38592], 470],\n",
       " [[8818, 10025, 11064], 464, [30988, 37525, 38577], 472],\n",
       " [[8820, 10004, 11074], 465, [30988, 37538, 38587], 471],\n",
       " [[8850, 10004, 11062], 466, [31000, 37525, 38575], 475],\n",
       " [[8850, 10035, 11077], 467, [31000, 37525, 38590], 474],\n",
       " [[8879, 10090, 11052], 468, [None, None, None], None],\n",
       " [[8880, 10035, 11079], 469, [None, None, None], None],\n",
       " [[8880, 10091, 11061], 470, [31013, 37538, 38574], 478],\n",
       " [[8881, 10034, 11076], 471, [None, None, None], None],\n",
       " [[8910, 10037, 11077], 472, [31025, 37525, 38590], 480],\n",
       " [[8942, 10064, 11079], 473, [31038, 37525, 38592], 481],\n",
       " [[8942, 10096, 11057], 474, [31038, 37550, 38570], 483],\n",
       " [[8943, 10035, 11073], 475, [31038, 37538, 38586], 482],\n",
       " [[8974, 10030, 11076], 476, [None, None, None], None],\n",
       " [[9002, 10030, 11077], 477, [None, None, None], None],\n",
       " [[9004, 10037, 11074], 478, [None, None, None], None],\n",
       " [[9031, 10014, 11079], 479, [None, None, None], None],\n",
       " [[9033, 10030, 11058], 480, [31075, 37525, 38571], 488],\n",
       " [[9060, 10043, 11057], 481, [31088, 37525, 38570], 492],\n",
       " [[9062, 10008, 11081], 482, [31088, 37516, 38594], 491],\n",
       " [[9062, 10008, 11081], 482, [31092, 37515, 38594], 494],\n",
       " [[9069, 10011, 11076], 483, [31088, 37538, 38589], 490],\n",
       " [[9073, 10006, 11079], 484, [31088, 37516, 38592], 489],\n",
       " [[9073, 10006, 11079], 484, [31096, 37514, 38592], 496],\n",
       " [[9081, 10013, 11081], 485, [31094, 37516, 38594], 495],\n",
       " [[9090, 10009, 11079], 486, [31091, 37516, 38592], 493],\n",
       " [[9090, 10009, 11079], 486, [31107, 37519, 38592], 500],\n",
       " [[9092, 10041, 11055], 487, [None, None, None], None],\n",
       " [[9099, 10011, 11077], 488, [31100, 37519, 38590], 498],\n",
       " [[9109, 10008, 11079], 489, [31097, 37516, 38592], 497],\n",
       " [[9121, 10069, 11081], 490, [None, None, None], None],\n",
       " [[9123, 10125, 11069], 491, [None, None, None], None],\n",
       " [[9124, 10034, 11053], 492, [31113, 37525, 38566], 503],\n",
       " [[9152, 10067, 11073], 493, [None, None, None], None],\n",
       " [[9152, 10049, 11052], 494, [31125, 37525, 38565], 505],\n",
       " [[9186, 10075, 11057], 495, [31138, 37538, 38570], 507],\n",
       " [[9186, 10034, 11074], 496, [31138, 37525, 38587], 506],\n",
       " [[9188, 10028, 11053], 497, [31138, 37525, 38566], 508],\n",
       " [[9218, 10042, 11050], 498, [31150, 37525, 38563], 510],\n",
       " [[9220, 10043, 11079], 499, [31150, 37525, 38592], 509],\n",
       " [[9255, 10025, 11077], 500, [31169, 37513, 38590], 516],\n",
       " [[9256, 10036, 11059], 501, [None, None, None], None],\n",
       " [[9256, 10086, 11055], 502, [None, None, None], None],\n",
       " [[9283, 10008, 11076], 503, [31166, 37516, 38589], 515],\n",
       " [[9283, 10008, 11076], 503, [31172, 37516, 38589], 518],\n",
       " [[9283, 10008, 11076], 503, [31179, 37522, 38589], 521],\n",
       " [[9296, 10005, 11077], 504, [31169, 37519, 38590], 517],\n",
       " [[9296, 10005, 11077], 504, [31175, 37516, 38590], 520],\n",
       " [[9305, 10005, 11076], 505, [31175, 37516, 38589], 519],\n",
       " [[9314, 10005, 11077], 506, [31182, 37519, 38590], 522],\n",
       " [[9321, 10005, 11076], 507, [31188, 37525, 38589], 523],\n",
       " [[9328, 10011, 11077], 508, [None, None, None], None],\n",
       " [[9335, 10048, 11076], 509, [None, None, None], None],\n",
       " [[9335, 10047, 11064], 510, [31188, 37538, 38577], 524],\n",
       " [[9336, 10045, 11057], 511, [31188, 37538, 38570], 526],\n",
       " [[9337, 10046, 11061], 512, [31188, 37538, 38574], 525],\n",
       " [[9383, 10040, 11074], 513, [31200, 37525, 38587], 528],\n",
       " [[9439, 10092, 11066], 514, [31213, 37538, 38579], 530],\n",
       " [[9440, 10158, 11074], 515, [31213, 37538, 38587], 529],\n",
       " [[9440, 10111, 11062], 516, [31213, 37550, 38575], 531],\n",
       " [[9440, 10306, 11050], 517, [31213, 37625, 38563], 532],\n",
       " [[9524, 10073, 11067], 518, [31238, 37538, 38580], 533],\n",
       " [[9558, 10020, 11064], 519, [31250, 37519, 38577], 534],\n",
       " [[9569, 10027, 11062], 520, [31257, 37519, 38575], 535],\n",
       " [[9585, 10074, 11060], 521, [31263, 37538, 38573], 537],\n",
       " [[9585, 10096, 11069], 522, [31263, 37550, 38582], 536],\n",
       " [[9650, 10089, 11066], 523, [31288, 37538, 38579], 538],\n",
       " [[9682, 10028, 11071], 524, [31300, 37519, 38584], 539],\n",
       " [[9694, 10018, 11069], 525, [31307, 37519, 38582], 540],\n",
       " [[9708, 10073, 11067], 526, [31313, 37538, 38580], 541],\n",
       " [[9708, 10053, 11059], 527, [31313, 37538, 38572], 542],\n",
       " [[9740, 10031, 11052], 528, [31325, 37525, 38565], 543],\n",
       " [[9769, 10098, 11072], 529, [31338, 37538, 38585], 544],\n",
       " [[9769, 10119, 11064], 530, [31338, 37550, 38577], 545],\n",
       " [[9769, 10025, 11050], 531, [31338, 37525, 38563], 546],\n",
       " [[9799, 10031, 11048], 532, [31350, 37525, 38561], 547],\n",
       " [[9829, 10023, 11066], 533, [31363, 37525, 38579], 548],\n",
       " [[9832, 10026, 11047], 534, [31363, 37525, 38560], 549],\n",
       " [[9861, 10038, 11045], 535, [31375, 37525, 38558], 551],\n",
       " [[9867, 10050, 11066], 536, [31375, 37525, 38579], 550],\n",
       " [[9889, 10028, 11064], 537, [31388, 37525, 38577], 553],\n",
       " [[9890, 10095, 11071], 538, [31388, 37550, 38584], 552],\n",
       " [[9892, 10036, 11043], 539, [31388, 37525, 38556], 554],\n",
       " [[9919, 10030, 11062], 540, [31400, 37525, 38575], 555],\n",
       " [[9919, 10032, 11042], 541, [31400, 37525, 38555], 556],\n",
       " [[9951, 10023, 11040], 542, [31413, 37538, 38553], 558],\n",
       " [[9952, 10076, 11060], 543, [31413, 37625, 38573], 557],\n",
       " [[9981, 10051, 11072], 544, [31425, 37525, 38585], 559],\n",
       " [[10013, 10075, 11052], 545, [31438, 37538, 38565], 561],\n",
       " [[10014, 10037, 11071], 546, [31438, 37525, 38584], 560],\n",
       " [[10045, 10035, 11069], 547, [31450, 37525, 38582], 562],\n",
       " [[10077, 10035, 11067], 548, [31463, 37525, 38580], 563],\n",
       " [[10077, 10158, 11060], 549, [None, None, None], None],\n",
       " [[10078, 10069, 11054], 550, [31463, 37538, 38567], 564],\n",
       " [[10108, 10046, 11066], 551, [31475, 37525, 38579], 565],\n",
       " [[10142, 10070, 11067], 552, [31488, 37538, 38580], 566],\n",
       " [[10143, 10126, 11055], 553, [31488, 37563, 38568], 568],\n",
       " [[10145, 10030, 11064], 554, [31488, 37525, 38577], 567],\n",
       " [[10175, 10033, 11062], 555, [31500, 37525, 38575], 569],\n",
       " [[10202, 10070, 11069], 556, [31513, 37538, 38582], 570],\n",
       " [[10205, 10131, 11064], 557, [31513, 37563, 38577], 571],\n",
       " [[10232, 10030, 11062], 558, [31525, 37525, 38575], 572],\n",
       " [[10262, 10071, 11071], 559, [31538, 37538, 38584], 573],\n",
       " [[10262, 10031, 11060], 560, [31538, 37525, 38573], 574],\n",
       " [[10263, 10026, 11057], 561, [31538, 37525, 38570], 575],\n",
       " [[10291, 10030, 11055], 562, [31550, 37525, 38568], 577],\n",
       " [[10291, 10039, 11059], 563, [31550, 37525, 38572], 576],\n",
       " [[10322, 10089, 11072], 564, [31563, 37550, 38585], 578],\n",
       " [[10324, 10025, 11054], 565, [31563, 37538, 38567], 581],\n",
       " [[10324, 10092, 11062], 566, [31563, 37575, 38575], 579],\n",
       " [[10325, 10037, 11057], 567, [31563, 37525, 38570], 580],\n",
       " [[10352, 10032, 11052], 568, [None, None, None], None],\n",
       " [[10381, 10046, 11050], 569, [31588, 37538, 38563], 584],\n",
       " [[10381, 10067, 11057], 570, [31588, 37525, 38570], 583],\n",
       " [[10411, 10020, 11074], 571, [31600, 37519, 38587], 585],\n",
       " [[10412, 10032, 11054], 572, [31600, 37525, 38567], 586],\n",
       " [[10426, 10021, 11072], 573, [31607, 37519, 38585], 587],\n",
       " [[10442, 10065, 11071], 574, [31613, 37538, 38584], 588],\n",
       " [[10443, 10460, 11055], 575, [31613, 37513, 38568], 589],\n",
       " [[10472, 10035, 11069], 576, [31625, 37525, 38582], 591],\n",
       " [[10502, 10068, 11059], 577, [31638, 37538, 38572], 594],\n",
       " [[10503, 10062, 11076], 578, [31638, 37538, 38589], 592],\n",
       " [[10504, 10030, 11067], 579, [31638, 37525, 38580], 593],\n",
       " [[10533, 10035, 11065], 580, [31650, 37525, 38578], 595],\n",
       " [[10563, 10064, 11069], 581, [31663, 37538, 38582], 596],\n",
       " [[10563, 10068, 11060], 582, [31663, 37538, 38573], 598],\n",
       " [[10563, 10028, 11064], 583, [None, None, None], None],\n",
       " [[10593, 10036, 11067], 584, [31675, 37525, 38580], 599],\n",
       " [[10624, 10101, 11074], 585, [31688, 37550, 38587], 600],\n",
       " [[10626, 10068, 11062], 586, [31688, 37538, 38575], 602],\n",
       " [[10627, 10032, 11065], 587, [31688, 37525, 38578], 601],\n",
       " [[10656, 10038, 11069], 588, [31700, 37525, 38582], 603],\n",
       " [[10688, 10090, 11064], 589, [31713, 37550, 38577], 605],\n",
       " [[10690, 10097, 11067], 590, [31713, 37575, 38580], 604],\n",
       " [[10723, 10036, 11076], 591, [31725, 37525, 38589], 606],\n",
       " [[10754, 10037, 11074], 592, [31738, 37525, 38587], 607],\n",
       " [[10780, 10023, 11065], 593, [31750, 37519, 38578], 609],\n",
       " [[10781, 10036, 11072], 594, [31750, 37525, 38585], 608],\n",
       " [[10794, 10026, 11064], 595, [31757, 37519, 38577], 610],\n",
       " [[10810, 10078, 11062], 596, [31763, 37538, 38575], 612],\n",
       " [[10810, 10034, 11071], 597, [31763, 37525, 38584], 611],\n",
       " [[10841, 10036, 11072], 598, [31775, 37525, 38585], 613],\n",
       " [[10843, 10041, 11069], 599, [31775, 37525, 38582], 614],\n",
       " [[10873, 10093, 11067], 600, [31788, 37538, 38580], 617],\n",
       " [[10874, 10028, 11074], 601, [31788, 37525, 38587], 615],\n",
       " [[10875, 10026, 11070], 602, [31788, 37538, 38583], 616],\n",
       " [[10905, 10009, 11076], 603, [31800, 37525, 38589], 618],\n",
       " [[10937, 10093, 11060], 604, [31813, 37538, 38573], 621],\n",
       " [[10938, 10038, 11077], 605, [31813, 37525, 38590], 619],\n",
       " [[10938, 10132, 11057], 606, [31813, 37563, 38570], 622],\n",
       " [[10939, 10107, 11072], 607, [31813, 37563, 38585], 620],\n",
       " [[10969, 10040, 11079], 608, [31825, 37525, 38592], 623],\n",
       " [[11003, 10104, 11065], 609, [31838, 37550, 38578], 625],\n",
       " [[11003, 10038, 11081], 610, [31838, 37525, 38594], 624],\n",
       " [[11036, 10037, 11079], 611, [31850, 37525, 38592], 626],\n",
       " [[11068, 10072, 11059], 612, [31863, 37538, 38572], 629],\n",
       " [[11068, 10037, 11077], 613, [31863, 37525, 38590], 627],\n",
       " [[11070, 10035, 11074], 614, [31863, 37538, 38587], 628],\n",
       " [[11101, 10031, 11067], 615, [31875, 37525, 38580], 631],\n",
       " [[11101, 10034, 11076], 616, [31875, 37525, 38589], 630],\n",
       " [[11132, 10032, 11060], 617, [31888, 37538, 38573], 635],\n",
       " [[11132, 10026, 11065], 618, [31888, 37525, 38578], 634],\n",
       " [[11132, 10042, 11074], 619, [31888, 37525, 38587], 632],\n",
       " [[11161, 10003, 11064], 620, [31900, 37525, 38577], 637],\n",
       " [[11161, 10037, 11072], 621, [31900, 37525, 38585], 636],\n",
       " [[11193, 10030, 11053], 622, [31913, 37525, 38566], 641],\n",
       " [[11194, 10021, 11067], 623, [31913, 37588, 38580], 639],\n",
       " [[11195, 10020, 11071], 624, [31913, 37563, 38584], 638],\n",
       " [[11195, 10026, 11062], 625, [31913, 37563, 38575], 640],\n",
       " [[11217, 10012, 11072], 626, [None, None, None], None],\n",
       " [[11226, 10030, 11057], 627, [31925, 37525, 38570], 642],\n",
       " [[11231, 10007, 11071], 628, [None, None, None], None],\n",
       " [[11240, 10008, 11072], 629, [None, None, None], None],\n",
       " [[11250, 10007, 11071], 630, [None, None, None], None],\n",
       " [[11255, 10032, 11055], 631, [31938, 37525, 38568], 643],\n",
       " [[11258, 10011, 11072], 632, [None, None, None], None],\n",
       " [[11271, 10007, 11071], 633, [None, None, None], None],\n",
       " [[11280, 10024, 11072], 634, [None, None, None], None],\n",
       " [[11284, 10030, 11053], 635, [31950, 37525, 38566], 644],\n",
       " [[11297, 10024, 11071], 636, [None, None, None], None],\n",
       " [[11315, 10047, 11052], 637, [31963, 37525, 38565], 647],\n",
       " [[11316, 10079, 11072], 638, [None, None, None], None],\n",
       " [[11318, 10047, 11064], 639, [31963, 37538, 38577], 646],\n",
       " [[11353, 10043, 11050], 640, [31975, 37525, 38563], 648],\n",
       " [[11383, 10086, 11065], 641, [31988, 37563, 38578], 650],\n",
       " [[11384, 10076, 11074], 642, [31988, 37538, 38587], 649],\n",
       " [[11385, 10146, 11062], 643, [31988, 37563, 38575], 651],\n",
       " [[11386, 10035, 11048], 644, [31988, 37525, 38561], 652],\n",
       " [[11416, 10044, 11047], 645, [32000, 37525, 38560], 653],\n",
       " [[11449, 10178, 11067], 646, [32013, 37538, 38580], 654],\n",
       " [[11451, 10034, 11048], 647, [32013, 37525, 38561], 655],\n",
       " [[11482, 10048, 11050], 648, [32025, 37525, 38563], 656],\n",
       " [[11517, 10111, 11064], 649, [32038, 37538, 38577], 658],\n",
       " [[11517, 10183, 11072], 650, [32038, 37563, 38585], 657],\n",
       " [[11519, 10055, 11052], 651, [32038, 37525, 38565], 660],\n",
       " [[11519, 10046, 11055], 652, [32038, 37538, 38568], 659],\n",
       " [[11555, 10055, 11053], 653, [32050, 37525, 38566], 661],\n",
       " [[11600, 10507, 11055], 654, [32063, 37513, 38568], 663],\n",
       " [[11601, 10144, 11062], 655, [32063, 37563, 38575], 662],\n",
       " [[11688, 10118, 11043], 656, [32088, 37538, 38556], 666],\n",
       " [[11688, 10111, 11071], 657, [32088, 37538, 38584], 665],\n",
       " [[11782, 10198, 11072], 658, [32113, 37563, 38585], 667],\n",
       " [[11783, 10063, 11048], 659, [32113, 37538, 38561], 669],\n",
       " [[11783, 10209, 11064], 660, [None, None, None], None],\n",
       " [[11889, 10151, 11069], 661, [32138, 37563, 38582], 670],\n",
       " [[11889, 10999, 11048], 662, [32138, 38288, 38561], 671],\n",
       " [[11961, 10079, 11050], 663, [32163, 37538, 38563], 673],\n",
       " [[11963, 10104, 11071], 664, [32163, 37538, 38584], 672],\n",
       " [[12030, 10080, 11052], 665, [32188, 37538, 38565], 676],\n",
       " [[12032, 10075, 11070], 666, [32188, 37538, 38583], 674],\n",
       " [[12033, 10166, 11067], 667, [32188, 37563, 38580], 675],\n",
       " [[12100, 10104, 11053], 668, [32213, 37550, 38566], 678],\n",
       " [[12102, 10139, 11069], 669, [32213, 37538, 38582], 677],\n",
       " [[12173, 10085, 11065], 670, [32238, 37538, 38578], 680],\n",
       " [[12174, 10143, 11074], 671, [32238, 37563, 38587], 679],\n",
       " [[12206, 10036, 11055], 672, [32250, 37519, 38568], 681],\n",
       " [[12222, 10028, 11053], 673, [32257, 37519, 38566], 682],\n",
       " [[12237, 10071, 11067], 674, [32263, 37538, 38580], 683],\n",
       " [[12239, 10077, 11052], 675, [32263, 37538, 38565], 684],\n",
       " [[12302, 10078, 11069], 676, [32288, 37538, 38582], 686],\n",
       " [[12302, 10077, 11072], 677, [32288, 37538, 38585], 685],\n",
       " [[12304, 10088, 11057], 678, [32288, 37538, 38570], 687],\n",
       " [[12372, 10071, 11074], 679, [32313, 37538, 38587], 688],\n",
       " [[12373, 10103, 11070], 680, [32313, 37550, 38583], 689],\n",
       " [[12374, 10088, 11050], 681, [32313, 37538, 38563], 690],\n",
       " [[12443, 10101, 11055], 682, [32338, 37550, 38568], 692],\n",
       " [[12443, 10070, 11076], 683, [32338, 37538, 38589], 691],\n",
       " [[12476, 10013, 11072], 684, [32350, 37519, 38585], 693],\n",
       " [[12490, 10021, 11070], 685, [32357, 37519, 38583], 694],\n",
       " [[12505, 10157, 11077], 686, [32363, 37575, 38590], 695],\n",
       " [[12506, 10089, 11069], 687, [32363, 37538, 38582], 696],\n",
       " [[12537, 10033, 11057], 688, [32375, 37525, 38570], 697],\n",
       " [[12567, 10091, 11074], 689, [32388, 37538, 38587], 698],\n",
       " [[12569, 10039, 11055], 690, [32388, 37525, 38568], 699],\n",
       " [[12599, 10037, 11053], 691, [32400, 37525, 38566], 700],\n",
       " [[12630, 10024, 11067], 692, [32413, 37538, 38580], 701],\n",
       " [[12632, 10034, 11052], 693, [32413, 37525, 38565], 702],\n",
       " [[12663, 10058, 11081], 694, [32425, 37525, 38594], 703],\n",
       " [[12665, 10051, 11050], 695, [32425, 37525, 38563], 704],\n",
       " [[12697, 10042, 11079], 696, [32438, 37525, 38592], 705],\n",
       " [[12697, 10114, 11072], 697, [32438, 37550, 38585], 706],\n",
       " [[12698, 10040, 11052], 698, [32438, 37525, 38565], 707],\n",
       " [[12732, 10041, 11077], 699, [32450, 37525, 38590], 708],\n",
       " [[12734, 10035, 11053], 700, [32450, 37525, 38566], 709],\n",
       " [[12768, 10048, 11076], 701, [32463, 37525, 38589], 710],\n",
       " [[12768, 10039, 11055], 702, [32463, 37525, 38568], 711],\n",
       " [[12801, 10042, 11074], 703, [32475, 37525, 38587], 713],\n",
       " [[12801, 10040, 11077], 704, [32475, 37525, 38590], 712],\n",
       " [[12803, 10042, 11057], 705, [32475, 37525, 38570], 714],\n",
       " [[12835, 10060, 11076], 706, [32488, 37525, 38589], 715],\n",
       " [[12836, 10052, 11058], 707, [32488, 37525, 38571], 717],\n",
       " [[12837, 10039, 11072], 708, [32488, 37525, 38585], 716],\n",
       " [[12871, 10055, 11055], 709, [32500, 37525, 38568], 720],\n",
       " [[12871, 10054, 11074], 710, [32500, 37525, 38587], 718],\n",
       " [[12872, 10057, 11070], 711, [32500, 37525, 38583], 719],\n",
       " [[12914, 10380, 11072], 712, [32513, 37613, 38585], 721],\n",
       " [[12915, 10660, 11048], 713, [None, None, None], None],\n",
       " [[12915, 10130, 11057], 714, [32513, 37525, 38570], 723],\n",
       " [[12915, 10059, 11069], 715, [32513, 37525, 38582], 722],\n",
       " [[12962, 10048, 11070], 716, [32525, 37525, 38583], 724],\n",
       " [[12963, 10055, 11052], 717, [32525, 37525, 38565], 725],\n",
       " [[13002, 10042, 11069], 718, [32538, 37525, 38582], 726],\n",
       " [[13002, 10056, 11053], 719, [32538, 37525, 38566], 727],\n",
       " [[13038, 10044, 11067], 720, [32550, 37525, 38580], 728],\n",
       " [[13039, 10048, 11055], 721, [32550, 37525, 38568], 729],\n",
       " [[13072, 10048, 11065], 722, [32563, 37525, 38578], 730],\n",
       " [[13072, 10049, 11057], 723, [32563, 37525, 38570], 731],\n",
       " [[13108, 10049, 11059], 724, [32575, 37525, 38572], 733],\n",
       " [[13109, 10052, 11067], 725, [32575, 37525, 38580], 732],\n",
       " [[13148, 10059, 11060], 726, [32588, 37525, 38573], 735],\n",
       " [[13148, 10053, 11065], 727, [32588, 37525, 38578], 734],\n",
       " [[13192, 10071, 11057], 728, [32600, 37525, 38570], 737],\n",
       " [[13194, 10068, 11064], 729, [32600, 37525, 38577], 736],\n",
       " [[13249, 10317, 11062], 730, [32613, 37600, 38575], 738],\n",
       " [[13249, 10375, 11059], 731, [32613, 37613, 38572], 739],\n",
       " [[13312, 10026, 11067], 732, [32625, 37519, 38580], 740],\n",
       " [[13334, 10025, 11069], 733, [32632, 37519, 38582], 741],\n",
       " [[13353, 10043, 11071], 734, [32638, 37525, 38584], 742],\n",
       " [[13392, 10042, 11072], 735, [32650, 37525, 38585], 743],\n",
       " [[13430, 10044, 11074], 736, [32663, 37525, 38587], 744],\n",
       " [[13467, 10043, 11076], 737, [32675, 37525, 38589], 745],\n",
       " [[13507, 10171, 11077], 738, [32688, 37544, 38590], 746],\n",
       " [[13551, 10057, 11067], 739, [32700, 37525, 38580], 747],\n",
       " [[13605, 10216, 11069], 740, [32713, 37563, 38582], 748],\n",
       " [[13606, 10816, 11060], 741, [32713, 37713, 38573], 749],\n",
       " [[13607, 10999, 11048], 742, [None, None, None], None],\n",
       " [[13639, 10039, 11072], 743, [32719, 37519, 38585], 750],\n",
       " [[13664, 10027, 11074], 744, [32725, 37519, 38587], 751],\n",
       " [[13687, 10028, 11076], 745, [32732, 37519, 38589], 752],\n",
       " [[13713, 10047, 11077], 746, [32738, 37525, 38590], 753],\n",
       " [[13756, 10051, 11079], 747, [32750, 37525, 38592], 754],\n",
       " [[13802, 10186, 11081], 748, [32763, 37550, 38594], 755],\n",
       " [[13854, 10061, 11077], 749, [32775, 37525, 38590], 756],\n",
       " [[13913, 10106, 11074], 750, [32788, 37538, 38587], 757],\n",
       " [[13981, 10118, 11083], 751, [32800, 37525, 38596], 758],\n",
       " [[14087, 10363, 11084], 752, [32813, 37613, 38597], 759],\n",
       " [[14089, 10200, 11076], 753, [32813, 37613, 38589], 760]]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "matched_tuples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "datafiles = [(file1,file2,file3,file4)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": []
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Now aligning ./asap-dataset-master/Bach/Fugue/bwv_846/Shi05M.mid and ./asap-dataset-master/Bach/Fugue/bwv_846/midi_score.mid\n",
      "could not find notes in score associated with beat 4\n",
      "could not find notes in perf associated with beat 4\n",
      "could not find notes in perf associated with beat 72\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "#0: 100%|β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 1/1 [00:05<00:00,  5.21s/it]\n"
     ]
    }
   ],
   "source": [
    "seq_count, rest_count, too_short, too_long, too_manyinstr, discarded_seqs, truncations \\\n",
    "            = tokenize3(datafiles, output='./data/output.txt',skip_Nones=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "4 0 0 0 0 0 0\n"
     ]
    }
   ],
   "source": [
    "print(seq_count, rest_count, too_short, too_long, too_manyinstr, discarded_seqs, truncations)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "base",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}