forked from nlpyang/structured
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathremove_filtered.py
More file actions
63 lines (51 loc) · 78.3 KB
/
remove_filtered.py
File metadata and controls
63 lines (51 loc) · 78.3 KB
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
import itertools
import os, sys
ids_train = [193716, 522857, 725955, 269490, 774716, 44893, 898715, 248652, 545435, 172335, 794037, 307488, 781948, 726533, 272933, 201354, 398681, 863420, 861256, 592751, 726706, 267681, 321927, 783420, 148813, 606747, 96834, 717095, 82211, 49050, 363486, 798982, 628897, 99763, 778636, 43400, 634771, 146257, 245808, 323660, 482882, 200824, 335014, 742068, 703227, 370697, 265578, 769224, 699744, 833240, 130581, 691682, 867780, 828985, 506823, 119948, 111958, 434938, 542923, 659434, 359751, 563087, 583359, 490120, 202733, 897280, 577621, 104275, 689482, 855593, 442871, 790833, 561391, 157305, 668024, 848598, 408099, 857671, 117327, 713699, 300622, 590380, 559565, 789879, 179160, 744580, 778723, 177478, 851220, 241781, 229521, 65986, 504766, 372922, 256776, 289005, 454041, 464948, 586497, 659591, 896783, 311385, 122855, 574270, 594775, 884267, 588100, 563129, 817155, 45590, 745957, 556109, 596390, 857783, 44836, 817993, 325904, 400247, 297114, 584051, 550192, 727619, 763665, 833606, 424982, 831881, 78188, 11165, 667439, 448632, 104685, 691799, 726374, 462118, 594908, 410626, 80090, 67876, 278619, 745343, 480410, 4723, 469528, 325564, 23712, 105834, 867832, 241348, 628964, 409154, 477851, 850066, 312126, 812106, 48106, 713093, 14962, 404298, 208820, 856304, 29713, 669592, 101234, 187635, 913149, 826812, 212473, 677172, 561662, 412410, 398975, 182805, 507580, 726222, 396545, 907041, 493987, 261671, 744475, 356447, 380739, 830347, 538569, 651006, 799962, 185375, 880400, 872292, 575686, 559090, 388417, 281788, 787894, 135041, 406802, 293804, 841893, 546100, 74907, 513064, 210768, 738204, 54768, 225752, 54920, 133118, 820897, 95399, 260069, 224270, 550777, 142967, 471085, 202550, 277551, 477354, 147044, 684558, 640482, 281170, 209156, 472929, 242049, 361816, 697460, 745592, 734637, 355803, 402187, 305376, 99684, 451632, 705967, 700988, 393439, 367359, 160852, 180211, 51428, 343755, 368969, 142616, 557555, 423592, 912410, 670238, 475911, 272822, 327418, 370171, 151577, 614502, 751169, 462169, 517976, 766257, 210732, 182181, 785079, 749464, 339164, 619864, 512067, 84792, 340489, 900478, 545774, 519453, 891409, 798160, 19116, 806856, 31180, 855618, 330985, 860632, 192349, 411406, 303789, 827843, 242673, 161007, 129059, 680960, 371471, 711277, 320301, 176008, 40628, 146993, 275567, 702084, 526306, 140877, 388157, 210153, 258729, 212116, 496611, 189993, 867466, 319688, 861928, 432582, 437026, 815160, 508161, 723709, 549976, 134449, 110340, 170984, 694469, 36850, 190853, 227301, 227583, 239750, 751974, 193215, 308704, 723003, 197740, 336780, 119634, 595693, 684664, 840609, 227891, 164753, 655078, 167132, 501061, 366188, 322217, 386565, 361248, 530562, 637354, 559401, 787589, 574877, 50607, 904000, 787356, 271417, 3541, 421684, 431929, 586934, 904111, 50698, 296836, 790816, 6146, 432390, 587884, 739613, 450994, 691719, 419074, 883282, 635138, 632965, 387096, 528634, 512993, 123988, 516881, 808242, 616740, 294515, 177184, 223168, 208833, 615232, 49295, 758115, 463885, 417471, 454639, 828850, 498994, 193628, 333246, 865379, 800242, 62436, 798886, 5797, 103844, 414750, 687321, 682546, 621983, 361142, 703796, 453068, 103723, 319964, 573769, 521491, 491663, 172966, 34596, 487552, 705286, 739597, 583850, 397370, 206389, 148690, 171577, 332902, 359716, 613580, 616524, 835926, 376355, 882458, 676631, 377456, 421793, 79923, 829771, 473482, 768471, 565245, 651568, 560981, 589518, 347073, 518653, 859259, 521299, 669777, 210828, 458607, 631282, 819645, 372890, 194256, 331216, 817903, 485269, 866631, 463300, 664848, 338999, 421352, 202074, 234734, 542876, 285744, 677677, 747354, 436112, 343090, 620984, 641710, 688343, 828247, 765035, 724866, 709511, 498372, 288736, 375107, 112581, 612678, 648562, 291840, 164513, 159473, 475491, 167357, 395110, 510477, 791111, 705217, 52219, 575495, 239776, 748984, 382319, 882927, 810741, 65667, 857039, 555856, 211935, 595154, 715996, 715798, 775759, 76084, 18695, 890406, 905709, 191071, 746600, 48753, 72908, 831635, 222827, 136494, 324064, 761657, 505847, 703635, 472626, 202055, 163661, 139181, 851528, 399630, 124755, 103278, 450335, 778637, 176515, 626523, 4157, 671705, 719438, 661636, 452250, 629894, 240331, 493810, 659149, 285383, 301977, 884784, 478540, 188785, 772548, 626130, 370710, 322324, 611879, 388517, 632843, 70823, 140392, 618119, 227274, 53363, 70005, 32575, 118540, 41919, 889926, 90900, 393176, 313278, 570347, 750711, 42046, 831835, 211812, 176560, 129830, 342783, 738236, 849399, 226591, 408039, 185824, 56067, 551472, 472497, 300206, 453054, 674711, 858276, 527880, 363677, 211394, 624142, 248978, 714056, 248140, 867046, 387029, 864400, 512513, 758847, 495267, 192620, 584155, 902495, 620821, 523427, 237922, 810684, 229441, 506441, 851836, 373703, 399990, 214385, 186300, 247704, 610983, 223122, 623573, 814620, 570444, 694520, 173679, 610739, 539911, 285095, 128711, 681641, 166400, 618263, 901719, 187003, 610652, 367263, 383125, 13085, 207359, 873193, 664779, 403357, 860099, 208630, 409569, 786897, 205259, 163011, 310022, 39947, 5326, 123235, 17404, 538297, 110286, 342715, 1051, 331634, 353718, 816696, 626608, 76950, 846314, 887017, 321669, 136304, 890939, 222952, 176896, 253858, 67043, 86838, 62992, 719365, 446678, 158054, 396015, 212382, 405324, 62396, 875658, 256172, 214018, 415534, 464313, 373227, 507937, 402715, 158902, 27548, 389384, 633902, 35078, 646134, 98930, 669462, 197494, 613976, 585041, 586680, 181163, 561622, 801600, 343250, 533368, 187210, 209975, 225225, 423508, 716170, 380924, 560636, 675797, 643067, 60052, 508937, 858701, 886020, 280780, 592580, 16953, 109677, 911841, 853294, 618505, 677648, 246665, 5568, 751841, 532662, 150468, 701918, 12705, 86157, 882843, 248060, 543251, 5860, 222647, 778851, 372828, 634873, 272808, 868432, 158592, 291967, 724484, 377599, 191408, 766041, 48176, 135594, 400363, 30425, 254117, 570179, 276005, 21250, 653400, 298555, 908042, 736744, 356637, 72433, 701516, 487351, 124995, 223972, 75703, 353275, 881543, 874969, 190081, 356525, 295732, 171525, 378139, 591367, 804410, 547284, 658102, 515813, 381850, 552863, 407000, 694392, 260518, 9814, 742805, 2974, 149925, 716219, 50223, 864665, 632140, 382472, 236755, 154649, 150823, 589260, 574723, 601977, 757946, 766034, 321186, 145673, 367779, 114348, 410568, 886572, 615711, 786233, 760192, 402674, 109388, 580500, 755676, 302313, 57420, 600733, 593907, 686985, 521089, 676991, 592257, 7644, 850940, 566632, 23023, 51330, 719988, 524145, 285402, 777099, 77818, 532454, 250853, 501399, 442682, 483370, 385186, 347064, 400776, 498516, 665861, 161894, 226116, 134095, 128187, 576403, 91230, 533225, 728006, 450421, 559316, 842689, 120831, 138041, 841918, 809620, 193904, 898373, 24184, 802928, 411578, 473691, 850708, 405075, 843251, 573115, 107941, 19175, 235187, 843693, 285651, 25168, 76561, 50352, 884482, 10820, 404851, 53167, 501462, 564847, 6213, 289822, 192279, 670180, 315824, 93167, 264357, 190174, 334929, 507536, 855165, 91797, 59684, 826576, 793572, 857499, 787825, 268302, 676511, 424335, 213196, 123032, 846267, 909681, 15702, 833237, 215736, 647430, 587509, 415185, 836846, 840662, 473642, 78216, 90113, 311349, 661533, 74413, 83551, 354646, 352475, 199145, 319775, 231455, 177933, 550553, 360088, 831337, 587885, 376382, 747536, 834281, 842037, 466992, 474663, 215031, 752060, 487026, 405912, 455899, 444669, 883346, 879607, 902287, 49966, 911067, 21639, 60769, 150512, 167847, 91004, 342562, 784604, 51464, 829645, 230848, 383422, 804762, 366685, 119783, 309550, 325861, 745929, 592482, 734248, 63178, 82443, 113288, 300081, 86152, 448388, 407919, 576502, 330699, 795560, 320095, 583547, 348281, 703501, 4861, 26374, 809464, 739919, 902682, 381372, 185287, 379946, 153684, 635710, 305112, 173991, 433113, 397339, 196846, 42553, 846365, 373395, 742456, 246106, 572253, 72520, 716232, 733465, 840977, 112083, 646782, 703187, 739783, 305445, 890840, 638087, 121108, 12425, 693412, 519104, 909312, 909868, 361226, 94898, 136097, 687305, 872401, 833170, 624871, 830636, 68697, 234342, 524627, 554911, 80719, 585605, 676144, 62327, 485821, 798364, 302519, 753152, 892503, 762577, 247623, 755440, 420298, 287341, 771762, 638275, 381726, 255588, 420799, 775476, 282712, 384912, 594644, 210032, 801574, 265182, 560770, 896816, 908318, 798491, 109817, 668169, 242648, 635860, 60818, 18040, 907911, 498042, 442423, 459815, 808966, 738964, 538577, 765316, 322312, 104684, 700704, 578137, 438046, 886433, 749857, 312527, 664374, 90799, 367392, 570515, 609893, 841734, 891914, 894673, 897346, 226941, 94885, 301244, 624151, 401734, 479192, 465449, 509454, 8069, 786405, 822520, 78026, 635715, 170214, 393618, 653629, 183940, 509681, 592979, 26575, 856437, 495736, 538893, 389594, 768822, 659813, 70979, 445760, 580683, 189319, 48597, 627994, 344023, 267304, 417374, 235670, 100872, 94204, 899752, 234610, 420663, 130348, 877681, 115145, 710456, 33728, 142174, 346777, 738886, 480106, 421282, 684004, 575214, 429355, 254850, 458725, 275186, 153405, 621602, 135899, 259975, 230314, 325816, 720542, 61508, 798435, 756703, 170653, 586823, 73470, 893195, 330552, 742534, 5828, 41910, 262187, 121191, 341101, 871537, 24363, 200662, 447495, 186952, 661834, 522851, 182152, 789797, 651121, 741598, 304638, 430930, 324008, 613592, 592205, 524100, 881877, 156202, 420903, 136511, 321554, 812902, 839461, 251656, 343758, 828388, 784915, 567468, 158709, 812437, 650685, 487802, 673270, 587657, 68793, 835077, 125932, 50390, 13365, 163399, 454946, 647107, 638379, 506431, 582086, 266425, 93640, 71000, 50865, 847804, 725544, 508740, 349606, 770862, 640066, 907632, 181097, 589181, 655112, 638321, 70670, 146506, 342303, 319691, 104235, 212509, 912438, 133550, 108431, 459255, 216411, 822846, 81765, 681624, 548945, 99802, 807621, 426077, 673455, 118950, 200217, 804633, 511701, 499618, 754530, 523248, 656511, 145385, 411401, 268899, 246890, 167420, 401301, 422979, 428206, 864209, 407845, 872285, 822499, 721510, 258223, 80015, 652695, 207559, 863845, 41979, 343693, 388926, 845997, 121582, 890058, 342787, 500013, 568250, 553844, 168456, 824543, 233068, 277770, 81544, 479101, 675075, 585126, 266443, 786343, 541439, 529282, 772481, 545297, 725033, 158671, 706806, 608144, 192886, 468727, 696202, 5162, 530590, 910203, 347742, 567457, 867097, 853498, 472160, 93498, 710227, 362305, 581814, 661960, 901627, 257049, 237055, 143676, 672243, 135171, 746790, 378454, 10899, 334806, 819387, 181136, 709676, 800600, 870919, 107057, 47735, 240445, 557731, 412473, 14232, 174195, 692967, 500705, 800675, 210530, 120344, 96356, 320749, 351253, 799062, 384489, 677497, 697137, 612178, 171186, 203438, 134593, 210784, 446617, 748666, 354097, 770670, 462139, 421959, 153822, 294111, 626690, 464506, 577008, 432624, 199046, 818182, 143126, 863169, 84543, 296941, 565367, 396050, 910848, 693427, 151206, 871407, 390396, 738706, 900346, 216576, 415351, 371565, 528251, 882309, 140242, 822406, 745144, 340789, 32951, 333819, 857276, 879424, 871749, 101063, 166318, 544686, 392534, 363015, 697261, 673988, 895309, 521577, 844469, 147557, 95195, 225762, 710746, 599200, 578810, 768464, 438368, 854005, 756582, 512103, 586222, 71675, 564390, 523921, 589593, 406073, 19213, 777245, 561332, 592131, 131336, 540448, 469351, 434514, 451200, 219052, 148880, 483993, 696053, 82927, 894367, 46692, 448364, 283140, 212477, 655923, 104550, 300483, 860150, 884567, 614609, 819973, 145870, 332448, 47801, 761767, 851999, 654737, 714546, 369820, 71515, 514859, 908672, 814851, 625824, 104019, 223236, 339711, 679770, 389145, 509869, 24408, 636201, 324864, 527039, 594400, 545884, 772198, 53188, 650937, 256498, 506592, 474367, 719658, 869502, 587854, 231744, 581765, 840594, 400031, 249715, 708708, 278316, 108392, 44298, 372149, 58653, 554794, 298464, 319770, 627676, 856559, 764102, 714849, 351106, 845545, 38647, 54062, 103318, 26436, 526127, 291375, 390385, 239014, 829946, 124426, 91338, 362018, 219111, 131509, 126482, 653880, 891412, 481359, 615285, 392727, 321140, 145091, 850315, 815138, 24017, 226148, 734984, 109091, 498659, 531632, 761973, 626357, 321295, 21915, 601717, 200920, 390538, 55760, 666189, 172134, 600200, 318805, 261011, 823674, 156318, 4868, 431779, 805265, 428105, 265099, 26819, 237947, 836760, 400464, 420737, 402879, 861661, 381305, 277959, 489495, 43239, 834412, 741482, 786497, 410078, 655279, 633973, 766365, 345612, 652733, 675599, 615135, 434283, 156078, 144104, 740378, 181141, 140433, 829460, 310376, 871205, 691239, 315964, 296640, 138833, 414766, 132692, 858666, 147747, 260093, 685053, 444449, 800008, 117776, 206665, 469067, 482789, 887771, 304889, 627597, 839976, 392134, 908531, 884066, 571044, 97931, 889626, 5236, 211042, 611162, 588934, 589107, 524069, 864521, 372261, 637795, 88777, 532318, 283599, 101633, 335287, 846404, 549954, 807447, 11518, 867172, 23066, 178163, 392286, 228442, 542312, 538592, 241465, 363451, 349152, 23652, 771592, 810637, 655435, 522583, 45836, 753731, 734621, 846413, 836124, 385960, 495956, 347823, 573283, 879582, 53989, 413696, 274987, 418676, 817659, 730815, 410693, 653000, 473777, 434430, 414257, 241864, 434509, 773365, 373656, 483498, 78041, 827176, 374506, 712405, 913850, 72794, 666674, 282554, 189284, 191212, 854086, 575106, 223238, 182427, 512562, 503009, 589472, 263126, 33336, 800573, 360311, 592697, 408181, 687865, 12588, 200340, 292126, 360637, 673250, 43522, 51890, 145633, 246550, 709062, 37168, 95910, 525807, 468414, 539067, 519204, 852678, 49775, 327565, 858291, 441315, 415592, 459573, 666032, 337180, 905780, 743121, 489692, 7792, 378103, 129931, 304230, 359387, 829730, 433284, 389804, 217489, 474388, 228163, 294575, 413544, 136425, 910105, 810691, 572358, 760868, 619793, 373472, 875738, 420066, 464976, 189057, 74931, 315918, 906909, 448211, 366657, 321392, 156394, 908452, 459928, 632201, 80315, 194175, 471829, 33864, 50643, 401960, 246363, 86567, 709453, 108173, 22395, 339036, 475097, 393750, 520486, 3563, 171777, 526961, 523741, 12560, 307346, 754695, 299890, 598593, 780680, 125574, 459376, 611664, 52115, 410349, 540743, 209696, 822884, 805417, 408187, 746827, 656201, 521640, 293947, 327248, 340409, 559186, 668971, 768825, 358750, 914134, 471690, 463200, 510483, 211486, 4252, 854076, 9270, 722450, 386088, 33903, 830894, 47088, 404404, 646548, 842405, 207595, 821381, 366174, 780446, 339092, 232587, 191513, 510167, 276582, 865402, 402655, 159509, 96939, 665215, 701187, 179127, 810859, 378555, 803750, 879130, 404823, 314510, 275329, 351186, 43793, 651912, 473702, 764727, 301001, 666291, 577940, 422356, 121140, 420092, 69739, 419776, 809971, 327873, 642387, 861381, 693990, 367156, 722602, 227066, 94361, 19149, 303387, 779572, 183004, 351842, 638383, 662839, 792126, 838463, 95112, 884612, 249283, 480746, 83117, 504027, 270021, 728611, 763496, 30513, 792129, 397694, 797991, 477372, 913737, 330481, 391717, 5893, 903362, 343583, 715940, 795327, 76753, 439711, 655005, 268231, 755634, 141865, 128566, 910524, 801991, 140063, 142344, 137529, 720042, 369220, 238994, 524745, 249068, 815692, 131167, 703301, 623456, 514546, 437596, 339267, 585594, 765247, 429871, 29543, 691848, 21476, 117554, 144036, 239259, 364963, 585446, 711293, 344647, 301871, 209303, 816990, 847855, 315564, 635343, 400351, 302166, 201047, 274921, 26160, 414519, 305613, 309727, 441575, 661064, 454471, 117643, 588220, 459464, 764176, 55901, 308236, 92952, 331770, 215948, 775101, 873927, 647589, 465364, 707542, 461231, 641121, 225909, 60685, 595289, 726735, 859923, 76597, 111065, 757371, 303193, 800604, 396897, 82705, 836931, 818918, 860366, 481580, 753348, 247748, 45378, 232063, 271814, 96926, 803152, 44075, 538405, 689232, 284221, 656233, 121986, 619117, 903713, 732992, 691999, 700915, 205984, 4206, 401833, 617952, 24526, 273174, 402959, 608138, 162769, 623092, 223782, 232672, 620205, 221616, 594333, 378841, 74064, 147304, 124257, 729365, 238540, 330621, 328151, 552585, 315307, 620039, 231042, 271595, 694570, 153267, 554864, 654045, 677756, 492687, 496855, 835082, 825888, 616908, 515999, 18055, 781881, 890916, 196578, 791880, 603991, 347438, 298128, 354584, 562134, 57129, 636768, 537683, 254940, 147829, 765917, 635120, 720134, 649852, 129519, 855358, 335429, 713003, 304126, 428974, 466280, 547464, 330201, 599942, 209614, 709331, 710963, 513692, 240502, 73443, 426652, 145503, 95748, 124137, 585163, 623553, 385953, 667143, 763872, 745241, 846481, 319251, 651307, 570802, 236286, 115582, 421986, 750335, 364185, 449072, 76384, 595782, 596423, 401697, 274542, 16282, 473872, 628587, 425976, 270303, 714294, 72873, 633682, 670751, 77069, 486971, 811269, 850201, 111905, 499743, 849803, 160676, 719899, 671911, 773375, 683843, 70813, 429436, 81164, 706573, 908304, 765871, 147178, 21569, 36935, 433737, 706229, 259300, 494768, 711978, 173896, 451776, 225319, 365274, 786606, 733708, 752586, 844907, 641923, 569165, 171057, 365229, 559388, 748234, 728423, 432921, 605713, 384057, 77701, 172097, 894349, 807935, 246199, 357064, 58700, 371392, 692095, 283098, 100157, 590264, 424919, 853653, 902489, 361284, 602861, 16224, 416616, 354851, 425614, 56163, 131357, 588460, 790931, 517085, 175754, 12607, 106833, 544099, 742692, 156411, 493009, 236090, 139002, 431667, 176778, 607799, 511522, 722112, 242610, 616692, 593232, 854703, 267415, 36723, 377615, 450695, 389414, 3504, 546368, 90249, 158092, 190182, 654700, 366242, 354842, 300391, 395810, 252268, 853838, 543081, 388836, 77795, 306677, 651046, 57167, 713144, 875635, 588229, 841140, 371495, 402662, 147984, 20609, 580463, 128782, 309287, 299826, 405569, 494261, 197547, 183499, 234989, 295210, 800307, 178652, 195425, 876359, 812204, 536971, 478002, 143031, 289729, 167480, 833181, 369473, 831541, 800666, 664186, 319997, 457047, 174707, 464757, 178503, 698591, 250091, 605484, 165973, 366676, 277851, 36037, 113328, 835452, 715953, 750039, 589040, 495245, 334095, 547918, 581289, 12506, 555008, 334049, 312153, 881697, 345269, 450813, 684912, 58884, 376981, 484461, 867740, 528706, 130651, 235796, 908788, 825377, 94797, 647512, 884943, 778624, 715196, 185419, 881384, 222000, 526947, 850301, 913600, 328878, 511828, 271116, 912358, 173804, 76530, 21864, 305873, 721385, 89368, 225092, 581824, 649131, 820938, 889957, 824898, 513824, 368978, 88117, 750985, 76775, 676123, 274268, 256725, 761939, 811091, 358960, 10289, 53347, 720844, 674779, 831159, 523591, 782491, 187878, 846216, 652998, 44404, 98963, 869376, 542475, 719961, 23762, 240897, 481792, 726726, 211309, 425184, 458976, 234019, 889508, 867372, 300531, 699217, 375415, 532764, 574336, 565489, 157649, 366570, 752367, 24411, 77040, 804871, 604693, 733395, 98353, 642843, 517738, 131087, 95074, 326002, 535348, 741037, 865203, 386399, 23439, 619490, 537450, 828583, 760174, 38037, 256968, 855020, 352154, 565068, 453043, 359125, 181234, 154051, 549833, 865641, 504963, 718340, 595238, 216764, 707753, 113020, 370177, 131199, 71488, 334868, 379305, 262134, 720076, 325808, 439164, 208340, 322984, 678637, 594653, 248589, 8858, 650388, 9998, 280417, 374972, 651783, 258322, 907411, 252974, 24812, 497587, 787714, 328447, 286424, 351370, 569873, 31445, 104865, 171761, 501198, 417483, 589746, 447000, 142474, 501252, 890634, 68997, 273560, 792187, 84369, 596867, 242482, 290937, 444687, 225898, 168878, 699739, 761397, 213060, 900921, 400413, 874380, 692322, 740563, 625492, 306515, 127979, 590439, 314214, 100601, 884137, 155797, 798560, 109711, 328043, 858201, 853263, 128789, 551565, 665256, 777838, 765473, 172725, 551, 545655, 200612, 643422, 719886, 66068, 329971, 693471, 686996, 548165, 398850, 175983, 828855, 89673, 766877, 644210, 765998, 665954, 479308, 877376, 765482, 149827, 663659, 110892, 136429, 356201, 860520, 700075, 103733, 804266, 600955, 139265, 501052, 735834, 58371, 873865, 605937, 878389, 518492, 195211, 112218, 269755, 754447, 657392, 251594, 420132, 563189, 873120, 431726, 753595, 56813, 499555, 830710, 425002, 141137, 59, 105609, 552016, 127459, 58824, 407563, 529889, 889986, 619730, 662348, 311924, 812958, 779205, 197383, 226207, 534795, 714517, 84879, 118444, 737484, 414120, 248788, 350243, 397452, 468518, 110858, 267619, 362491, 755694, 495593, 833812, 872179, 705851, 751147, 271848, 842800, 238473, 780308, 384950, 462015, 753482, 729166, 290403, 663288, 844085, 659967, 54853, 214391, 654658, 25543, 262730, 813837, 888674, 506038, 93977, 690390, 460993, 169093, 846278, 587090, 611569, 467832, 843084, 124968, 74633, 206391, 415296, 12524, 95287, 403275, 775631, 437585, 642280, 339149, 229506, 581034, 174377, 372914, 778600, 1826, 497263, 820671, 74921, 77125, 522816, 888169, 579269, 766480, 677891, 505348, 65150, 601837, 488454, 105380, 471561, 296362, 408958, 232779, 509627, 510327, 913641, 166561, 241345, 288110, 249145, 604275, 173870, 261547, 501751, 708364, 913024, 47760, 478082, 729278, 437703, 599466, 368133, 65494, 168826, 859229, 207161, 5876, 38932, 841775, 657367, 363676, 108700, 164786, 154147, 344779, 1422, 673145, 467986, 167697, 460877, 720982, 189293, 754651, 608307, 60381, 15519, 831420, 129476, 596153, 64689, 637455, 77529, 218287, 612744, 618028, 531251, 727106, 5965, 696265, 796913, 155200, 693964, 209553, 881003, 753634, 82147, 754419, 210356, 661801, 162989, 836458, 229732, 533192, 508024, 12626, 867052, 484438, 251067, 485322, 624316, 678011, 891130, 248638, 885765, 824752, 131899, 293261, 640531, 456051, 10398, 366850, 118156, 717736, 875422, 331100, 871457, 710727, 438704, 58299, 388802, 538231, 52395, 430399, 830773, 689160, 378239, 185415, 534339, 178396, 261372, 581909, 718647, 818681, 700512, 312885, 688232, 572188, 403273, 419351, 863555, 668227, 860456, 462734, 431725, 470676, 205834, 609566, 715034, 383513, 600690, 193685, 223280, 195786, 654251, 471984, 443788, 462539, 206213, 888668, 7437, 138067, 764683, 544594, 326179, 759979, 28542, 406052, 598726, 431808, 77614, 126934, 121229, 471475, 150285, 821856, 787782, 818158, 401803, 101602, 338962, 733705, 731125, 747594, 231871, 866005, 767331, 812292, 29254, 842705, 178959, 150649, 862873, 574455, 831679, 381259, 214851, 528879, 862780, 551928, 262266, 65113, 822219, 793209, 843676, 178297, 282612, 452316, 482805, 156793, 871426, 546910, 755772, 896396, 856627, 212001, 107703, 635258, 796995, 460557, 776147, 748780, 178964, 425398, 561502, 526287, 725633, 15247, 817407, 810883, 318289, 831155, 304225, 451545, 734899, 883481, 833975, 315388, 796235, 613553, 128303, 771904, 24993, 25899, 777801, 451708, 220849, 379570, 225511, 62148, 411245, 296398, 83624, 653786, 736149, 418955, 315973, 558341, 835537, 580106, 776575, 416544, 76911, 826421, 2393, 330380, 788036, 755239, 378467, 459694, 835031, 384210, 687312, 673510, 653235, 860401, 723107, 578757, 879082, 745109, 497244, 487970, 816690, 755586, 899917, 911613, 809661, 649784, 295101, 70189, 468463, 559769, 527963, 175114, 836220, 718133, 95812, 702641, 87390, 522880, 172121, 888567, 677759, 849500, 689371, 438210, 386842, 383469, 812275, 613750, 322176, 207781, 747917, 464858, 330113, 809086, 267051, 196324, 240407, 22974, 87495, 67074, 234937, 21020, 892705, 96162, 47324, 274333, 855238, 174142, 266384, 340317, 772068, 237831, 902052, 111088, 127382, 499874, 896921, 189137, 683603, 131560, 688806, 38663, 826500, 745256, 25336, 894191, 590123, 260791, 889428, 828697, 793896, 882520, 558869, 597478, 330935, 40696, 625551, 266136, 517970, 97577, 618801, 42737, 325596, 732300, 874836, 383180, 334105, 703400, 708446, 744876, 678266, 612688, 400256, 904331, 436604, 873005, 912077, 567353, 135725, 402248, 911185, 546305, 77754, 276907, 330640, 577136, 47842, 823290, 473488, 495251, 698658, 735879, 209256, 177810, 458710, 685980, 177331, 585350, 552218, 647337, 275736, 696639, 391340, 555184, 43388, 277846, 628539, 435369, 89636, 279733, 441254, 4091, 523614, 584125, 877722, 780042, 697544, 812081, 387022, 81582, 257895, 626991, 326732, 437502, 749418, 776772, 105591, 96306, 570447, 323776, 677351, 497279, 346308, 415611, 243548, 735057, 61564, 37730, 813738, 153964, 808975, 694976, 358196, 577827, 187226, 524283, 462189, 474176, 597421, 93829, 416368, 716409, 33393, 314124, 756086, 631572, 620965, 340956, 504744, 333714, 312953, 455989, 669163, 794442, 822636, 543846, 167643, 758551, 732919, 354571, 74505, 628973, 380611, 52006, 410032, 126082, 87822, 635420, 47516, 341595, 909266, 109133, 704344, 524872, 831534, 785426, 759120, 724483, 858453, 390443, 89174, 372209, 652682, 891253, 649972, 740528, 677179, 293943, 408551, 578477, 466703, 108484, 241044, 312144, 329149, 848786, 400199, 818271, 687409, 728935, 612712, 789868, 897764, 768079, 847242, 702845, 610500, 151598, 494276, 216216, 27785, 267985, 347685, 54221, 505085, 198980, 255863, 711110, 423715, 658645, 412236, 299232, 504460, 280023, 703889, 624425, 477786, 162645, 811884, 66873, 109009, 191131, 268904, 775792, 352707, 760664, 195681, 375130, 519622, 675736, 753313, 3082, 156907, 731357, 540620, 61111, 599178, 109806, 256912, 564434, 377643, 186091, 720374, 272918, 360822, 433360, 551712, 147841, 646273, 720113, 133096, 352000, 903893, 908116, 13167, 283489, 342002, 691960, 387281, 19410, 55033, 393223, 365052, 87133, 529959, 847289, 446178, 878640, 431702, 850406, 393349, 99745, 229717, 530771, 511376, 76698, 470148, 169863, 839118, 357027, 318126, 604252, 739644, 14155, 456313, 553268, 262990, 449396, 707436, 587378, 393711, 181396, 648859, 399812, 736853, 261900, 501395, 760565, 238548, 121144, 497012, 251692, 710410, 669079, 393604, 662651, 697185, 742481, 155521, 856960, 789554, 830552, 91545, 490174, 421765, 663215, 657665, 627707, 381768, 691379, 160105, 104945, 803363, 816104, 108019, 488981, 40358, 456136, 214578, 572802, 469848, 70163, 2838, 794766, 775306, 530558, 190529, 121565, 175159, 785400, 151525, 70828, 620753, 50823, 455692, 407996, 365705, 641245, 129566, 1209, 397567, 8682, 475103, 203970, 800337, 786804, 823667, 475774, 400135, 799871, 834841, 750426, 802922, 278836, 206933, 398836, 52378, 601631, 378625, 141454, 765253, 400270, 904443, 514917, 553334, 814463, 733013, 49925, 192529, 132922, 594844, 823746, 333227, 141488, 853976, 101851, 415960, 324121, 68534, 10733, 738017, 140105, 172585, 36652, 195105, 63146, 239129, 51206, 840430, 394108, 308337, 886312, 551440, 884099, 208311, 840195, 139380, 897555, 471447, 281293, 906209, 716792, 521084, 852865, 844200, 273806, 619696, 104904, 244452, 5733, 108819, 637305, 756911, 8979, 110954, 155173, 911629, 376824, 661897, 732350, 411396, 636249, 447192, 807025, 170485, 467313, 414564, 457898, 259277, 221747, 809321, 281308, 522227, 280154, 15452, 226465, 342524, 510139, 881174, 330785, 821924, 838023, 42253, 678013, 761858, 890673, 215690, 161641, 774531, 465564, 331485, 441287, 92103, 888838, 126332, 785248, 645208, 190184, 47542, 231748, 6965, 74509, 778036, 405045, 451937, 96019, 319782, 291710, 539984, 778823, 557353, 451620, 674820, 620518, 19946, 642594, 739314, 774613, 855013, 471430, 138301, 853754, 362262, 272181, 850386, 24331, 714308, 563462, 545889, 665535, 63431, 647961, 604348, 269558, 229692, 522839, 83116, 733557, 648857, 819360, 458368, 531021, 376971, 433167, 221213, 516262, 688674, 459232, 695209, 18291, 540675, 442566, 630229, 640608, 872934, 784435, 830969, 155219, 664307, 390899, 584004, 380772, 584667, 416031, 795636, 349504, 140994, 651958, 810970, 608859, 337137, 710634, 656325, 555880, 12351, 401222, 506108, 80849, 148613, 773867, 572514, 565389, 387888, 626109, 844316, 275423, 882095, 686351, 7820, 11671, 652544, 830826, 323593, 551737, 803827, 690552, 359054, 165994, 734639, 466270, 225728, 227674, 504511, 468936, 360449, 4452, 656553, 684720, 369779, 356494, 34371, 239611, 192602, 33673, 378116, 719421, 28320, 232747, 841388, 682602, 173552, 258470, 414603, 653739, 103126, 345, 689315, 659904, 124730, 607962, 407789, 135963, 359905, 844510, 650512, 879828, 282682, 262405, 611297, 294869, 624712, 643945, 71639, 202950, 152815, 356566, 823107, 692233, 440796, 447942, 752635, 368411, 275941, 473705, 134073, 71985, 250753, 189506, 441775, 196000, 490908, 326663, 586895, 550949, 654075, 84718, 650241, 400146, 11821, 62293, 760030, 389771, 219428, 755144, 771674, 787843, 440633, 128739, 818358, 841146, 68948, 475995, 779052, 201485, 541189, 389853, 210586, 577506, 498463, 891550, 6568, 412328, 377031, 757486, 468679, 17981, 180319, 728921, 629893, 146587, 444600, 116431, 261714, 562824, 821198, 194454, 587604, 581198, 385436, 142114, 385303, 795979, 14608, 119184, 701457, 58336, 681367, 738723, 887497, 651755, 558030, 211105, 304512, 350722, 196059, 545215, 78207, 361903, 280262, 844238, 136679, 314786, 409165, 490403, 527511, 551087, 378769, 871410, 342104, 797893, 585916, 447426, 761635, 21958, 690016, 534481, 33095, 430960, 119285, 325063, 715159, 473861, 429227, 176855, 863162, 295651, 801625, 163259, 63982, 130232, 51343, 905468, 509863, 500612, 378005, 11806, 773563, 787132, 639418, 417919, 704528, 361275, 693338, 11274, 152181, 147986, 643310, 14935, 660069, 637296, 301150, 504141, 281068, 700794, 671881, 282304, 414572, 148620, 595568, 648225, 93593, 197208, 135849, 873935, 152508, 811009, 216019, 734244, 887781, 332965, 461239, 789054, 768832, 764249, 887078, 542541, 519659, 454789, 227904, 203832, 200623, 316716, 227853, 376548, 377960, 804544, 325921, 426928, 101507, 683592, 380023, 619312, 27298, 775664, 40605, 494479, 367438, 2924, 680624, 577298, 28349, 908620, 175944, 421716, 453572, 443063, 472135, 501311, 263352, 94825, 700807, 844323, 520925, 66894, 391617, 372486, 819163, 781586, 462826, 330686, 562078, 26983, 590115, 556476, 273116, 18896, 867060, 824425, 856191, 560270, 511723, 332571, 242540, 425729, 345266, 516694, 494655, 386409, 735460, 655302, 151827, 648522, 817751, 651241, 569753, 785752, 22635, 217454, 655882, 880735, 187496, 272254, 305324, 179684, 487209, 259502, 45314, 38336, 662926, 24513, 676809, 455031, 347947, 295849, 105675, 599976, 16071, 84380, 375003, 125272, 3933, 396590, 765598, 552904, 599614, 844277, 629460, 894952, 729498, 50149, 278843, 119618, 115474, 86345, 292374, 850393, 301079, 719564, 120669, 737958, 355201, 898935, 889709, 172698, 817161, 273264, 569821, 183239, 81178, 334218, 543348, 812029, 46074, 76506, 898422, 374116, 202999, 448230, 669828, 451031, 93568, 492209, 156743, 884392, 908330, 475599, 17119, 182034, 566981, 425812, 636886, 707991, 900182, 343566, 178517, 720637, 703516, 481921, 426288, 842825, 241184, 103373, 908, 123286, 894630, 11211, 169068, 327193, 657385, 910056, 34780, 678263, 731763, 861141, 614399, 312367, 545733, 758780, 80880, 150752, 717056, 348929, 888457, 132310, 164701, 588578, 357741, 383284, 83734, 426216, 490337, 652146, 853569, 236372, 212762, 91681, 865675, 105162, 157438, 349042, 354984, 464580, 157236, 831144, 785305, 15970, 719390, 698724, 411904, 729961, 801973, 386822, 786870, 515644, 757772, 523989, 453007, 571272, 511666, 387925, 148175, 375536, 523928, 162104, 265563, 417977, 779039, 421010, 306876, 379686, 14945, 265224, 385276, 407125, 188890, 108580, 415246, 351561, 135072, 520380, 196947, 751218, 43892, 31516, 810538, 79600, 126977, 568101, 592054, 909642, 162352, 571926, 72297, 819185, 240499, 748802, 413779, 60999, 285296, 588185, 235348, 20690, 880982, 533007, 270893, 243434, 298479, 214892, 872344, 326654, 260743, 195688, 502823, 760208, 197603, 812824, 147439, 845414, 509659, 438276, 379856, 553223, 744113, 544636, 888497, 824493, 888632, 642988, 131018, 706665, 557655, 776755, 296322, 180371, 416813, 172546, 630933, 282391, 442534, 898493, 736818, 248200, 533703, 257947, 705273, 776175, 56053, 826770, 216158, 752031, 444007, 740001, 728579, 76150, 490168, 60635, 605295, 93940, 882918, 865072, 155555, 431505, 150613, 277643, 134732, 107991, 67155, 442657, 544877, 332491, 296041, 32711, 648569, 80185, 186215, 741113, 589816, 547998, 309152, 567956, 785010, 378397, 230596, 608619, 173257, 757843, 177006, 698945, 554270, 255810, 502272, 565661, 756095, 368779, 566443, 806423, 346982, 311834, 804496, 253509, 101971, 537906, 324745, 870073, 93762, 708615, 53798, 10486, 590297, 663790, 395723, 683201, 538183, 244253, 394686, 593087, 666559, 330011, 910103, 667773, 609220, 126026, 663494, 489100, 716908, 882330, 844032, 567676, 102891, 858967, 25963, 54699, 348853, 188277, 802725, 374564, 580609, 378210, 50052, 552516, 141594, 100086, 720408, 746153, 841716, 793149, 519597, 317044, 360818, 613160, 45014, 737613, 34692, 617373, 609230, 447810, 141593, 898496, 485390, 318743, 353195, 824907, 912203, 539477, 493901, 742084, 757840, 753715, 662059, 375129, 345064, 41658, 557153, 138592, 845139, 886317, 332251, 272109, 5281, 12020, 415483, 582933, 462146, 685887, 867557, 281161, 191124, 53929, 51403, 831007, 748917, 588323, 794120, 333955, 803211, 376056, 786336, 828957, 468392, 142194, 694087, 820658, 276062, 778488, 616745, 291990, 79810, 351624, 480792, 782524, 714209, 212082, 244353, 87016, 769955, 429933, 729525, 310886, 883858, 511025, 899489, 34464, 46899, 416921, 664569, 411697, 117628, 169685, 117528, 198885, 621296, 721261, 749614, 252862, 109041, 492912, 149102, 616666, 429009, 523326, 797300, 344685, 634405, 150227, 410895, 672937, 660252, 229988, 688307, 732973, 688867, 409804, 56341, 97284, 230187, 866456, 537361, 7161, 642606, 618363, 727069, 126342, 36683, 481281, 805112, 441628, 428333, 544963, 397176, 720242, 859323, 279992, 31346, 345910, 515997, 78794, 660537, 29522, 859892, 723457, 394599, 478050, 822220, 682598, 811949, 278743, 518031, 241194, 871564, 504078, 864586, 581219, 489765, 591251, 885501, 26722, 427592, 46664, 823529, 683096, 702502, 749596, 183725, 493881, 451966, 665255, 869085, 556100, 710379, 105041, 31797, 522987, 56768, 476940, 699756, 212679, 881486, 560660, 855010, 682899, 275741, 651574, 488685, 123824, 585107, 639311, 656627, 327329, 661478, 703000, 622723, 44225, 367531, 343751, 553657, 559745, 706027, 190987, 303569, 124553, 704816, 14213, 636298, 8789, 202511, 901989, 70729, 532896, 290264, 329674, 732733, 171614, 266536, 748324, 901804, 132459, 738, 118638, 146708, 459170, 204039, 357010, 711602, 67598, 58501, 506357, 75702, 407587, 541165, 863271, 88676, 403894, 616767, 637172, 716126, 779818, 750091, 895424, 129236, 836681, 495338, 816055, 656236, 106110, 57421, 613660, 199883, 402040, 55770, 402111, 49824, 348849, 443684, 187838, 870586, 555473, 54035, 432553, 177746, 434632, 310237, 251314, 735298, 740484, 905851, 244070, 112063, 665731, 562211, 527022, 644006, 478633, 668866, 612457, 494923, 176571, 544108, 454364, 222928, 671162, 63934, 42528, 161785, 93379, 99226, 867576, 328170, 285084, 655657, 67328, 906988, 101399, 88283, 2026, 218427, 407667, 223382, 848534, 307140, 731238, 207885, 383608, 176398, 519272, 857921, 466984, 905655, 483477, 318401, 874349, 374170, 18927, 183620, 114533, 118189, 644220, 501490, 127576, 199062, 457745, 506758, 393714, 187217, 321472, 385608, 533292, 613064, 704010, 174514, 192783, 497247, 442991, 910286, 90200, 541441, 21563, 379328, 517754, 499501, 48076, 499921, 203199, 119030, 65342, 178535, 72351, 187154, 486732, 399954, 869205, 821918, 164309, 157309, 539634, 250157, 60965, 338323, 251205, 914290, 93633, 389194, 485271, 305684, 639929, 474447, 278559, 251953, 211688, 66928, 287895, 753544, 727331, 60915, 193302, 344888, 818734, 110487, 427276, 853897, 506860, 541600, 738933, 353281, 217075, 222036, 276113, 230171, 607876, 495376, 507977, 236979, 10185, 354938, 538024, 248403, 553213, 488440, 510079, 468567, 763697, 587998, 856078, 867311, 820798, 876043, 182949, 269125, 863877, 728874, 304987, 706254, 21459, 817193, 664922, 414187, 259379, 744402, 669725, 729523, 617741, 185433, 679707, 340482, 304272, 755815, 580580, 727674, 604712, 764844, 564170, 536757, 343580, 425912, 562076, 561125, 353567, 227869, 261386, 911150, 79193, 889800, 669272, 733030, 247441, 765314, 313127, 536558, 429236, 399584, 753092, 319656, 803894, 184274, 129977, 168949, 42634, 513095, 860936, 441663, 840962, 784760, 72174, 685610, 742007, 204119, 731764, 549769, 763479, 501749, 735683, 694205, 527049, 763156, 210181, 846785, 448017, 841175, 367171, 223710, 797392, 858074, 32112, 322342, 257178, 375790, 84025, 784098, 872315, 243424, 739370, 189373, 769472, 178630, 502690, 780844, 341278, 625260, 421222, 291781, 158116, 406530, 5630, 841035, 128693, 475075, 373545, 633782, 63100, 69321, 41074, 676407, 692424, 728273, 193410, 294076, 737792, 563149, 402829, 99303, 60264, 748974, 844791, 775865, 565594, 240805, 401132, 271985, 578955, 694714, 43675, 7988, 447354, 656406, 506779, 467217, 762261, 58596, 442622, 677659, 473064, 266817, 449567, 609925, 275103, 478875, 675767, 727519, 200850, 274172, 679323, 53050, 780260, 526860, 902255, 702667, 201290, 369698, 328507, 833823, 125534, 680085, 31443, 458756, 598958, 857146, 909746, 462202, 710060, 404824, 166264, 95967, 189063, 399439, 150694, 880893, 137477, 629575, 216164, 867722, 734580, 913105, 472785, 622160, 229585, 801844, 631283, 144868, 570527, 72697, 458895, 758482, 504283, 817028, 784956, 420761, 902441, 446576, 211809, 650579, 573172, 695808, 47451, 850954, 109010, 56995, 601902, 118957, 241722, 246959, 108931, 2102, 779246, 360421, 419437, 789000, 4305, 254105, 505760, 591649, 816137, 321899, 420351, 186206, 667259, 532337, 308349, 311186, 173353, 1578, 76129, 494428, 179540, 135384, 583909, 648886, 119487, 18580, 282506, 136712, 257841, 329370, 753902, 793394, 673901, 268259, 741734, 372773, 563888, 790206, 157356, 791115, 851178, 713279, 114121, 409987, 320492, 813562, 272093, 887987, 402724, 176599, 532691, 334307, 57755, 704475, 619861, 627919, 577343, 421786, 800672, 248669, 297073, 405514, 301546, 479997, 534981, 704922, 264340, 82459, 841945, 555019, 60511, 495640, 569949, 907465, 442863, 59524, 794805, 205214, 266182, 788407, 221088, 736957, 605957, 43580, 268420, 201905, 663985, 777218, 274076, 269838, 203909, 162048, 11101, 449065, 216659, 560826, 612977, 569020, 912688, 781925, 93200, 119246, 467901, 245656, 646447, 746628, 778935, 882977, 57062, 551872, 403376, 300644, 440615, 133977, 552422, 347167, 894350, 238522, 361383, 67540, 445048, 90528, 863336, 543210, 567324, 115834, 823070, 758002, 842639, 248070, 650910, 615008, 275281, 880005, 576180, 244284, 706924, 90834, 386534, 637322, 23297, 310176, 874436, 5044, 599161, 162393, 801820, 167717, 131071, 336771, 34751, 227162, 384454, 784117, 660199, 585950, 105670, 683671, 805611, 371388, 2490, 910935, 666105, 830438, 725323, 713078, 903086, 505509, 459501, 857252, 542249, 833017, 166654, 689292, 855976, 518718, 25039, 488657, 400223, 709269, 48321, 59573, 371379, 255689, 588307, 650400, 412380, 11487, 826995, 100272, 33562, 160301, 374268, 553794, 747084, 21235, 158215, 792448, 701844, 201396, 213850, 368699, 585818, 525126, 324441, 687598, 311062, 197328, 845455, 787411, 449542, 327115, 403390, 537678, 473394, 868236, 54854, 228910, 208905, 716391, 643536, 808884, 639010, 733311, 157850, 536752, 161762, 688958, 40911, 600892, 448077, 166438, 400824, 873134, 250914, 315155, 27157, 609408, 100094, 284978, 783264, 446828, 286222, 214068, 227218, 509384, 256846, 273550, 821622, 661091, 159501, 50723, 223081, 32570, 328841, 214755, 455980, 53900, 111634, 275996, 727925, 767697, 115175, 90480, 322631, 895144, 599978, 885023, 21130, 874693, 522440, 388546, 172219, 65651, 259649, 803806, 615475, 296579, 410127, 652597, 523197, 845558, 276238, 778356, 70703, 19090, 368432, 878422, 335376, 485333, 465307, 665758, 888492, 298613, 229177, 275836, 876065, 847317, 669564, 212691, 219825, 277319, 777343, 857661, 907264, 852768, 684867, 743038, 580717, 230645, 236312, 814736, 8186, 511463, 479580, 381721, 573063, 194693, 376914, 135379, 534352, 822853, 550955, 167797, 241309, 451968, 610527, 782943, 72150, 212807, 263284, 44284, 699828, 913266, 21290, 194899, 185721, 853818, 461596, 614406, 753948, 468889, 437972, 325776, 591778, 99296, 392566, 795972, 409707, 165440, 123218, 584258, 149380, 741380, 112423, 875585, 501617, 259477, 24143, 282892, 279066, 334237, 319774, 270654, 142196, 101237, 580551, 14560, 470070, 714604, 534028, 21002, 251318, 427155, 844080, 688698, 821361, 557955, 52449, 92132, 562679, 581147, 257939, 554965, 605862, 49709, 751895, 6885, 582095, 734076, 471947, 736388, 867575, 216624, 714274, 327832, 661403, 78392, 157627, 698607, 473981, 559255, 275489, 578236, 831443, 58308, 623722, 144596, 292634, 31094, 146973, 405464, 481820, 376128, 26152, 302230, 711330, 298611, 13473, 714497, 369372, 67163, 72451, 340593, 453443, 249154, 671082, 105203, 536964, 349687, 744766, 472506, 100363, 858282, 70906, 431063, 160680, 634288, 723772, 703127, 474373, 912475, 192075, 539433, 392173, 383789, 590635, 109097, 148312, 46846, 493270, 155809, 138343, 768194, 281284, 741510, 158743, 90486, 686478, 503640, 339259, 381178, 88267, 32380, 398959, 532308, 867705, 306113, 10660, 908677, 110131, 349710, 548962, 457570, 221340, 870273, 49524, 58791, 452170, 84184, 401763, 440940, 572630, 465462, 485362, 193237, 702407, 844429, 168971, 890201, 879079, 534828, 756028, 109242, 527412, 342540, 639824, 456652, 115491, 83527, 1747, 171692, 125533, 67127, 80644, 208046, 448330, 116372, 702732, 643015, 410, 159415, 340211, 379879, 37933, 80276, 674272, 202420, 319873, 855007, 714194, 204678, 173529, 313719, 298703, 265156, 852518, 477021, 70652, 416173, 675418, 238846, 54874, 319227, 187417, 189336, 248775, 142820, 209579, 772033, 145840, 945, 517670, 616601, 706850, 125921, 468996, 83222, 99149, 235318, 773495, 594953, 634783, 452854, 441226, 613921, 124520, 124759, 162062, 177137, 263681, 81026, 597661, 848432, 634698, 654202, 125949, 793887, 503796, 869480, 699078, 272569, 238653, 666352, 171232, 427359, 388772, 539018, 466632, 646852, 842075, 144106, 92670, 174121, 816030, 751115, 825005, 581991, 116915, 523265, 103902, 38388, 369459, 176688, 403381, 74619, 337338, 796185, 351537, 163868, 36232, 514608, 636082, 470461, 289188, 843858, 447424, 535220, 553398, 751693, 530899, 890199, 21988, 272208, 407552, 613310, 280698, 650671, 590440, 354951, 503532, 564677, 588027, 598045, 527940, 897360, 214469, 456037, 184417, 386226, 64085, 578092, 651163, 459077, 306655, 237583, 15590, 254861, 729452, 130929, 493156, 657407, 700534, 517993, 402640, 613961, 437936, 610221, 236435, 210671, 888420, 116691, 490635, 250105, 272407, 684949, 591471, 51565, 816760, 110773, 442762, 156447, 68601, 167951, 558600, 111540, 888742, 807351, 14194, 66036, 623038, 527783, 423679, 693363, 363333, 515820, 96058, 46210, 346656, 704471, 176384, 465663, 25391, 426177, 837148, 278107, 186110, 128051, 233906, 124859, 90372, 791742, 834429, 379370, 786568, 411407, 78781, 882428, 397539, 302477, 459061, 143573, 763483, 340991, 752604, 903581, 207327, 676367, 247106, 698567, 694442, 34233, 301731, 664478, 407811, 846671, 54511, 902511, 909922, 681905, 871190, 758198, 210100, 4167, 706277, 604961, 16434, 288398, 13136, 907598, 314048, 672428, 169915, 489874, 430383, 351373, 160572, 20740, 417620, 508454, 543955, 42225, 412794, 117268, 571887, 103554, 390618, 907038, 768818, 290887, 850224, 783540, 530556, 324757, 740060, 571148, 424721, 249275, 831714, 655714, 596028, 253416, 731585, 368401, 258349, 569484, 650692, 120584, 246451, 45585, 619225, 333114, 638254, 413604, 312102, 446198, 490847, 474999, 171853, 613122, 444691, 100182, 473345, 604839, 35803, 873011, 330330, 498359, 885137, 279699, 530325, 3172, 130636, 263263, 862093, 636758, 378999, 611573, 149717, 142956, 881255, 524122, 622679, 16957, 755090, 824330, 348447, 741540, 322436, 289940, 460706, 892104, 70338, 424262, 471072, 882350, 708502, 32762, 248243, 72051, 137519, 717990, 201492, 378998, 582897, 260450, 839117, 397968, 171566, 555470, 639964, 92057, 241576, 274213, 300073, 910881, 904618, 357996, 26175, 360954, 523933, 273663, 81008, 646801, 479820, 734149, 75039, 442817, 590901, 317116, 6247, 654799, 272481, 777703, 102716, 148191, 473779, 275184, 109313, 857831, 906975, 592173, 332615, 875171, 522263, 93963, 812848, 770390, 251201, 150549, 662737, 180525, 218936, 696853, 165026, 632724, 207757, 327261, 271082, 7057, 460608, 692004, 839491, 464876, 240716, 593653, 434154, 114951, 196992, 620919, 385237, 722227, 36898, 770755, 561798, 141477, 742411, 826854, 446384, 246154, 301665, 262051, 16587, 650736, 41789, 296865, 253772, 570512, 680561, 390595, 848245, 702115, 626984, 807241, 428676, 392282, 395404, 664832, 580234, 471133, 75936, 663761, 896321, 162076, 878657, 757559, 2960, 174630, 109717, 712445, 169561, 725678, 578556, 246055, 375351, 457195, 784015, 161715, 905002, 753369, 206935, 874702, 7797, 807676, 793517, 168645, 538340, 302689, 61183, 326053, 64807, 758495, 857311, 310569, 749698, 576085, 87485, 745069, 610080, 156580, 58559, 333439, 794477, 618794, 24721, 762295, 704005, 68426, 544844, 201428, 373234, 283175, 109446, 770656, 347388, 330549, 228620, 6149, 669162, 26251, 113711, 816798, 638002, 150466, 832758, 116436, 455121, 255842, 714911, 217141, 411666, 425640, 139751, 831869, 721554, 600237, 867489, 226018, 360970, 405845, 331086, 729245, 14827, 254283, 694454, 122344, 659114, 277165, 730198, 512389, 172879, 159654, 461203, 883469, 34462, 732416, 350260, 831255, 846258, 553038, 279168, 909002, 20735, 20742, 886483, 628991, 393147, 430434, 70851, 368350, 513633, 761286, 52288, 457442, 410357, 492479, 499432, 771585, 581195, 511588, 16735, 480426, 320924, 118650, 268614, 347880, 332913, 66656, 845766, 851489, 852301, 587526, 910404, 712986, 58073, 689299, 643598, 873073, 575390, 900319, 349202, 516714, 857840, 686331, 195594, 243507, 207028, 687338, 156780, 574871, 329600, 91817, 228085, 35783, 355581, 786006, 59098, 222895, 751105, 725762, 52111, 607394, 52403, 727223, 617414, 498378, 662791, 758828, 408100, 782039, 460643, 498237, 267274, 360614, 433768, 444246, 52933, 243837, 395119, 491152, 54966, 305754, 55203, 588534, 890861, 408533, 230138, 99613, 783901, 674757, 345045, 538256, 455336, 791152, 27119, 693920, 74368, 802447, 180611, 830131, 28688, 874875, 70125, 216644, 734044, 643685, 866620, 231019, 583658, 713281, 872000, 738860, 3802, 689228, 26116, 579533, 730068, 18365, 690608, 324627, 806294, 372200, 536808, 668348, 456144, 692657, 37101, 754657, 887499, 867914, 707397, 85688, 198115, 268877, 746965, 773157, 222300, 653258, 516731, 688152, 692195, 219520, 722555, 444568, 896772, 108509, 787836, 192759, 719137, 813736, 731893, 725222, 266848, 227647, 524086, 355195, 858529, 128981, 79208, 417745, 220286, 305726, 842525, 481492, 621660, 371711, 874401, 612921, 130304, 132534, 500626, 118606, 206635, 15288, 805305, 418896, 321586, 58749, 693439, 509601, 10343, 508723, 508227, 356780, 854259, 197538, 57433, 844253, 109201, 393431, 81637, 571226, 353230, 159631, 393146, 614453, 814404, 610233, 73774, 594681, 889788, 480670, 766524, 185376, 380574, 252498, 607888, 604861, 897666, 832124, 685362, 51923, 194409, 473845, 8493, 115062, 402924, 675252, 374358, 287813, 17698, 632567, 875403, 334470, 101285, 743305, 465582, 26603, 782794, 459518, 866249, 701920, 422148, 213765, 340088, 645113, 820296, 56863, 371953, 634654, 155499, 56526, 265174, 787249, 745310, 850342, 257449, 326016, 41244, 403886, 789476, 688740, 698855, 157729, 476701, 465487, 438817, 344833, 890718, 202975, 188290, 226050, 766660, 7315, 870458, 519077, 477895, 799666, 473975, 722261, 207286, 802913, 177817, 7722, 391406, 56154, 135621, 133543, 12908, 763621, 558184, 524477, 52585, 285040, 79385, 104994, 397109, 747817, 339134, 262341, 586574, 335016, 225138, 908960, 906752, 265604, 897736, 731677, 57227, 78127, 393870, 228347, 892057, 510066, 829246, 605882, 729630, 100163, 799677, 199945, 719648, 492546, 409039, 641034, 272637, 622025, 267720, 690592, 618420, 200422, 608497, 272213, 322443, 464514, 564777, 21837, 376669, 150376, 821425, 725874, 703189, 533406, 776886, 478031, 198021, 555878, 565140, 269108, 646267, 420311, 910660, 729287, 879935, 249450, 612616, 552817, 711226, 114794, 850037, 644116, 233671, 423741, 542951, 251419, 125331, 290496, 24618, 506563, 326093, 336759, 876824, 464563, 496513, 504802, 335964, 844263, 293964, 392064, 316361, 365297, 701563, 766342, 821494, 119357, 341169, 406666, 748950, 419673, 230631, 396763, 660621, 18370, 301479, 227261, 160973, 6164, 559874, 211096, 74901, 441171, 128777, 80944, 847226, 771332, 414054, 310927, 844511, 585894, 551673, 338539, 727750, 408732, 297486, 474678, 84799, 589481, 478824, 647136, 749579, 749494, 754934, 238424, 700188, 413587, 613012, 524930, 492330, 450368, 547051, 489668, 470498, 774723, 263274, 564028, 71448, 358468, 613047, 571814, 128314, 1830, 419406, 900892, 652738, 144550, 126865, 372756, 205961, 666592, 538676, 685424, 217303, 545894, 687669, 424161, 893389, 829275, 779812, 688126, 473051, 116033, 679984, 446911, 527404, 573416, 509992, 483915, 707206, 569772, 432083, 314549, 663877, 445617, 247283, 718906, 377922, 662619, 592834, 810433, 759366, 607537, 534847, 343292, 308177, 426562, 365352, 307582, 281335, 316891, 237410, 426968, 255246, 772842, 353620, 617476, 357219, 712634, 215355, 521, 195321, 757805, 50629, 442562, 98623, 728401, 427554, 556996, 658735, 469877, 819682, 410128, 903683, 418401, 652006, 94859, 65029, 640617, 302694, 105397, 344080, 61186, 612558, 558009, 252058, 358642, 356790, 85508, 889211, 901831, 818676, 732360, 86835, 379557, 325182, 76939, 464717, 702525, 54482, 887087, 503526, 429464, 852817, 70430, 104368, 266450, 596948, 532097, 435237, 323063, 594499, 34393, 194107, 604619, 662207, 536479, 615616, 280, 89674, 891855, 491287, 124195, 277284, 903869, 177607, 351403, 490266, 305031, 756784, 248795, 225850, 720255, 798905, 861169, 754964, 638064, 386942, 158131, 138520, 610952, 375325, 641855, 208436, 537391, 789096, 597802, 867713, 232068, 846555, 213248, 821753, 727658, 693868, 494042, 909699, 324134, 657730, 342594, 721666, 530799, 139674, 889896, 452344, 439550, 92873, 337003, 317931, 883244, 855961, 861539, 753981, 899820, 63464, 10716, 116066, 796068, 545885, 587870, 167032, 478304, 267395, 346472, 273013, 154312, 270514, 893814, 519033, 857343, 297346, 859531, 615825, 773147, 749955, 344363, 667611, 799193, 338245, 510519, 889153, 113393, 196893, 907807, 272198, 508731, 575744, 493928, 339946, 48655, 360982, 31727, 342361, 148993, 647209, 309489, 225960, 449083, 77709, 22676, 179106, 332514, 326021, 637784, 469594, 539427, 73698, 193058, 506157, 664390, 176673, 226208, 752601, 484161, 844382, 126235, 594037, 709583, 474654, 598636, 451929, 724188, 300124, 746804, 664751, 364317, 475687, 366502, 250218, 642516, 828835, 541686, 162831, 666255, 455804, 176813, 733430, 136953, 810005, 295180, 670974, 393017, 248144, 313543, 105021, 343443, 708422, 135838, 65004, 615550, 425928, 668018, 245315, 326062, 564072, 435149, 385690, 746, 710638, 840772, 840093, 806431, 441026, 762932, 72358, 90459, 288577, 912679, 890699, 397998, 178602, 626644, 403811, 459755, 58301, 281740, 549287, 389444, 375295, 11121, 812689, 341325, 599332, 617808, 72388, 377910, 776670, 567914, 524151, 721726, 65741, 401598, 892783, 79344, 28762, 6991, 537509, 715440, 683945, 175903, 737702, 669576, 149637, 908527, 776604, 733952, 907127, 546767, 292571, 446399, 466460, 907668, 401630, 408444, 449939, 731367, 555679, 539293, 154431, 446787, 592784, 21854, 877484, 6227, 684523, 737443, 887651, 54266, 513, 500630, 425120, 93857, 239480, 257249, 351981, 436209, 878756, 902505, 749416, 132173, 526637, 63511, 57657, 733516, 312178, 22353, 404405, 282315, 57984, 691821, 287991, 178578, 376909, 21314, 742696, 798565, 397188, 751056, 772666, 812202, 413531, 217955, 183716, 153129, 893160, 408320, 93247, 43118, 24329, 1868, 102565, 713412, 327603, 494517, 600031, 855638, 748504, 262886, 864062, 261153, 349411, 471040, 165951, 408457, 363934, 292774, 806731, 759684, 83231, 24, 666736, 606672, 491193, 250274, 357561, 708142, 891279, 362487, 188729, 261465, 227141, 580727, 713914, 859145, 170298, 35092, 257684, 65916, 165963, 390623, 503252, 201116, 618194, 208825, 686821, 577359, 32668, 656736, 165587, 636167, 874283, 317224, 751739, 360668, 683861, 174479, 486830, 688662, 272088, 522166, 711276, 314304, 911199, 801217, 499059, 189770, 192327, 499550, 906524, 860730, 176710, 310641, 376464, 251785, 890434, 643899, 431199, 202758, 315512, 311039, 590561, 268660, 334590, 571138, 67159, 754401, 661329, 901518, 137185, 329637, 59052, 684588, 106899, 101529, 707970, 258132, 719739, 276309, 885389, 384917, 191853, 279484, 588516, 447657, 516785, 867184, 255174, 681793, 786680, 269961, 913978, 808309, 383444, 734985, 200010, 272140, 502105, 533001, 696171, 593931, 410087, 279069, 353928, 291141, 133941, 72465, 786747, 565943, 788173, 343297, 394671, 301348, 579525, 88108, 409700, 788220, 679492, 404961, 231389, 468350, 621977, 362002, 733272, 556481, 502604, 509446, 472376, 560530, 442970, 7774, 616400, 686725, 753247, 40385, 278651, 585051, 113576, 125974, 841051, 148090, 691501, 889357, 252619, 219445, 838185, 877754, 344432, 169233, 686924, 283589, 552402, 160295, 714677, 278833, 164544, 644339, 29198, 455807, 323714, 597517, 664138, 775783, 96539, 869095, 337167, 498778, 751510, 64352, 590787, 180542, 781096, 656054, 441759, 286367, 368894, 564252, 259266, 417899, 335817, 5456, 651090, 514668, 479227, 165583, 606411, 443419, 815353, 273223, 500387, 290588, 891295, 607850, 171949, 583195, 711962, 470083, 46772, 737498, 302624, 529844, 301257, 66199, 484782, 395792, 758222, 541937, 409538, 48963, 378704, 705208, 697890, 322487, 144588, 361784, 351566, 181235, 314954, 779125, 736545, 425079, 613329, 664581, 82334, 900169, 273011, 884, 831601, 750408, 618559, 19407, 713160, 907641, 240073, 12282, 302109, 337140, 394582, 386857, 119789, 395155, 109891, 411915, 848568, 849455, 770030, 512896, 625085, 704101, 329022, 769404, 220510, 605846, 500086, 347387, 441016, 68334, 702054, 424736, 727922, 78375, 457648, 852670, 388385, 550679, 764517, 868032, 822941, 505474, 806867, 352152, 408348, 297724, 691667, 689926, 678153, 864889, 640405, 753625, 802101, 567044, 670759, 52985, 793465, 366842, 208319, 50438, 441107, 787261, 387445, 686348, 41231, 316233, 80009, 834361, 737753, 810350, 2827, 55708, 466610, 514693, 262156, 222923, 495579, 296274, 431714, 254350, 510769, 744191, 613244, 21741, 463425, 586820, 75817, 91259, 642509, 894845, 239830, 503100, 824905, 292228, 337451, 796916, 768805, 480418, 215554, 260616, 513031, 632983, 329303, 822007, 66291, 811904, 293889, 835271, 902854, 27827, 226666, 408823, 380799, 356648, 103832, 245957, 510932, 787848, 770847, 166339, 560335, 639126, 858720, 50682, 436686, 832120, 151987, 79691, 510402, 719915, 595379, 550355, 426155, 285866, 338146, 577814, 630735, 57141, 719861, 377535, 293433, 833672, 736265, 906635, 651819, 880984, 691609, 49850, 654042, 172312, 402145, 851895, 732690, 591364, 660164, 613992, 331069, 52187, 717690, 247412, 299069, 784834, 901713, 593731, 248651, 152349, 281147, 539763, 766624, 63862, 284235, 894140, 244862, 138836, 467234, 702909, 799907, 792663, 240998, 211969, 180812, 564370, 750971, 382580, 218096, 311364, 308036, 157183, 104884, 342822, 168367, 487356, 48347, 76405, 113387, 154748, 455161, 251815, 81635, 195978, 418416, 425694, 633227, 723127, 225210, 549074, 476115, 165392, 18937, 700302, 704238, 560672, 766292, 546359, 444998, 289127, 906783, 406492, 405665, 547780, 168112, 544211, 886047, 842199, 869866, 621720, 212252, 771995, 408820, 733905, 601408, 694519, 158806, 299698, 104758, 744078, 293190, 682648, 614075, 804039, 678535, 464176, 240581, 911324, 17695, 789739, 894623, 907418, 785537, 385261, 613192, 78909, 559777, 284166, 96325, 868860, 733319, 157099, 133611, 479676, 464278, 843037, 757126, 186147, 570274, 429192, 99328, 820999, 455424, 812855, 154486, 743965, 854595, 402206, 241240, 305872, 428050, 636539, 68380, 428966, 731189, 733223, 427324, 472623, 504059, 515771, 513914, 29395, 733249, 444184, 171304, 801947, 910728, 181472, 206720, 40359, 103802, 803628, 397520, 637108, 901084, 833552, 304320, 88276, 570652, 22252, 132428, 457629, 186235, 509762, 177610, 571510, 861228, 793952, 777523, 619435, 173959, 725201, 865205, 737529, 214711, 792021, 425521, 902452, 469423, 660818, 776312, 121238, 536359, 887085, 190611, 712240, 736835, 861295, 498072, 67435, 723533, 586103, 285422, 60364, 332714, 143142, 613776, 463417, 846734, 174419, 819734, 634191, 547399, 221158, 853296, 440237, 371452, 702591, 886204, 855363, 140082, 558194, 844129, 537214, 683379, 713704, 655288, 313051, 210524, 119359, 271711, 727671, 688667, 489786, 498305, 910925, 70845, 573839, 211453, 408087, 200317, 348762, 391247, 681595, 665656, 256201, 688015, 92029, 383721, 846756, 502337, 695081, 152492, 427973, 799075, 307712, 333446, 153534, 170798, 840410, 250437, 347276, 863994, 468822, 37682, 723461, 103411, 532971, 157932, 543261, 517408, 225459, 725872, 782, 706830, 576550, 802119, 246567, 188999, 399603, 212687, 714150, 668283, 551364, 626957, 71671, 500000, 879911, 69428, 910382, 857642, 11133, 180768, 243101, 375497, 639240, 300018, 559278, 341726, 497042, 685504, 504834, 40139, 547979, 189800, 232226, 352937, 218609, 639897, 574975, 181877, 212781, 380009, 310793, 567865, 104983, 291816, 9495, 764419, 661234, 250870, 828307, 62574, 376431, 275298, 732503, 482242, 151737, 91580, 913011, 223258, 832894, 843669, 702034, 827384, 680166, 680720, 245481, 907579, 228146, 217164, 579346, 667127, 66863, 621690, 448503, 158500, 535932, 108967, 556561, 680267, 470378, 796086, 219776, 36385, 379191, 7927, 248673, 407941, 697870, 263258, 836432, 597529, 128854, 885350, 535420, 560071, 556380, 587546, 796126, 328800, 802086, 215774, 414311, 868594, 713, 864482, 66237, 726558, 371262, 297683, 700576, 904734, 706320, 598551, 622217, 529438, 392027, 368528, 650479, 405167, 56515, 188240, 478292, 789779, 525268, 777583, 201381, 703953, 65426, 98879, 526149, 363576, 713491, 695667, 462363, 678119, 644410, 695173, 354326, 904875, 171220, 30826, 709735, 645846, 448923, 267093, 640547, 50744, 738173, 820824, 654655, 556781, 298195, 711621, 744101, 382301, 36061, 884216, 585474, 823338, 875551, 522897, 249846, 539149, 535865, 760227, 510003, 238111, 861120, 873453, 887005, 897873, 705947, 909380, 233475, 531187, 202039, 61420, 795676, 151701, 906540, 387108, 176734, 417834, 504879, 626258, 217977, 629316, 625764, 551979, 299842, 664791, 767427, 485739, 286534, 301452, 675200, 466838, 875337, 752344, 578509, 610007, 407788, 530445, 743636, 514433, 504192, 183257, 737389, 249455, 132889, 234786, 389714, 355262, 589439, 430271, 213876, 526030, 264895, 310253, 335857, 800589, 907842, 509551, 194576, 849707, 477081, 96842, 414530, 239046, 358413, 5570, 593512, 411893, 493720, 503863, 858098, 582257, 823433, 279282, 656320, 151301, 114730, 663130, 445616, 273724, 376588, 600618, 283363, 437684, 273216, 684513, 742758, 497405, 579511, 326989, 190620, 738934, 400897, 547955, 230225, 866447, 459449, 772074, 503958, 759262, 109354, 132243, 800807, 113148, 794098, 409100, 623568, 386411, 609157, 731244, 31306, 213674, 750919, 88185, 910134, 378633, 647542, 718376, 331363, 56472, 250711, 795465, 59618, 791966, 779120, 595903, 337261, 832742, 635269, 182990, 402593, 158221, 713136, 25061, 884950, 340711, 642587, 433522, 779218, 247209, 743372, 624642, 388521, 208565, 722163, 84108, 741369, 191696, 614504, 458550, 846499, 723581, 554581, 475824, 611936, 703783, 852187, 457559, 65229, 558232, 891628, 242578, 38506, 580033, 4185, 649731, 499573, 465823, 472358, 214540, 328634, 47658, 560258, 119946, 14872, 489037, 357866, 103054, 674019, 461833, 39376, 819314, 224588, 553302, 441744, 503691, 680151, 530469, 60124, 202868, 663721, 90641, 62511, 252693, 653913, 15889, 684894, 900022, 635834, 351499, 57572, 109270, 424687, 576306, 891659, 233333, 365684, 9221, 503142, 108945, 644017, 74448, 284847, 807184, 272463, 881686, 401873, 632672, 633095, 793038, 885603, 85641, 433333, 718305, 677622, 407664, 465637, 558619, 605312, 439791, 863331, 242388, 160403, 313529, 676316, 852677, 185878, 29631, 895861, 704428, 75036, 511755, 299966, 737917, 324572, 825299, 400723, 772214, 685226, 533729, 434175, 547020, 229251, 5631, 230104, 106606, 487444, 483863, 864998, 349486, 553801, 328739, 767901, 113437, 330895, 52770, 759527, 734909, 824423, 13966, 107372, 565659, 792925, 902659, 634049, 669263, 249588, 586963, 638162, 482717, 580955, 760380, 354788, 322594, 343444, 649854, 129325, 546436, 35535, 537782, 561301, 370271, 147432, 254661, 647343, 701375, 879951, 584255, 715352, 600581, 5086, 182666, 241821, 854858, 614580, 476358, 842829, 487983, 250132, 439794, 97617, 894824, 592687, 704286, 606674, 506968, 250463, 296749, 114241, 683509, 860847, 361287, 618348, 778321, 411812, 872464, 767161, 373028, 260717, 645920, 364292, 506635, 767754, 900194, 254363, 347346, 373742, 580605, 622246, 866721, 740785, 371312, 38867, 469827, 236018, 320121, 844876, 2602, 615667, 855609, 131620, 773451, 878907, 190714, 290611, 621809, 712938, 226554, 805964, 719422, 15679, 216989, 350427, 523244, 468572, 727904, 592602, 594974, 713845, 893559, 163658, 650350, 604130, 29036, 140683, 866250, 362398, 882166, 898811, 760908, 540545, 144370, 519337, 324985, 736031, 343112, 765451, 751769, 142044, 388835, 449225, 38016, 750314, 735095, 884704, 532712, 598305, 822250, 769774, 183321, 820712, 306343, 510309, 237905, 871698, 72519, 845706, 227677, 194844, 712016, 827455, 166167, 42815, 628993, 601345, 638562, 443148, 499169, 683923, 654236, 650795, 206246, 497144, 37651, 261154, 213929, 29960, 484590, 531986, 39091, 560287, 406318, 225122, 126454, 552216, 740277, 854348, 343127, 114660, 57690, 870813, 255940, 257981, 309449, 376026, 354522, 613227, 707132, 846220, 354132, 646028, 311938, 650203, 580406, 877210, 317133, 815748, 610892, 437290, 262901, 547774, 851951, 339655, 245562, 62636, 490662, 465026, 32305, 320176, 812083, 537878, 454994, 273132, 295145, 40352, 700052, 368002, 135252, 699212, 9194, 630162, 798775, 243219, 530425, 628933, 518372, 454902, 336561, 116483, 539946, 528225, 184597, 878412, 719452, 190782, 390725, 794580, 473104, 789357, 502955, 137095, 395409, 485318, 267026, 452716, 732083, 99046, 424030, 325575, 812598, 832980, 647802, 525390, 695942, 585923, 22139, 359219, 620123, 648153, 212120, 683142, 545483, 192883, 247680, 466713, 121166, 296732, 763274, 65762, 441556, 643359, 904700, 734078, 288122, 898386, 8201, 149192, 417659, 611209, 230158, 861429, 137037, 904063, 289, 285158, 685536, 442929, 423525, 214405, 296960, 122439, 133147, 50603, 173563, 115312, 589989, 192657, 777920, 802531, 352691, 883642, 426733, 13918, 255617, 6161, 855107, 94805, 447884, 663206, 169926, 328259, 529090, 911776, 716315, 726434, 14425, 53880, 684196, 789197, 190912, 539821, 601086, 492764, 59803, 823553, 735709, 798403, 249136, 794342, 473573, 81977, 53402, 632350, 424357, 23846, 535946, 587531, 9910, 271635, 325056, 360226, 96483, 644431, 899456, 348486, 834751, 694064, 557346, 893350, 883020, 237863, 569750, 876920, 334678, 181073, 318979, 730787, 839862, 664978, 289415, 238429, 757828, 652783, 565962, 745510, 609084, 162680, 835696, 642029, 297025, 230352, 498669, 518999, 775282, 836280, 320081, 126228, 780789, 135499, 763426, 463511, 793414, 496377, 527506, 27487, 264482, 871295, 156422, 786600, 285404, 750206, 127383, 228127, 700666, 220142, 242477, 892773, 622097, 521238, 239519, 402530, 40480, 111354, 440252, 171554, 99063, 206292, 725177, 440224, 730734, 626564, 835745, 782579, 425942, 225091, 786490, 612768, 401991, 431593, 146266, 783307, 747866, 359958, 898925, 278345, 835489, 39379, 62668, 187100, 380267, 634390, 574479, 336212, 37606, 562381, 4774, 718722, 748015, 114821, 475912, 834088, 825960, 284841, 573352, 486160, 115576, 177991, 620922, 88924, 372841, 784841, 338715, 242973, 58249, 338329, 518010, 696330, 17683, 42437, 408977, 241388, 124017, 762400, 680775, 407743, 318839, 48654, 538462, 544695, 327045, 732483, 576263, 100896, 501852, 728973, 514615, 751476, 685091, 908270, 787213, 424986, 90048, 484569, 769976, 447449, 131413, 55212, 354340, 277287, 808352, 218644, 690121, 710897, 210429, 712581, 541551, 675446, 658044, 869639, 518258, 715966, 36814, 446544, 89, 426721, 306305, 637896, 575926, 420160, 306567, 749014, 135050, 894614, 512681, 766905, 652937, 837968, 659275, 158155, 156809, 420489, 884162, 262013, 43197, 21527, 485866, 105013, 596326, 176308, 250442, 104419, 336313, 397128, 205228, 892528, 472878, 514184, 850259, 84707, 305493, 869337, 192952, 203460, 296472, 850258, 651114, 101624, 472247, 599716, 328625, 607931, 772566, 687479, 906585, 910707, 371963, 370464, 911739, 895465, 888624, 501184, 633997, 560821, 134803, 594522, 332368, 749682, 297694, 505756, 878672, 376091, 150068, 534336, 270696, 706525, 131747, 98024, 49444, 252423, 220525, 471680, 208205, 810641, 424713, 400429, 890684, 333751, 29660, 785622, 376134, 696378, 361594, 205383, 770810, 239707, 355166, 727631, 547718, 765128, 19399, 875743, 496519, 187175, 65882, 581347, 257104, 531830, 755945, 731151, 885198, 360582, 366037, 909552, 876936, 247405, 458314, 73482, 54403, 196694, 518276, 506504, 280913, 441375, 69573, 67552, 69117, 72803, 787610, 71038, 161661, 286472, 762803, 12, 860146, 359964, 814774, 839265, 421852, 354821, 458517, 65224, 700835, 410336, 351571, 704735, 93751, 429514, 444875, 280234, 403211, 850923, 379710, 47989, 676454, 660765, 823320, 67508, 722055, 474796, 621781, 521659, 333672, 150195, 861178, 148385, 880584, 500286, 540377, 93345, 697309, 821018, 880796, 81733, 814827, 638469, 363882, 866975, 183120, 97912, 581062, 569021, 605747, 762962, 360477, 631688, 220448, 695460, 537001, 302392, 126947, 396311, 835203, 73128, 292230, 317162, 358009, 223113, 739873, 117685, 499600, 128708, 322337, 135053, 365251, 68449, 846134, 831262, 375177, 588683, 4690, 522942, 417878, 683522, 342806, 108519, 377572, 23647, 33876, 167079, 707458, 462028, 722692, 122954, 347194, 787872, 350012, 847038, 258568, 147302, 309664, 561456, 630959, 72129, 427375, 592255, 852621, 24630, 347884]
ids_dev = [297, 463, 559, 732, 807, 874, 1477, 1570, 1613, 1680, 1707, 1731, 1961, 2018, 2540, 2552, 2646, 2682, 2993, 3075, 3077, 3103, 3142, 3159, 3298, 3313, 3412, 3466, 3562, 3733, 3738, 3979, 4032, 4054, 4171, 4194, 4296, 4402, 4697, 4891, 4931, 4939, 5037, 5061, 5260, 5577, 5578, 5802, 5834, 5856, 5996, 6098, 6406, 6625, 6807, 6848, 6889, 6940, 6998, 7279, 7597, 7767, 8427, 8539, 8641, 8897, 8943, 8978, 9131, 9152, 9626, 9850, 10094, 10136, 10204, 10423, 10471, 10493, 10827, 10847, 10984, 11003, 11186, 11286, 11333, 11350, 11364, 11366, 11412, 11846, 11869, 11908, 12096, 12388, 12451, 12547, 12570, 12696, 12712, 12764, 12858, 12922, 12988, 13222, 13350, 13435, 13453, 13479, 13673, 13840, 13968, 14014, 14245, 14601, 14689, 14694, 14701, 14739, 14797, 14833, 14836, 14891, 14915, 14977, 15105, 15171, 15379, 15446, 15488, 15677, 15725, 15790, 15801, 15826, 15832, 15859, 16142, 16170, 16183, 16309, 16460, 16556, 16672, 16679, 16774, 16883, 17072, 17074, 17125, 17306, 17362, 17488, 17497, 17631, 17732, 18078, 18195, 18326, 18358, 18394, 18475, 18521, 18707, 18984, 19011, 19035, 19043, 19375, 19576, 19651, 19677, 19687, 19754, 20043, 20117, 20322, 20417, 20621, 20625, 20696, 21020, 21446, 21523, 21535, 21686, 21796, 21813, 21832, 21995, 22072, 22074, 22146, 22163, 22330, 22420, 22504, 22622, 22764, 22880, 22981, 23075, 23286, 23423, 23581, 23782, 23811, 23889, 23908, 24000, 24022, 24047, 24527, 24593, 24633, 24702, 24737, 24739, 24889, 24897, 25099, 25615, 25747, 25896, 25936, 25941, 26009, 26268, 26283, 26397, 26632, 26878, 26891, 26922, 26936, 26960, 27189, 27297, 27939, 27958, 28181, 28320, 28581, 28661, 28701, 28890, 28932, 29317, 29387, 29412, 29420, 29485, 29848, 29858, 29881, 30047, 30305, 30350, 30429, 30612, 30621, 30639, 30781, 30796, 30887, 30919, 31104, 31413, 32134, 32322, 32326, 32491, 32526, 32888, 32913, 32979, 33002, 33054, 33061, 33225, 33284, 33658, 33689, 33717, 33821, 34076, 34086, 34383, 34522, 34619, 34697, 34740, 34915, 35099, 35162, 35186, 35396, 35611, 35902, 36046, 36080, 36101, 36317, 36331, 36490, 36598, 36607, 36893, 36911, 37011, 37015, 37174, 37324, 37335, 37463, 37486, 37499, 37927, 38056, 38068, 38095, 38142, 38353, 38364, 38566, 38570, 38781, 38821, 38846, 38873, 39181, 39200, 39307, 39349, 39957, 40051, 40138, 40155, 40170, 40287, 40335, 40414, 40430, 40494, 40643, 40900, 40943, 40983, 40990, 41222, 41373, 41506, 41571, 41824, 41833, 42102, 42242, 42257, 42273, 42303, 42317, 42491, 42571, 42650, 42735, 43001, 43002, 43581, 43736, 44139, 44271, 44321, 44347, 44820, 44824, 45006, 45129, 45366, 45436, 45711, 45719, 45828, 45913, 45974, 46081, 46198, 46253, 46660, 46699, 46892, 46902, 46989, 47004, 47093, 47109, 47182, 47305, 47571, 47581, 47615, 47710, 47761, 47773, 47814, 48132, 48276, 48292, 48338, 48438, 48484, 48703, 48802, 48816, 48894, 48910, 49261, 49351, 49415, 49563, 49672, 49722, 50013, 50039, 50253, 50293, 50325, 50400, 50534, 50619, 50799, 50823, 50874, 50972, 51020, 51146, 51479, 51522, 51691, 51702, 51745, 51901, 52153, 52202, 52226, 52567, 52676, 52792, 52856, 52919, 53093, 53202, 53331, 53373, 53420, 53541, 53841, 53899, 53979, 53980, 53985, 54031, 54140, 54229, 54288, 54537, 54739, 54925, 54973, 55094, 55187, 55192, 55350, 55356, 55421, 55564, 55614, 55638, 55756, 55801, 56163, 56177, 56267, 56489, 56635, 56735, 56746, 56764, 56837, 57136, 57259, 57282, 57321, 57637, 57740, 57925, 58197, 58436, 58599, 58676, 58708, 58764, 58868, 58940, 59044, 59115, 59846, 59853, 59980, 60037, 60193, 60349, 60480, 60512, 60519, 60521, 60543, 60587, 60618, 60654, 60709, 60724, 60804, 60868, 60869, 60879, 60911, 60959, 60985, 61056, 61172, 61196, 61350, 61436, 61691, 61809, 62005, 62013, 62026, 62178, 62321, 62346, 62402, 62635, 62660, 62953, 63074, 63147, 63336, 63625, 63752, 63837, 63869, 64054, 64119, 64151, 64216, 64369, 64505, 64866, 64933, 64962, 64987, 65258, 65338, 65464, 65473, 65608, 65619, 65679, 65785, 65913, 65989, 66184, 66339, 66377, 66439, 66544, 66585, 66818, 66912, 67021, 67026, 67057, 67259, 67273, 67287, 67542, 67543, 67572, 67728, 67816, 67904, 68045, 68079, 68219, 68270, 68348, 68617, 68640, 68733, 68774, 69033, 69040, 69108, 69200, 69204, 69256, 69467, 69700, 69737, 69886, 70106, 70270, 70333, 70398, 70447, 70622, 70708, 70730, 70804, 71227, 71245, 71356, 71374, 71582, 71642, 71743, 71844, 71851, 72066, 72115, 72129, 72417, 72626, 72635, 72656, 72688, 72697, 72966, 72985, 73017, 73046, 73146, 73273, 73460, 73486, 73487, 73603, 73645, 73676, 73743, 74429, 74462, 74591, 74709, 74816, 74916, 74944, 75007, 75120, 75253, 75324, 75495, 75563, 75582, 75732, 76113, 76135, 76144, 76398, 76592, 76846, 76892, 77622, 77825, 77970, 78032, 78090, 78189, 78414, 78517, 78629, 78654, 78663, 78796, 78879, 79058, 79088, 79104, 79141, 79291, 79296, 79486, 79518, 79573, 79707, 79838, 79853, 79952, 80252, 80311, 80366, 80391, 80415, 80428, 80480, 80548, 80593, 80612, 80671, 80701, 80722, 81168, 81218, 81229, 81334, 81380, 81413, 81443, 81745, 81774, 81850, 81868, 81912, 82317, 82358, 82389, 82485, 82728, 82753, 83208, 83455, 83470, 83790, 84227, 84343, 84495, 84512, 84725, 84754, 85049, 85182, 85403, 85421, 85497, 85591, 85592, 85599, 85876, 85922, 86011, 86184, 86275, 86334, 86439, 86799, 87009, 87067, 87087, 87168, 87270, 87519, 87579, 87725, 87913, 88267, 88283, 88672, 89029, 89069, 89082, 89109, 89166, 89272, 89275, 89523, 89585, 89593, 89624, 89641, 89792, 90141, 90431, 90473, 90561, 90638, 90764, 91122, 91422, 91427, 91591, 91619, 91864, 91914, 92041, 92092, 92354, 92418, 92465, 92566, 92812, 92914, 93036, 93161, 93258, 93294, 93419, 93805, 93833, 94282, 94431, 94468, 94745, 94781, 95051, 95409, 95516, 95976, 96130, 96191, 96251, 96325, 96347, 96560, 96774, 96868, 97232, 97294, 97411, 97440, 97460, 97639, 97739, 97863, 98107, 98203, 98331, 98515, 98613, 98634, 98707, 98736, 99037, 99060, 99092, 99108, 99274, 99279, 99299, 99327, 99667, 99850, 99914, 100092, 100602, 100776, 100800, 100848, 100939, 101157, 101158, 101464, 101557, 101576]
ids_test = [93, 135, 231, 264, 280, 539, 640, 740, 896, 905, 976, 981, 1226, 1303, 1332, 1348, 1367, 1394, 1481, 1703, 1853, 1879, 2252, 2469, 2524, 2619, 3068, 3123, 3237, 3354, 3406, 4117, 4205, 4236, 4298, 4566, 4819, 4872, 4926, 4947, 5022, 5037, 5113, 5142, 5230, 5385, 5504, 5673, 5794, 5805, 5858, 5983, 6048, 6074, 6172, 6237, 6267, 6358, 6417, 6654, 6696, 6923, 7002, 7036, 7064, 7207, 7302, 7380, 7387, 7397, 7426, 7444, 7475, 7603, 7665, 8281, 8385, 8406, 8485, 8548, 8611, 8705, 8742, 8839, 8944, 9326, 9464, 9513, 9631, 9786, 9940, 10004, 10011, 10088, 10239, 10268, 10279, 10280, 10429, 10445, 10483, 10662, 10721, 10725, 10759, 10796, 10806, 10847, 11095, 11275, 11320, 11378, 11404, 11524, 11538, 11642, 11879, 11885, 11957, 12652, 12731, 12802, 12828, 12841, 13110, 13270, 13302, 13345, 13355, 13672, 13835, 14080, 14191, 14328, 14432, 14499, 15086, 15516, 15617, 15702, 15741, 15776, 15845, 16084, 16132, 16396, 16560, 16670, 16681, 16736, 16949, 17010, 17203, 17381, 17508, 17788, 17805, 17915, 18334, 18337, 18670, 18671, 18865, 19026, 19030, 19294, 19295, 19746, 19886, 19949, 20045, 20122, 20152, 20187, 20472, 20979, 20994, 21223, 21526, 21550, 21649, 21794, 21849, 22057, 22079, 22108, 22351, 22412, 22481, 22689, 22735, 22746, 22769, 23413, 23552, 23617, 23700, 23733, 23759, 23834, 23955, 23989, 24154, 24159, 24271, 24356, 24381, 24452, 24469, 24506, 24516, 24519, 24552, 24574, 24651, 24843, 24916, 25115, 25280, 25547, 25566, 25573, 25785, 25831, 25857, 26020, 26133, 26151, 26188, 26412, 26647, 27248, 27258, 27368, 27446, 27484, 27656, 27737, 27894, 27946, 28317, 28679, 28844, 28849, 28981, 28997, 29021, 29065, 29215, 29279, 29338, 29507, 29546, 29549, 29574, 29649, 29665, 29694, 29749, 29879, 29965, 30010, 30066, 30230, 30242, 30481, 30618, 30656, 30721, 30838, 30902, 31083, 31089, 31191, 31324, 31493, 31544, 31693, 32059, 32300, 32319, 32356, 32524, 32584, 32586, 32632, 32660, 32687, 32815, 32910, 33226, 33235, 33282, 33303, 33532, 33632, 33647, 33746, 33803, 33851, 34028, 34064, 34074, 34175, 34311, 34375, 34547, 34634, 34949, 35052, 35067, 35078, 35283, 35333, 35334, 35344, 35393, 35514, 35518, 35614, 36122, 36159, 36174, 36243, 36380, 36459, 36741, 36798, 36833, 36849, 36970, 37039, 37289, 37423, 37510, 37826, 37833, 37886, 38286, 38439, 38492, 38593, 38626, 38751, 38917, 39070, 39275, 39424, 39753, 39823, 40262, 40314, 40370, 40401, 40442, 40665, 40712, 40722, 40744, 40753, 41064, 41103, 41157, 41234, 41354, 41535, 41559, 41605, 41656, 41695, 41835, 41945, 42016, 42139, 42274, 42316, 42513, 42537, 42901, 42935, 43097, 43125, 43169, 43174, 43298, 43400, 43493, 43551, 43635, 43683, 43738, 43765, 43826, 43967, 44206, 44370, 44483, 44609, 44950, 45128, 45211, 45649, 45673, 45824, 45832, 45839, 45950, 45981, 46096, 46118, 46260, 46318, 46362, 46376, 46579, 46595, 46606, 46618, 46629, 46900, 46994, 46998, 47021, 47051, 47156, 47373, 47464, 47659, 47666, 47747, 47798, 47814, 47864, 47952, 48013, 48092, 48147, 48497, 48720, 49059, 49224, 49239, 49247, 49786, 50155, 50185, 50283, 50299, 50467, 50513, 50533, 50546, 50732, 50805, 50961, 50977, 51028, 51288, 51700, 51785, 51829, 51903, 51972, 52038, 52096, 52122, 52288, 52413, 52520, 52827, 52988, 53117, 53142, 53163, 53235, 53248, 53333, 53689, 54039, 54331, 54366, 54379, 54462, 54573, 54578, 54589, 54646, 54739, 54776, 54849, 55024, 55256, 55353, 55365, 55440, 55716, 55725, 55727, 55739, 55811, 55880, 55886, 55970, 56067, 56068, 56089, 56293, 56329, 56352, 56371, 56770, 56811, 56965, 57061, 57190, 57257, 57279, 57302, 57530, 57557, 57562, 57570, 57738, 57788, 57929, 57995, 58008, 58187, 58918, 59044, 59213, 59345, 59468, 59522, 59688, 59995, 60001, 60065, 60142, 60144, 60203, 60585, 60603, 60605, 60932, 61061, 61155, 61231, 61260, 61501, 61604, 61853, 61929, 62194, 62232, 62257, 62267, 62277, 62367, 62497, 62552, 62557, 62560, 62746, 62769, 62957, 62982, 63089, 63097, 63123, 63180, 63191, 63209, 63377, 63666, 63682, 63723, 63782, 63814, 63926, 64064, 64100, 64307, 64350, 64384, 64431, 64497, 64604, 64730, 64817, 64848, 64920, 64940, 65008, 65046, 65200, 65452, 65858, 65872, 65884, 65971, 66020, 66069, 66299, 66535, 66966, 67001, 67018, 67071, 67273, 67329, 67344, 67427, 67633, 67678, 67763, 68250, 68632, 68762, 68772, 68793, 68982, 69196, 69368, 69410, 69476, 69544, 69697, 69703, 69749, 69914, 70055, 70226, 70253, 70292, 70341, 70562, 70585, 70705, 70781, 70842, 70854, 71016, 71020, 71038, 71181, 71199, 71273, 71427, 71515, 71530, 71570, 71728, 71822, 71824, 71953, 71964, 71968, 72143, 72236, 72316, 72457, 72559, 72605, 72657, 72726, 72760, 72860, 72940, 72991, 73128, 73148, 73190, 73215, 73281, 73478, 73872, 74195, 74403, 74428, 74528, 74530, 74554, 74605, 74612, 74618, 75006, 75068, 75310, 75463, 75528, 75655, 75755, 75774, 75812, 75860, 76073, 76134, 76413, 76591, 76623, 77132, 77254, 77278, 77306, 77345, 77590, 77598, 77609, 77651, 77670, 77871, 78154, 78285, 78298, 78316, 78322, 78428, 78439, 78440, 78456, 78582, 78639, 79008, 79330, 79334, 79482, 79489, 79636, 79643, 79748, 79906, 79912, 79992, 80105, 80398, 80416, 80419, 80446, 80558, 80842, 81015, 81068, 81149, 81212, 81253, 81305, 81511, 81720, 81873, 82126, 82142, 82198, 82626, 82651, 82653, 82679, 82693, 83324, 83391, 83430, 83546, 83624, 83720, 83772, 83796, 83943, 84173, 84183, 84276, 84352, 84453, 84454, 84581, 84625, 84790, 84841, 84842, 84851, 85310, 85334, 85352, 85372, 85421, 85471, 85647, 85658, 85711, 85795, 85837, 85911, 86071, 86077, 86078, 86227, 86450, 86748, 86782, 86866, 86975, 87026, 87034, 87119, 87294, 87372, 87415, 87562, 87578, 87733, 88007, 88030, 88220, 88342, 88354, 88448, 88456, 88513, 88682, 88767, 88801, 89115, 89131, 89479, 89593, 89685, 89743, 89771, 89789, 89864, 89930, 90009, 90323, 90534, 90594, 90851, 91131, 91207, 91290, 91519, 91671, 91982, 92098, 92116, 92274, 92326, 92373, 92539, 92632, 92818, 93018, 93229, 93271, 93358, 93409, 93516, 93682, 93779, 93930, 93950, 93982, 94030, 94055, 94202, 94361, 94458, 94687, 94701, 94772, 94965, 95114, 95289, 95369, 95501, 95623, 95626, 95655, 95665, 95843, 95903, 95933, 96021, 96072, 96095, 96213, 96226, 96253, 96393, 96398, 96440, 96455, 96967, 97109, 97166, 97195, 97531, 97546, 97550, 97650, 97662, 97687, 97718, 97859, 97969, 98010, 98049, 98487, 98552, 98711, 98830, 98929, 98946, 99092, 99288, 99383, 99407, 99472, 99492, 99609, 99654, 99791]
class DocFilterer:
def __init__(self, root_path, split, id_list):
self.root_path = os.path.join(root_path, split)
self.split = split
self.id_list = id_list
self.root_to_files = {}
def ignore_ids(self):
self.update_files_tofind()
file_list = self.get_file_names()
self.rename_files(file_list)
def rename_files(self, full_path_list):
renamed_count = 0
for file_name in full_path_list:
os.rename(file_name, file_name+".ignored")
renamed_count += 1
print("Renamed files: ", renamed_count)
def update_files_tofind(self):
print("Going to look for ", len(self.id_list), " files.")
if not self.root_to_files:
for root, dirnames, file_names in os.walk(self.root_path):
file_ids = [int(file_name.split(".")[0].split("-")[1]) for file_name in file_names]
self.root_to_files[root] = file_ids
existing_file_ids = self.root_to_files.values()
# flatten the list
existing_file_ids = list(itertools.chain(*existing_file_ids))
missing_file_ids = set(self.id_list) - set(existing_file_ids)
print("The following file ids are missing: ", len(missing_file_ids), missing_file_ids)
self.id_list = set(self.id_list) - missing_file_ids
def get_file_names(self):
full_path_names = []
for doc_id in self.id_list:
full_path_name = self.find_file(doc_id)
full_path_names.append(full_path_name)
return full_path_names
def find_file(self, doc_id):
root = [key for key, id_list in self.root_to_files.items() if doc_id in id_list][0]
file_name = self.split + "-" + str(doc_id) + ".txt.tree"
return os.path.join(root, file_name)
if __name__ == '__main__':
root_path = sys.argv[1]
train_filter = DocFilterer(root_path, "train", ids_train)
train_filter.ignore_ids()
dev_filter = DocFilterer(root_path, "dev", ids_dev)
dev_filter.ignore_ids()
test_filter = DocFilterer(root_path, "test", ids_test)
test_filter.ignore_ids()