diff --git a/benchmarks/performance_data/blocks_api/CSV/perf_60M_heavy.csv b/benchmarks/performance_data/blocks_api/CSV/perf_60M_heavy.csv new file mode 100644 index 0000000000000000000000000000000000000000..fd0c69366dbac4a5d1e34d043aa4c4169eb7dc55 --- /dev/null +++ b/benchmarks/performance_data/blocks_api/CSV/perf_60M_heavy.csv @@ -0,0 +1,1000 @@ +18032640;74 +31688706;88 +34594818;12 +31860738;39 +29876228;96 +32184331;14 +36419598;59 +25286676;65 +31694877;13 +37021725;19 +35465251;55 +34684964;93 +29120548;79 +33974308;66 +27234340;68 +32182312;14 +34490407;71 +36401187;69 +21690411;82 +31871020;80 +36720686;59 +29548594;76 +34922547;28 +32272436;86 +32917562;71 +31645755;64 +59887685;19 +32557126;50 +30713927;62 +34340936;15 +35483722;94 +35690577;13 +32706551;39 +34310228;48 +31676500;25 +32120919;64 +32415840;31 +33140832;89 +36806756;21 +33912936;26 +13285483;56 +26622063;31 +31766641;38 +31625332;50 +41568374;44 +27207801;27 +7420026;79 +31352959;60 +32469122;68 +26083458;80 +34056332;18 +32030861;44 +41908368;90 +27508885;40 +27390103;11 +13285528;73 +33396888;27 +27656346;80 +50151575;72 +34336923;36 +31420572;47 +31654040;61 +32741534;35 +32139419;99 +33851552;98 +34566306;20 +30970019;44 +29874339;66 +22689957;16 +22689958;25 +22689959;79 +28283048;91 +22689961;75 +22689963;53 +22689965;83 +22689967;99 +34896048;65 +34523313;19 +13461682;15 +22689970;92 +22689972;32 +22689969;60 +32364725;58 +22689975;76 +22689973;71 +29948087;98 +36849844;55 +9693365;37 +32778429;89 +32800960;15 +32630977;69 +32381122;78 +32182471;65 +32815305;31 +35119308;28 +33867982;22 +29493455;28 +32481489;86 +32641235;31 +32176341;72 +13994198;30 +37099737;29 +25970913;83 +33679588;20 +36956391;87 +33847528;34 +35694825;68 +33210604;97 +13193453;46 +32844013;40 +36593900;48 +29073645;46 +33943795;62 +56031475;74 +34050293;39 +13277436;14 +48015613;89 +31516926;27 +29739266;95 +32307458;10 +31801606;58 +27443465;93 +34165001;63 +31574283;15 +26886413;64 +34134285;85 +13461773;15 +34767120;85 +36733197;78 +33876242;79 +33597719;60 +35227928;77 +31025433;76 +26601755;39 +33859869;52 +33712416;48 +37153057;14 +34431267;98 +34887972;98 +21815587;29 +31748394;28 +13431085;88 +13461806;32 +30247213;66 +33186095;50 +34720050;46 +33974579;50 +33599800;58 +29370687;40 +26181954;67 +35045703;78 +29067592;72 +31172935;33 +33218890;31 +32524620;24 +33134924;70 +30363980;22 +32411983;79 +34132303;18 +32964947;33 +35113301;66 +33614166;68 +31887703;45 +38879577;39 +31072603;76 +32645470;68 +18463077;39 +31549797;85 +29325671;80 +31349096;32 +33741166;59 +31619439;16 +33511793;95 +18463093;55 +31629687;83 +18463101;94 +34175359;39 +35463552;36 +29534593;76 +35666306;70 +34996611;17 +31789444;10 +34523525;69 +33890697;85 +18463113;70 +27054479;47 +18463122;29 +27613587;76 +31132052;92 +29188501;40 +34347414;75 +18463128;32 +38418848;55 +26214824;96 +34316714;53 +35690922;39 +31887794;28 +34365877;88 +34402742;78 +34658747;61 +18463165;68 +33886654;24 +35060164;89 +29940166;75 +32065994;69 +32612813;35 +33769940;96 +32903636;12 +34224598;65 +33944021;56 +35332568;40 +905693;81 +33823197;14 +34798047;96 +30054882;62 +32227810;93 +33790437;75 +37083622;50 +32348647;43 +26575336;74 +34578921;87 +29768166;59 +35752427;22 +37261798;10 +35617261;60 +27466215;19 +34017776;16 +35381744;63 +36848112;33 +33653235;55 +18819571;72 +37243386;60 +50993660;48 +29594109;16 +33624575;67 +33942018;43 +30355970;92 +32875012;42 +18819591;12 +34376201;34 +31681034;13 +32657929;79 +487947;60 +32672273;55 +41290260;94 +32678421;97 +33544728;31 +18819610;79 +31394339;24 +34464295;55 +33704491;86 +28244524;63 +30093868;15 +34345521;55 +34812466;13 +33813041;75 +31801913;21 +18819645;29 +37040702;39 +32033346;97 +31091267;28 +34286147;76 +13328965;27 +31687238;20 +31965768;83 +32266826;19 +30169675;96 +32123466;90 +34347597;99 +33770058;13 +34822732;11 +36952656;75 +33673809;81 +35387983;83 +31668820;25 +35721819;87 +31273564;39 +33018461;99 +33190494;56 +36018784;98 +31957601;15 +30618211;43 +30661221;19 +33303144;68 +34142824;69 +36733547;31 +33335917;43 +28623472;67 +33997425;40 +28336755;28 +33774199;67 +32787065;19 +33585785;84 +31619706;58 +23847549;62 +34085503;46 +34402947;57 +30870149;94 +23847560;10 +35068554;27 +23847565;34 +27521678;40 +33827470;14 +35119759;60 +35150478;21 +36403855;22 +31548050;65 +35111565;82 +36659854;38 +29291159;70 +34222748;34 +22489759;64 +34376352;46 +48466592;53 +22489763;93 +31382181;51 +34511528;79 +13447851;40 +34394800;99 +28789427;74 +34849460;62 +34624181;23 +32383671;24 +35922616;44 +13406904;41 +29463229;27 +29981374;92 +31515329;95 +28687043;30 +31718087;59 +31535818;53 +35267276;40 +31967949;83 +32537294;69 +31294162;25 +33915605;90 +34161368;16 +32295642;80 +34884316;26 +35539677;73 +36117212;10 +35283681;28 +36588260;52 +35611366;40 +34751207;75 +36874983;10 +13329131;27 +33856238;20 +37018354;75 +33510131;97 +32469746;20 +31781622;11 +33604345;80 +32815867;56 +36086525;78 +51012350;24 +32412413;80 +31410944;70 +36317950;76 +57201411;69 +32584452;33 +25746182;43 +32035591;90 +33037064;92 +34859783;49 +25701132;69 +31265548;74 +25133839;84 +34784015;28 +33211154;13 +33796883;14 +32766746;35 +13308698;31 +30067482;39 +22489882;38 +31900446;45 +26307362;57 +25221923;17 +25377572;81 +32611109;78 +33024806;32 +33104679;71 +47684393;74 +36942634;28 +30210858;65 +34300716;25 +31640365;67 +33643308;47 +38503212;63 +36528944;27 +27982644;22 +34140982;97 +31439675;90 +30909244;98 +33131324;29 +35140417;47 +18234179;61 +32930628;83 +35072840;35 +29229897;33 +35756874;93 +13374282;52 +32998219;34 +32002892;19 +30321483;98 +32961352;38 +18234193;93 +13374289;17 +32291665;19 +31918937;13 +35167065;56 +29047641;17 +33885022;67 +29864798;15 +14271329;95 +14271330;10 +34947937;93 +35171171;52 +33018727;81 +32527207;36 +33047404;35 +29737837;90 +34151276;93 +32217968;91 +32017265;77 +31916915;75 +32930679;43 +57258871;95 +32990075;18 +32494462;60 +14271359;86 +30677887;95 +12755841;70 +34745215;36 +13310851;18 +3744646;39 +14271370;89 +31945611;39 +31005579;28 +32566158;84 +36576145;10 +14271379;62 +14271380;49 +29098904;59 +30086042;89 +36064155;16 +4406170;67 +14271389;58 +21693340;57 +31962019;83 +34016167;23 +33325991;66 +52165543;68 +33803178;53 +32584618;74 +7420848;81 +14271409;66 +35386288;29 +14271413;84 +13491125;45 +14271415;40 +31609785;46 +32179130;38 +34313145;34 +35343294;24 +34231231;76 +29203395;72 +14271428;20 +32363461;98 +14271430;72 +34114499;29 +33596355;73 +31478723;86 +32447432;45 +14271437;13 +34257869;98 +25019343;21 +29060054;47 +14271447;28 +34460632;64 +29998041;84 +33592283;27 +34005980;35 +36410333;49 +29776862;12 +25881567;49 +31493089;62 +14271458;72 +32836579;57 +29936613;15 +34202598;87 +32828389;95 +33076207;80 +32728048;56 +14271473;83 +34464754;40 +27007987;32 +29398004;60 +30006258;39 +34395126;50 +32783350;70 +27169784;74 +37016569;90 +33104899;27 +31200260;99 +30260227;82 +37542916;94 +32496649;85 +32635914;59 +34974734;13 +14271502;33 +32064528;69 +14271504;31 +28916754;10 +33133588;41 +32701464;45 +57345051;70 +32093212;69 +34767899;46 +26045471;42 +33786912;44 +31325218;65 +25596966;78 +34575399;75 +18664488;51 +31714346;70 +13435947;54 +31341611;53 +31583279;86 +32703535;84 +27120687;20 +32097331;88 +33688628;68 +34815029;17 +14687288;55 +35527739;92 +33881149;79 +32830526;13 +29520959;28 +28714051;39 +31657028;84 +31323204;86 +28140614;16 +34942019;39 +29711436;25 +31583311;54 +29961295;63 +35365971;16 +13423701;13 +34006104;92 +32287832;39 +33711197;17 +34137190;54 +30159974;20 +36889704;72 +32902256;45 +33506419;25 +24128629;64 +30190716;85 +36465788;44 +33631358;85 +32756863;31 +32988287;27 +14019713;79 +33916035;36 +7414916;31 +10218629;25 +30665862;88 +36101252;68 +10302600;64 +33160330;59 +33967242;33 +34337933;31 +34538639;86 +33709200;99 +31947921;27 +13376655;49 +29682837;47 +31521947;52 +34266271;64 +13413536;30 +31210658;53 +33739946;19 +34309290;61 +32726187;30 +32552110;74 +36803759;52 +35175609;36 +30465210;60 +35585209;39 +37258431;87 +29347010;40 +32251074;97 +34057412;10 +35724485;30 +31732933;42 +32758981;54 +36193478;24 +19020999;62 +34663621;12 +30696648;31 +29322444;75 +33643724;48 +35122384;92 +34753745;63 +32193746;89 +31362259;17 +26604759;63 +35437784;63 +31890649;96 +33604824;24 +12586200;36 +19021020;82 +32095453;76 +33092830;32 +34807007;28 +33359075;82 +32498915;43 +29457637;86 +29797603;77 +32429291;98 +13241580;36 +19021040;10 +31610101;13 +9413877;30 +29226232;55 +32077049;34 +13321466;29 +32019708;42 +36887804;99 +36605181;98 +35804415;91 +36988166;85 +31141128;84 +34483465;95 +33981705;97 +33678602;58 +26789131;63 +34460941;59 +34258190;15 +33768719;50 +31515920;55 +34880787;80 +32439572;54 +33760533;31 +37162262;46 +19021077;24 +34534687;22 +34086176;17 +33959202;35 +33701156;70 +35548456;79 +25230632;26 +34608425;90 +33559853;37 +35321136;41 +13430064;46 +32785716;69 +31534392;86 +31976762;53 +2889020;28 +34192700;13 +33168701;33 +32380228;95 +30147913;38 +31276365;64 +32353618;78 +33412434;77 +36541779;78 +22488406;22 +22488407;84 +31708504;58 +32245080;23 +22488410;84 +22488408;81 +37631324;55 +22488412;32 +35075421;21 +28943707;18 +22488414;60 +35140960;61 +34796897;13 +34651489;28 +26608995;79 +22488418;91 +22488421;54 +22488422;15 +22488423;68 +22488416;92 +33152361;72 +31837546;44 +22488419;72 +28724583;63 +27235690;36 +34432366;24 +34112880;35 +12760434;15 +36033908;26 +33887605;26 +33541493;78 +36992376;90 +33570174;91 +30969216;23 +32451969;92 +31694208;17 +13444483;94 +34114948;72 +34368904;24 +37672330;85 +30207372;58 +34172302;82 +14472594;11 +35499411;77 +31489428;10 +32554389;18 +30291346;14 +28882322;60 +27606425;47 +13434266;81 +37488027;72 +35161500;51 +34090396;10 +40295841;56 +31747493;33 +13997477;21 +34446759;85 +14472616;14 +31393192;22 +24954282;65 +14472621;90 +34018734;36 +14472623;53 +31618480;21 +32298413;61 +34792883;52 +32357817;77 +14472636;85 +33826237;62 +33371580;29 +14472639;83 +36279744;15 +55930302;61 +14472646;48 +33236423;75 +34885065;68 +31641035;18 +32019916;34 +29523405;22 +26660302;63 +28724686;56 +14472657;74 +34143700;55 +52411863;58 +35669464;62 +29431259;36 +14472668;49 +27596254;32 +30438879;78 +32714206;23 +35202529;22 +35747297;22 +25296359;17 +33926631;28 +34655720;23 +34794984;88 +51987943;89 +14472684;90 +18806253;11 +32984558;18 +22691311;14 +18806250;60 +18806258;31 +22691315;52 +35931636;86 +32968181;38 +32833017;15 +18806268;82 +12815869;26 +35055103;25 +31933954;13 +18806277;59 +14472713;63 +14472715;21 +8187404;52 +34084365;53 +24890894;77 +29705743;26 +35368466;66 +18806296;32 +31475225;72 +35286557;99 +31464989;56 +33855007;81 +36245023;96 +13446689;37 +25947686;77 +33357358;30 +18806319;43 +34600498;85 +34285107;33 +28560953;72 +37523002;11 +35380796;95 +18806332;58 +34172480;74 +13430338;56 +37166660;85 +35081800;51 +32728650;75 +35612235;95 +33254988;96 +31989325;34 +35376718;51 +35350101;62 +35362390;26 +31858268;27 +30522972;94 +34829920;98 +33160802;58 +32409188;82 +13500005;20 +31954536;65 +33689194;49 +22691434;98 +13839982;12 +27528816;51 +32202353;74 +24999537;38 +32536180;59 +31534708;74 +25280119;88 +28022392;61 +33293945;26 +36879992;68 +33883771;94 +32499329;11 +34223746;20 +31499912;41 +31714959;59 +33386128;14 +27428499;99 +31456916;11 +30240405;47 +33934998;93 +35671703;96 +31579802;58 +33658527;39 +31516321;48 +35837603;79 +29922980;53 +13278885;82 +32874150;91 +28946087;86 +34262696;93 +31178409;32 +33683114;28 +33793707;49 +34916003;93 +32276145;70 +27840179;39 +33539764;36 +34576053;54 +31717047;25 +30883511;62 +28907191;28 +35329722;57 +34287290;48 +31921852;52 +31381186;91 +35942083;24 +30027464;26 +32702153;55 +28042955;58 +35942092;18 +32323277;33 +35942094;68 +35942095;54 +35942093;74 +34483918;29 +35589842;22 +33963731;29 +23918289;33 +21438158;55 +27526871;17 +32624343;78 +37510871;77 +30162650;29 +47259354;96 +33969884;98 +34772702;16 +34205409;97 +30990049;75 +33574629;73 +13180647;90 +20229866;67 +32483051;78 +32661227;69 +48715498;89 +34197230;35 +34514677;15 +28219129;94 +34033402;63 +31993597;31 +34107133;32 +28962560;84 +31467267;24 +31344388;56 +33300229;57 +33920776;63 +34172690;21 +35716884;44 +37242649;35 +33992476;78 +36923168;31 +33629985;71 +38979360;39 +32382763;73 +34742060;71 +30140207;13 +31594288;33 +32239416;41 +29736763;16 +31784764;31 +36407105;23 +36339522;22 +34424649;80 +33077068;61 +34770768;61 +34541392;78 +35780434;46 +31555412;31 +25849687;13 +35106648;28 +29206360;84 +32765793;22 +37056354;18 +33185642;59 +31285098;78 +31678316;93 +34176877;29 +34539374;60 +34828140;72 +35516269;56 +33824618;59 +37312370;32 +34387829;58 +34314104;73 +32151417;19 +13827961;61 +13440900;34 +34205574;78 +13434760;50 +26038153;32 +13461391;79 +47005584;14 +26632084;22 +31809437;56 +36448159;20 +13932451;99 +32472995;95 +34111397;44 +33542053;80 +13418407;90 +32724904;44 +31422377;92 +32006058;33 +29542315;24 +18032554;12 +18032560;14 +13375409;62 +32161713;55 +31819696;57 +35317684;23 +18032567;80 +27033531;35 +29913019;46 +32339901;44 +31760319;27 +34033607;55 +34400201;72 +13418445;43 +7419854;10 +30900175;23 +13461456;97 +23762894;68 +35403743;39 +13461475;91 +31950826;83 +32669676;19 +34979820;97 +34494449;67 +18032626;78 +32116723;49 +31772660;84 +3457013;41 +18032628;85 +31313911;54 +29335544;38 +29548530;65 +36716542;84 diff --git a/benchmarks/performance_data/blocks_api/CSV/perf_60M_light.csv b/benchmarks/performance_data/blocks_api/CSV/perf_60M_light.csv new file mode 100644 index 0000000000000000000000000000000000000000..ff283fc291fdddaeb39927fbd86ecf0218c6a9a8 --- /dev/null +++ b/benchmarks/performance_data/blocks_api/CSV/perf_60M_light.csv @@ -0,0 +1,1000 @@ +28756797;73 +13632281;81 +13734977;48 +36406107;81 +20395030;77 +41215020;31 +44177741;85 +42229726;56 +43414169;20 +29576132;49 +51285242;26 +31697001;61 +9859904;60 +17457991;63 +56316879;91 +7926697;68 +30362076;66 +44480050;44 +25633105;94 +14607173;46 +23614642;21 +36023069;27 +10070103;36 +38091433;49 +11778098;83 +48350672;74 +59115526;26 +9371846;48 +45385896;76 +26208433;73 +44648091;27 +30366317;33 +49684350;88 +44546267;68 +7384407;83 +29674133;23 +59604888;45 +19591957;21 +19204795;13 +38313585;78 +7715147;77 +56225385;57 +28885570;96 +7634089;47 +38738940;18 +43282905;26 +18401258;88 +10575340;98 +43806997;62 +18910729;39 +28910039;56 +34447649;73 +53656197;88 +5737874;90 +13863215;94 +52909908;71 +20905234;95 +15661326;72 +39089360;84 +18180967;48 +35354116;59 +55442491;92 +13086940;30 +41174585;88 +27383558;68 +34395907;68 +56407986;76 +18097683;53 +59157632;13 +33007921;31 +26608484;32 +38447339;29 +14488602;94 +19954388;53 +58663429;75 +56639771;18 +49671888;90 +59975933;26 +47928600;15 +24509384;78 +34637278;95 +11614903;17 +47835268;18 +5944953;19 +30440636;78 +48067423;15 +58454409;50 +58425751;63 +48625068;77 +5151185;31 +16217433;51 +12274451;86 +56101192;99 +20886407;63 +39606554;50 +7943636;43 +8436849;95 +49518843;71 +6890025;33 +33257553;70 +18139978;67 +53735512;89 +22127782;67 +13342852;85 +51415513;78 +18464765;31 +34035984;74 +27112094;41 +56937172;67 +23279353;25 +26034081;58 +42480934;44 +32562144;85 +20617103;82 +27003381;47 +17779333;87 +19440897;43 +22655734;24 +23982922;57 +32104657;28 +12977841;80 +20413100;76 +29432571;41 +29726447;20 +44679837;12 +12212317;24 +47086649;56 +23738766;52 +20629970;33 +53144781;13 +44794074;98 +47590208;85 +46439435;57 +32572454;94 +52758061;24 +7125491;39 +6380320;47 +43306521;81 +5678973;13 +42036816;63 +5939305;12 +30679044;81 +40523940;98 +37246893;56 +31053923;26 +55063314;20 +20566003;30 +37644178;49 +54318841;67 +12251459;51 +26056538;73 +10505666;32 +27564507;16 +11899298;95 +28155319;56 +7771701;22 +29580792;92 +7247747;88 +14516534;52 +23921379;21 +18095434;57 +47218145;86 +34824122;30 +34486608;15 +15528774;25 +16687533;77 +36888749;49 +24045107;12 +7605265;42 +26210489;17 +54626926;55 +31535427;79 +30839327;39 +37362906;70 +39948258;43 +28947542;46 +27648729;93 +53979949;26 +18933859;26 +49255470;11 +28587275;66 +59982888;78 +54372470;15 +58181406;94 +29383787;20 +12041046;27 +17624604;32 +42722018;36 +27820833;81 +51464958;93 +45798318;15 +44629134;76 +39495677;10 +46749637;98 +34798888;69 +36861170;67 +27866763;85 +50437049;91 +7049528;84 +57639570;31 +41592663;70 +11356261;31 +42577703;57 +37615386;75 +13735980;55 +35219093;73 +47224537;74 +59440189;56 +24246462;87 +16932087;38 +20871074;95 +23124836;18 +39925480;51 +43988735;16 +35439864;21 +21837924;53 +9341785;39 +27961748;44 +54770866;60 +5020837;59 +21208349;10 +59151723;82 +35165724;18 +50873426;74 +9559624;69 +23094302;16 +43160987;30 +5496205;54 +33406203;10 +38737457;29 +21812198;33 +14242355;80 +38622657;81 +25307603;81 +36571814;75 +45820769;46 +21876161;98 +53039535;37 +23482262;83 +15670198;88 +21537397;55 +48293446;42 +17638452;15 +8019055;95 +43690101;63 +44093459;79 +41579769;20 +11208092;80 +23245532;32 +54339419;50 +40918238;13 +29654678;63 +10418180;32 +23821139;82 +12841419;16 +36764621;50 +52876758;63 +20294439;33 +43561754;32 +15734932;69 +45270041;94 +52302695;38 +31537992;87 +35978668;33 +9550833;98 +38483681;35 +54517241;99 +48360185;18 +5093580;96 +40224745;64 +46019590;22 +34266721;73 +37078178;65 +40265667;91 +31755510;44 +28995469;76 +7513990;68 +48271247;11 +29156642;59 +8952029;33 +47363334;10 +53662193;30 +18922547;88 +18173373;88 +22137724;76 +43896307;43 +6252624;84 +54067900;40 +7612647;92 +27310452;19 +52669892;62 +33202935;38 +59122702;26 +22988075;16 +53307285;82 +36616782;20 +35568837;46 +52449583;72 +24018909;10 +16855690;26 +27157724;85 +21133636;84 +35900350;47 +56089126;38 +23390376;45 +41374985;29 +21754186;93 +13515188;63 +59750813;90 +39035514;40 +30648193;18 +43212056;63 +30735400;52 +28280071;35 +43842827;71 +25655338;72 +31775346;89 +23103508;65 +24466518;97 +36994526;20 +8724963;67 +5432285;26 +12412839;15 +27565797;69 +30945745;17 +33139836;98 +9712042;69 +25061235;29 +51154589;45 +58482621;79 +20032641;55 +42732470;40 +7523813;13 +23486383;63 +5293139;20 +29130196;62 +57655407;31 +19828722;78 +34428796;90 +21995602;45 +43443539;73 +39171468;42 +37383633;30 +48358033;15 +47745130;65 +19036031;44 +24198861;18 +41779151;75 +52320797;21 +47019643;67 +50144560;93 +11098839;62 +9272948;68 +33304791;44 +31803775;33 +53327792;68 +44813834;52 +10093884;20 +39411039;45 +28254746;28 +15297484;39 +40033286;27 +42276749;92 +17207420;73 +36990721;34 +18309325;24 +39824936;24 +14311216;75 +56797663;78 +30687513;92 +37182816;27 +56207987;27 +13758224;63 +42664447;13 +51890929;59 +28621222;28 +25633353;40 +44357327;14 +50005142;22 +48105318;85 +59688350;77 +21876556;99 +56211261;99 +41492161;84 +56973386;51 +25102313;46 +47810239;62 +48884453;15 +59027542;11 +42542112;51 +45503775;56 +13175569;10 +47598819;85 +16837944;35 +7542674;23 +21733982;54 +11390337;54 +28990254;59 +12178633;75 +57504192;74 +59833714;60 +53137572;83 +59714964;90 +58938274;33 +32377987;21 +54424300;64 +29076288;21 +26126019;64 +36930386;98 +8174216;28 +59778969;98 +7991884;66 +51096653;67 +40930160;29 +18473629;56 +8814697;13 +8348580;62 +51641576;59 +10367406;48 +30370744;44 +43904718;12 +19863938;23 +5269314;21 +27194775;72 +29210828;43 +51520430;18 +27281723;64 +28464679;88 +54626689;65 +44612559;93 +46947884;11 +27505504;83 +31229282;64 +38582964;10 +42774101;60 +45507919;68 +50215310;19 +38709747;70 +21689209;89 +32552262;59 +26398452;99 +16007614;62 +33543114;70 +30944600;39 +10022705;63 +49870303;86 +34612442;75 +54441792;50 +40844227;28 +38259045;83 +54540468;67 +39199577;98 +59531932;26 +15941338;38 +22236314;33 +41082160;81 +57247839;81 +19251168;60 +24766700;13 +7631915;72 +23981165;46 +32114166;43 +57178361;27 +17443821;44 +20826530;48 +26323378;83 +28822883;86 +30615280;76 +58863672;59 +54263250;20 +44596000;75 +30441853;18 +35422963;89 +16428455;52 +38038587;86 +14524364;27 +41823878;89 +15846244;75 +18356051;44 +49959196;14 +50727423;70 +33972664;53 +42811321;15 +42885412;55 +21006892;69 +21826534;24 +24030797;87 +41528594;46 +46392506;93 +55787366;29 +22966389;36 +42647951;53 +32508587;71 +51075847;23 +55935250;95 +52659293;12 +46011214;22 +44000687;44 +8664996;87 +32413990;89 +53523539;33 +17712211;85 +20802819;45 +57933647;72 +33001299;43 +10307486;50 +51945784;99 +32936516;98 +22977015;31 +21754971;42 +53681750;28 +11059576;31 +59247409;41 +45355540;78 +37413610;45 +8593047;12 +11877691;26 +27053519;96 +49360448;29 +16091422;66 +58180109;73 +17389484;75 +6802940;32 +53198110;98 +33059978;73 +29416529;74 +59873242;42 +20585176;85 +42216669;12 +35191467;58 +46764917;50 +39447623;50 +9530325;65 +14978025;94 +34542549;81 +31489468;16 +57016238;27 +55373388;36 +6391799;92 +33850209;17 +52928716;54 +25826061;89 +48261872;30 +43622660;20 +26980105;97 +6611094;58 +30558565;18 +14846740;32 +31662319;71 +41189342;17 +53886756;74 +31360883;76 +44558332;60 +29124032;73 +58220003;36 +32617724;73 +20058618;82 +50751298;13 +32568864;79 +21802816;22 +19771356;92 +16884360;68 +35968445;45 +44874457;39 +36036230;27 +50468338;94 +18747878;35 +6658024;32 +10233649;59 +7006331;94 +47136564;24 +16388142;78 +52127603;41 +42421237;24 +12050070;79 +36904320;26 +40256219;64 +22529008;25 +17289165;90 +35869119;58 +33320081;74 +31102132;99 +13212137;28 +53775644;63 +52540571;38 +8458657;58 +40915955;41 +43040895;25 +22535386;97 +57624064;18 +55406424;26 +57655286;15 +50656334;11 +34969012;89 +18777015;42 +42620849;32 +17590824;98 +10513613;16 +5172063;62 +47493637;88 +48428663;50 +50613225;15 +51395608;48 +54933556;66 +17322242;66 +57430308;20 +5765793;51 +8503592;82 +40606423;45 +5867802;12 +7256459;72 +54106997;54 +51431146;16 +55593603;40 +12076610;17 +31146055;14 +56585202;86 +48141400;55 +32093641;40 +18179173;51 +10178130;47 +44311248;26 +58084980;58 +24221004;55 +41469209;42 +7314815;94 +39029909;99 +50629584;16 +56441802;87 +53045582;58 +29970823;89 +20871922;77 +47187951;41 +36461877;30 +14827866;38 +37835431;77 +40536385;66 +42594480;65 +7545644;66 +42217484;35 +33418646;35 +56389448;79 +21846849;53 +8691523;34 +52413206;20 +30437353;24 +43471580;27 +24732661;25 +46815355;50 +22488641;19 +7197997;76 +52310020;91 +31519300;38 +8675317;21 +14655927;18 +13135847;42 +47192862;82 +27570878;86 +22928022;71 +55440322;18 +8643198;18 +39955986;66 +37536941;12 +19986348;74 +53563082;16 +32932902;98 +9354223;89 +41524476;21 +15110153;54 +21948698;52 +27546011;87 +34882025;98 +55910736;65 +39640000;57 +43600309;69 +15329350;26 +19789382;32 +15030378;40 +38787490;64 +27036157;93 +45979189;66 +33980207;12 +51205944;12 +8349718;55 +40898843;16 +13633008;34 +24074296;83 +10059396;42 +54887285;75 +53328288;45 +36056350;37 +8287386;35 +25759637;71 +14719791;59 +29438785;59 +16757961;50 +45460162;92 +10646846;29 +38605263;33 +7057880;51 +36261960;96 +48859845;32 +19744475;19 +49058667;93 +9846079;30 +57727070;44 +50958737;94 +37203459;78 +36034954;79 +9024421;71 +30477980;44 +16391892;68 +40558745;78 +36571953;97 +14730850;11 +12403682;22 +5792233;43 +19841188;37 +31871798;77 +34982079;89 +32179837;49 +51871359;30 +11081767;66 +25512490;39 +25453213;72 +21207708;23 +29074939;26 +55424800;64 +43052483;94 +27132052;29 +18737015;86 +7626031;22 +27248153;66 +54459823;85 +41084933;96 +28572478;95 +59881012;56 +49910909;37 +7487145;17 +8578866;12 +58102157;26 +33581938;84 +38020541;71 +20191711;57 +7060630;85 +38120842;77 +42388215;47 +55164083;63 +39145787;48 +50352492;32 +30451901;83 +47304450;26 +22106492;63 +45765310;88 +21632082;37 +54870154;22 +29140007;31 +34211535;24 +44279621;98 +55274293;64 +37530462;11 +7864563;98 +13699448;65 +42297835;76 +59176635;12 +11674202;82 +16078848;12 +16805321;10 +9581049;99 +12868642;92 +43829996;36 +57136872;40 +37810502;57 +54620646;95 +47470391;99 +34844167;60 +57644319;91 +12621636;91 +24933565;37 +23985725;26 +45683779;92 +59904573;72 +33539007;27 +40575503;33 +53650203;55 +50094154;53 +7361675;26 +32087232;44 +48493237;50 +49090354;66 +57962708;47 +14276757;74 +26089344;78 +18833503;37 +21425836;78 +41889460;46 +6959762;53 +13660166;47 +39148403;91 +31059245;34 +34406108;79 +12344075;21 +46924085;71 +15305631;61 +41964732;22 +21254027;52 +15172281;97 +34051348;94 +46326140;16 +51756090;71 +25750540;33 +44676715;79 +22653717;75 +9465251;35 +6887844;55 +58683963;48 +51222936;79 +28944126;51 +40084740;58 +20467304;38 +9985486;63 +6852978;74 +36503547;36 +27613087;99 +59447177;31 +5992999;62 +29545581;27 +28031216;92 +23228166;41 +47507266;74 +55578581;52 +42080103;19 +10134275;68 +17115117;20 +43168922;40 +58448743;96 +17310345;81 +23632701;80 +50418284;23 +48678740;24 +21655312;49 +59822858;29 +34561859;48 +38071300;76 +31823428;67 +7326720;47 +10016401;53 +41490113;20 +49733900;35 +19823890;95 +37131220;17 +19003882;96 +45826486;98 +10852807;45 +26597338;72 +28364785;26 +40753957;79 +24320642;58 +47375819;68 +11727655;16 +33127856;65 +59010751;80 +18058710;10 +8145377;32 +53008815;75 +35174839;97 +31347179;17 +18849835;83 +49696341;40 +30298224;24 +17478510;33 +18191226;80 +21107072;51 +57603570;79 +46253971;93 +24135033;41 +52685792;36 +8884228;64 +16571136;76 +36723893;27 +23872355;98 +23519437;94 +36673780;95 +45764386;79 +18334669;54 +9651419;35 +37269777;69 +37388125;16 +9831410;10 +27571169;76 +43434078;39 +40183990;52 +8239922;25 +56387708;14 +8745100;52 +27735917;11 +5172506;97 +7587972;51 +20622778;28 +18756587;50 +22275024;73 +40153248;41 +40860117;85 +57595461;56 +41301397;26 +5785157;33 +44991563;67 +15022200;95 +40897021;63 +14505486;40 +44287537;44 +11838753;43 +10500808;48 +40771356;69 +49828123;73 +25970377;43 +7304078;68 +57728676;66 +47527376;14 +14128916;13 +49179716;20 +56614643;99 +45173610;30 +40377352;36 +34311764;38 +52685676;77 +8795182;23 +48936975;62 +44496479;89 +41512940;25 +11250959;83 +25701005;17 +10415891;44 +35908577;99 +25211505;44 +51505359;19 +31173882;74 +55512151;59 +21667882;72 +44618797;16 +10896280;32 +21771853;33 +8157324;97 +39871857;34 +44009194;47 +23108063;77 +33059667;64 +30654798;51 +48465153;51 +24404178;78 +52250450;20 +39302451;65 +49373205;60 +8420273;27 +55186905;18 +46344368;28 +40542244;78 +43549600;12 +57589428;90 +50882585;27 +29410897;21 +47510506;32 +49832304;39 +20293516;66 +39650745;76 +44730020;71 +22870950;94 +45398545;16 +52141832;30 +59042391;91 +50330672;52 +55980817;17 +32561656;53 +9985356;83 +26689020;86 +10111462;94 +38569205;14 +44472103;62 +29562679;98 +59033386;25 +58687187;29 +57263995;40 +49370980;21 +10601299;16 +17640038;99 +19383347;11 +16903524;86 +43569252;49 +54547045;89 +42046696;99 +15277895;81 +14708134;14 +41274319;89 +18442573;85 +28348066;88 +22532311;74 +6230320;24 +34577364;96 +9309736;29 +31743482;63