No BSD License  

image thumbnail

EZGLOBE - easily plot a rotatable globe (Mapping Toolbox 2.x)

by

 

08 Nov 2005 (Updated )

Draws a globe with coastal and political boundaries for use with Mapping Toolbox 2.x

ezglobe
% EZGLOBE - Plots a simple rotatable globe with political boundaries.
%           This function is compatible with Mapping Toolbox 2.x
%
% USAGE: ezglobe
%
% NOTES: (1) This version of EZGLOBE is compatible with the Mapping
%            Toolbox version 2.x
%        (2) Coastlines are extracted from the "landareas.shp" file
%        (3) Political boundaries are extracted from an older version
%            of the Mapping Toolbox because that data is not provided
%            with current versions. (The Mathworks points out that
%            such data may be out of date in areas where political lines
%            have changed since the creation of the data.)
%        (4) This function requires Java.
%        (5) Tested but no warranty; use at your own risk.
%        (6) version 1.0 for Mapping Toolbox 1.x, Michael Kleder, Oct 2004
%            version 2.0 for Mapping Toolbox 2.x, Michael Kleder, Nov 2005
%
% EXAMPLE:
%
% ezglobe % no input parameters are required

function ezglobe
s=shaperead('landareas.shp','UseGeoCoords',true);
figure
axesm globe;
plotm([s(:).Lat],[s(:).Lon],'color',[.3 .3 .3])
gridm on
hold on
sphere(100)
set(findobj(gca,'type','surface'),'edgecolor','none',...
    'facecolor',[.7 .7 .7]);
view(45,30)
zoom(1.5)
axis vis3d
axis off
set(gcf,'renderer','opengl')
z=getz;
z=typecast(z(:),'uint8');
Q=dunzip(z(1:end-6));
h=length(Q)/2;
R=Q(1:h);
D=Q(h+1:end);
M=double(R)+double(D)/32767;
M(M>145)=NaN;
h=length(M)/2;
t=M(1:h);
n=M(h+1:end);
plotm(t,n,'k-','color',[.3 .3 .3])
return

function M = dunzip(Z)
% DUNZIP - decompress DZIP output to recover original data
%
% USAGE:
% M = dzip(Z)
%
% VARIABLES:
% Z = compressed variable to decompress
% M = decompressed output
%
% NOTES: (1) The input variable Z is created by the DZIP function and
% is a vector of type uint8
% (2) The decompressed output will have the same data type and
% dimensions as the original data provided to DZIP.
% (3) See DZIP for other notes.
% (4) Carefully tested, but no warranty; use at your own risk.
% (5) Michael Kleder, Nov 2005

import com.mathworks.mlwidgets.io.InterruptibleStreamCopier
a=java.io.ByteArrayInputStream(Z);
b=java.util.zip.InflaterInputStream(a);
isc = InterruptibleStreamCopier.getInterruptibleStreamCopier;
c = java.io.ByteArrayOutputStream;
isc.copyStream(b,c);
Q=typecast(c.toByteArray,'uint8');
cn = double(Q(1)); % class
nd = double(Q(2)); % # dims
s = typecast(Q(3:8*nd+2),'double')'; % size
Q=Q(8*nd+3:end);
if cn == 3
    M = logical(Q);
elseif cn == 4
    M = char(Q);
else
    ct = {'double','single','logical','char','int8','uint8',...
        'int16','uint16','int32','uint32','int64','uint64'};
    M = typecast(Q,ct{cn});
end
M=reshape(M,s);
return

function z=getz
z=uint32([2644286584 1985608493 1585544843 2251228054 3269653869 697614530 1698266174 665070392 725586637 1299123185
    3876805639 1985115722 3865637276 2510224378 2397867792 3341155915 858328650 106839676 4249823484 218429400
    1209006335 3792991836 3234543411 3601852979 2366487905 3878201509 415389663 114921279 3888428399 214919551
    180531328 1535640624 901616844 656729871 1054468615 1391130205 1195883551 2245034235 2366717955 1877481215
    2351170064 3443879201 3296893811 1408940852 1662806043 3465125754 882796002 4112254501 2880367128 2613936030
    282621872 1197158544 1667197055 115853660 2880313625 3285311908 3394007851 3994022899 583213165 1091094299
    4149917104 1377424464 445757 654259478 1658516127 2037329269 3338518337 2589565723 113534498 1306623532
    4116362156 1167775887 3955035514 1774472698 1265827918 1214196747 3531323887 2575210999 1607056487 2002861795
    3076173035 3273331690 2989990359 1231792598 1926734691 3902229015 228273598 4214392420 3454568786 1404293809
    1841163957 1987674726 3515966473 3470281645 2371573786 2294774384 3218056905 958290111 2544148077 8844979
    1428088797 3857391875 2349583221 2776697869 1203000951 2069865530 3741642276 3201054823 3240766988 3518386880
    3714936235 3588089824 1315069557 1965999896 122133185 3285268150 3349362347 4048782131 2490378451 810182814
    1089254523 2992094834 4265976430 3362789567 2112664347 535729719 3644488127 1525214920 1346551606 4198313456
    233798616 788476682 2531084969 2360831109 3013188921 1953601352 3655182540 1733379921 370397142 3785347505
    2469432353 1270665111 3717852477 3584284601 1833482827 3953620075 658291503 2483221909 3352241471 1162274720
    427294272 1683613255 3511465676 2954608679 1836605286 2474321197 1731869368 2521428123 836744765 2523295847
    4215654620 3638969734 3864520997 631119317 3058511113 103643845 3337748398 3170538400 3411580780 2596153462
    2575234043 1446627973 19271406 783329326 4230830766 4251129081 2224252399 1016684172 3488409487 2327242148
    3866861148 1001190429 2262766053 2846972607 2890555607 3274173720 2620868974 607958958 2946360414 1976871743
    2096601575 644088951 1272759962 3056355158 1323045221 766903463 2604024763 2595928727 233410839 1362603071
    2812868414 2693633273 3835153077 2855278782 1027299826 4184878549 2063034141 2285878230 4168774833 1265007673
    2357182477 1362913845 246723640 2834324914 964033619 3143597162 2834140204 157523734 2179714924 641545761
    1878151634 3075817399 1073961593 200768639 40353353 697083199 3763839771 2121484963 2091257138 4261898797
    67515296 3758203979 937150214 3653135307 1936521255 1784838025 2214247545 2254835686 2179255414 3464132906
    4264626252 1086270759 1337584590 671012097 3794876083 1139021033 3383090433 2421559091 1178931715 4149741234
    3556548620 2728791452 3292104802 523468509 829883829 2700925611 728963431 3503168813 3208181606 4131617845
    3165127944 2950212375 2173425905 1398160414 337155007 3618131548 2205663141 3676154241 2885692676 3453090536
    3258021251 3180207972 2275116223 4103117713 2607215742 2311454423 4123931129 1432533355 3094228496 3809209648
    33622112 612065315 1975346540 925723168 1879079425 2024532257 770882900 1877356326 731069269 2159658856
    135532794 1131897256 231053669 1042594088 4136284840 2578709743 622484309 2676544708 1025589029 975663115
    2343570435 2305475829 1449036792 3953814578 3671192143 2389814333 2341676814 1260140996 2991839136 1335699746
    1024859874 3057473865 536898513 2742733572 193409283 1562054366 814032844 3583422700 257795408 1605809000
    543140389 3303772349 3051269336 4104897310 3120146879 1815013327 1854154467 4143459517 2373223530 3633480592
    3322152390 2424385615 279359026 1695708349 3455417065 3221049528 2656178700 2799507610 169424360 711844221
    2164988064 337952905 807773886 809807708 2340643052 3439218452 2256728250 4105088446 433891769 2328613902
    368136565 580405139 2674543242 4285752247 1260689316 1364894678 3752441115 3111486849 167384729 3465399992
    2501515214 1771219559 2146125556 3989264087 2772270999 1883847092 1465692729 2802251762 779555574 3710493170
    2843478075 3227756072 378469684 477409879 858042348 1609947054 2751863224 3101830127 2070065061 3675176221
    2945627236 1730255326 2231371372 3636624997 230026971 1637128620 1336223320 1031185820 4105846755 2463228969
    687646800 1088364838 3567176902 743825109 2095326473 915793863 3620276501 1146472201 670906241 763204333
    4166009698 456364748 3341110762 3335641691 1662944667 427040341 1759925352 1689393124 4012191435 2254961579
    1123779668 2852920515 3166008875 1463041613 2650962685 3627151183 2613934655 2127203082 2046583749 1220395916
    1645324489 2898783482 1955633836 997169995 178096634 2972411303 2603923457 2135702437 1650000570 4130514234
    3788194896 3120874922 2050702223 3394411203 2097974189 632940035 4225120397 2659684805 3753259614 3415986346
    3363897802 1772343200 2672819136 121070298 1329746857 1018553924 1924790108 3169641687 1261403007 3407744486
    1882235409 2263681055 3341766458 2009905851 3790786726 3620485418 3067492780 451000553 2046272418 4066305512
    1475891271 1254251485 2495682057 2293462578 2899851410 2070948495 4092690662 1981325038 1880789757 2932687868
    3332709764 3081819152 526262708 2512277236 3017849076 2024977465 2107800993 2627630370 2953902023 972739880
    2843484951 2754016320 3292226141 3988193294 3835657942 3079486074 1402206242 2851930348 607863846 3723524206
    3463212950 809365015 1219514018 2550055506 802956624 1906694444 2238087631 1524025545 1476126951 3878168898
    474628565 3867754220 876739099 1640449535 2801494303 3277674598 181078391 1814525948 2062036522 2053099749
    1124213129 3560992311 3715690937 499547939 1857779359 221761178 1304145401 2571963661 3446114091 961166656
    3795809336 2718568553 4107854574 1380490943 837831613 3527201351 4216903838 4264171613 3132337928 645326268
    2110489619 3761596272 2803786591 2134031602 3170294352 434608071 509350964 168256288 2319716250 3539584360
    2096516 2663404367 3221230290 1292810259 3153900076 838328829 3822703436 3625759618 3288710332 2712077680
    2819908069 2289692783 1449194043 964073805 530380562 512007542 3734115990 3656704428 429404681 763656616
    2536184799 3133571038 3869430138 3133380494 3617920296 2889102003 4003414706 1003698985 2759316407 3078794545
    481913068 2822749457 424343238 3452301091 3470307042 2542509548 1052939277 4220834984 828637949 1181082835
    354797895 4141360713 1630347036 1528154087 1541306675 2158534399 682448046 4225885001 680232440 2947043649
    1717388165 1080745026 3660516419 1638624407 3458331866 2882951186 907610952 2408921773 2007304976 2051589110
    2981215816 1580660354 939528763 2909282263 4041160663 410277796 1652468150 2574982439 4155127717 485440708
    2247180934 3192010958 366671235 434274579 4187874975 2619447180 445940019 1131162484 95293746 319503419
    1669157322 2189361190 3348973914 437878778 2332707783 2025004806 1783642362 3067945935 1555909798 1625732259
    3842015497 970217671 3596254661 4284210899 3367817899 3141058455 1465276658 3559541576 610283347 1689335113
    3164545439 965990431 1710693196 2816455400 2237025782 3345389538 996864520 1300093201 3272164732 4244120695
    3615785670 2570593470 1760299500 3561160652 2632688375 2109086103 1937713513 2290111809 2323970103 2354947263
    935888876 239921283 1430346186 3377043685 3499701759 145109480 2990303532 2836066270 3833965764 3269263894
    1751462038 63903608 1405743041 2562912733 2745812743 3599608922 2319645880 4083402495 3345079418 3643739287
    3223329877 2850408375 1736612793 3094376753 2718182179 3183212632 54484869 667690958 4038677367 1947407129
    1078203281 937575340 3447286267 1783916181 2224489274 3038902538 737490944 2514011133 3230659702 1067890012
    667159088 3957314720 1312498551 4043624095 1551042469 2180394069 3478500997 612205756 1318366804 993196728
    3295715862 2648031600 1541146226 3380526744 458156775 2086033277 654988935 82400239 788879170 1679680042
    130277425 3628735482 1780764547 2685616983 2147872626 2663627400 1578413239 428253641 799089930 70963103
    34063889 2843727032 738859671 1254883193 3045854367 1855318603 1791543325 3924567445 3345329253 1832274201
    1810370689 4224764918 255693668 3599809183 1472460534 3029892783 745266292 4253718361 1059188006 583293612
    3229215284 2133388938 3045443204 2840010372 887650971 3408796621 2659278099 752148122 467065614 430294867
    2151993595 662564384 2987719750 3959171497 415465267 44912331 798586648 2905775762 3190742827 1422368618
    771783730 3627039701 4274551491 2657249614 2570578680 233821823 1505036725 1081628531 1303160869 3163069479
    2349791294 334837470 3597816908 3080295509 1950821192 2741999990 2105801579 2168886532 3042729391 2113061641
    3503839866 2258238376 3828192955 3959165825 1345856417 721349747 3882011533 3671098976 2727091004 1253907930
    3573101688 1900644611 4257951291 2099614613 1364718230 2984890169 2808272454 3151607540 3779544137 700473696
    2466224940 3175664255 4086662959 3427794576 1748318350 469053646 1086090947 3209507807 3989570378 2598954699
    1284853731 1152604065 3666709213 1994103553 3496977505 1765545580 3778853567 3739708488 2839649675 2046110610
    510939029 2996792822 2496591070 1169067632 2239467291 1507486798 3725849847 3130129611 656894284 889477045
    1190332418 1449173800 3395217716 2279430487 3671123430 2440310646 4069409595 4130537111 3963883332 4006439093
    3847211924 2649628806 852386570 1401003482 1991982015 367111149 2260432973 1402268694 3634948425 4188055742
    3871251737 2591018319 2772932065 1920177996 2030787433 1134465730 2827029884 1238208420 672788178 2241452
    1158315260 1459060331 954306029 3313250430 1025758903 481451988 3155155539 3666852936 3160038408 1437894872
    920076907 1914767093 2107441478 1981536526 2254168302 1038726715 2204717789 854541373 1059380162 3054904245
    2926060990 3128035922 221875577 3947458389 738202029 1762207926 1736379875 1112325416 2986946054 403432677
    2457993399 3573606346 4218239495 3233221258 4155218462 1667811405 2074412901 386896329 1902566695 1017256179
    4291448445 234685930 3799065717 3599095608 3973947606 2928623416 523839678 2151558253 2016695882 1514987099
    2087741221 4045668315 3641468319 1195109296 4208849341 1952447370 3340551315 2470403865 2688908036 1523290313
    4289188094 4183805858 3719361109 3634414749 4000808049 4233578606 96030453 3622306102 1963517510 2883935190
    1651223048 3769476911 431068334 3927677405 3652102766 4051522266 3652967804 2566326718 1789722098 569843334
    4209992025 35759055 1430778595 3784067218 3072444014 1006643498 770134728 175088855 2120440801 794334811
    2536013931 1535745759 703518356 2742779071 2259652215 4074912049 696176340 2832363623 3682452100 1091514042
    2835676680 802950206 4088326070 4076813354 3695776934 1949215012 1814159289 1447000823 1816256476 1927415029
    1335766653 3304186832 2835247064 3385573597 1749904538 2396320179 3762518662 3985319452 1789221887 2738177811
    2816688889 1923792017 793094261 2849925707 2290143076 1506529645 652149902 3444235774 691427241 3496946883
    3978034948 1708819179 1834645375 2559764637 1484755170 3306489323 4018338078 3134453451 280900718 2824262142
    3026004390 2921827413 3430486066 2468108318 954682359 1979618147 3835304645 1792802259 1648250846 338637904
    469176415 3158546088 3666133577 508827040 265704024 2535541374 4226194705 4067055575 3361942843 86919946
    3312592753 2039082531 4214473098 718520930 2931413886 4181992804 4041383560 2767663938 2912967666 3691113202
    2186672094 3619493151 3208826499 862266071 2952086499 2526851423 95771142 2074494212 1032237056 3914259768
    3112952767 3081372169 4174123355 3724687502 2654613185 2808725779 3552968536 2519912601 899534631 4165518893
    3779388547 3949942223 1816374904 709316865 3609381785 3631999423 115277129 3913036190 2686791993 3906833172
    471968738 545073403 3485030472 1697872586 33224198 3450441826 2606988990 3106632985 1907833760 4275772843
    935688082 3082114930 1891412206 3060877014 1917807296 629280173 1536431903 3032776473 1931656565 3818746963
    4234288698 3822069785 13954627 3272441251 4146665444 3891251316 207131731 2922444684 1891431514 4223901547
    3306271024 3519690744 3865238454 344368166 1631857435 3033882990 2875461376 1915138953 413978192 781460619
    2180518408 3819058524 2391660376 1903061709 199684898 2077509148 863133563 612492691 330312746 783534988
    358418689 301299015 3762306782 909253688 4258938365 633373607 184388370 3222842503 3868845948 1851131796
    4063231607 3520273949 2296817916 603094897 155283852 3989891401 3314329432 1767488139 1215181356 1133368133
    1374979911 3553154383 1922795963 1241034129 3017455593 3001349889 3673354179 3483034435 497599966 3495691138
    3926179139 2951532853 3816714957 1537693343 3663257540 1927038849 111768413 2945600084 3196268639 4120027326
    932003454 6212216 3480964255 1582463902 368637746 2074978211 1059251974 1546730820 2408801834 4123286414
    1426008068 3201442181 1320193053 930044956 540499877 4263752307 1966213936 2547245230 2089391925 593844665
    3372737600 2250173859 2918179057 3622132013 2642869049 328711285 2906777114 73117603 959260624 966934905
    33552313 1125111344 135124768 1541314850 2175815401 3693188366 1515761981 1956244237 2099442257 2804940877
    2697130000 2886200120 2419396295 1701516845 863229787 947793959 2503193782 2144337916 758642208 1549409801
    2856615465 1528563357 1962234150 1525705927 3171412272 2360895098 2750493988 3421891853 2693573608 113618449
    3188168351 1367309503 1514125945 3214465569 3920232204 1646259283 1341394495 223844242 3903192862 3328647847
    779993751 1085843377 3967589456 2037393304 1501181023 15400971 2768065727 3415129447 2452869399 3301644378
    2221356824 2975750637 4217500287 3052791053 245952829 1965846154 426223713 2813441728 1245655722 188711082
    1676696800 3482648754 3305441112 1517791005 3096933159 494672262 4294930309 4031274981 1951356410 1947683182
    1908910019 2066197236 855476572 2044309919 2830840220 1434645486 3219846938 3159672464 2548069707 2314800191
    201297532 1460678213 2276835756 1231533734 2345191219 3811369067 4260352836 4177080854 3920793799 2834124153
    3500028074 2597670805 1079724057 614387145 2108348662 3573692649 51645511 1825320660 2879327908 1117496574
    2937890709 538607972 3336302735 4001592530 670277688 1842560676 353408265 1651987560 302550342 2166348511
    3762039697 490282177 1313510333 3050756880 3203309529 3419615956 290537556 3822874106 1207707317 1778438650
    3648355784 1769296675 1499057179 3917954938 798930972 2834243444 2929569941 1358775934 449984508 2700815805
    1297463058 743007650 1345410718 3215735909 1371134363 2875503800 2581190813 4126449662 3104260556 1038316904
    1864649205 2147793357 2913742530 1992659882 3988125992 4175302804 3667758749 3422254673 2426151491 1657076725
    2848214820 3673763264 1820896074 2515392813 1460759970 798284436 4003306905 2376246774 3322515861 4109199994
    3930509867 294503761 722916510 3168196757 1267508103 2359693139 3923549614 3339272185 526525641 262450158
    3987556290 2797194158 2480535392 2650211403 3620022274 517312970 3923439342 1467055938 4025973628 1938214322
    4166686716 731032292 2756451175 2759520651 1923943237 3282083352 1091832590 1843397016 2979306690 3867458462
    1853672820 3866484776 2708545964 385746655 3599846915 258756125 273699152 3746879283 2613997166 127037348
    538245246 624955813 530740214 1299476460 3342455515 1030541001 286265347 371190295 1862346628 2877565341
    2978633294 3475760407 2366017902 2164004316 3551880099 73001813 4203744336 2959501161 3942183786 3442848668
    1385086970 284406283 3139414263 3457392610 3312893353 2277300992 4282367218 922677430 1060914674 276853014
    4087986552 560424167 1260132893 1863249230 2745340830 654066178 3995596736 564739096 3661421065 1972360295
    2541780729 2172570446 1219303254 3040332502 1766208964 2561989810 2675174951 216941543 1070527078 505413855
    305751717 179919352 2633111005 2921295471 23692553 2477896117 2394594675 2318338037 4006018308 4284115882
    3181942091 1807952189 1756983597 1858523839 2683576259 3673857922 3843509199 2520131410 2968847203 3163010726
    3941689963 4015276055 1822212535 1965689453 2082768454 2523000184 1865609010 633188189 916861631 942991905
    2522748835 3523269004 556944752 3994932087 4087308437 739694105 18598263 2209330515 2452393693 4240029109
    3605751776 241787255 3924339707 3874384141 3642716999 2749053682 1538649510 3686470252 3764241551 2463617679
    4238872131 340733226 3066060030 2451946459 2134013985 844086741 1296141280 679638326 2390494943 2457705861
    2727518918 1042843687 2683796087 2731647593 3312215736 3163502810 2154216480 1928434510 131671414 2093419815
    2534415866 1397439921 944464813 1169284547 2635319972 3480057768 864713144 2185417646 3357741402 2334950871
    2846969199 1060950591 2948788156 1103737283 1551623769 973078586 1075497732 2196862301 2301336909 1484854283
    3145005154 4148689832 2398750085 4104874131 1939339671 1564813689 4048289627 359757283 915092009 70002891
    4250335938 2254370096 969504433 4205527415 1869652420 3961294797 1392510863 4250777848 2452617273 1080783385
    2382518134 3208565149 4186370834 1999290658 4002836088 1007870269 4292419582 417015147 4117664839 4195392783
    4238588252 629621330 1779626624 1602134350 3237223919 1574349105 2993400697 4159046311 4086611593 3646579260
    3745593633 4082432922 3146087125 1266840840 1266668561 2145348568 448868959 224733542 1781348175 3470169766
    3224830211 2230167519 457752516 2536656779 981460603 2105988557 3346782738 3802825971 522866282 732110119
    1611664725 2294599665 4021603700 3173399325 1026504157 3226139079 1244781782 3673457379 520134614 3648221803
    1910489387 3004511205 1723100952 2117804141 803364603 3325931145 804763259 2669427374 153945411 1930621675
    379256867 2830827751 1945892612 53008018 3321289628 1840950375 3223829691 2193988254 296262441 3560388984
    912136182 102015135 3086548322 4244363419 1619734740 2232412643 2780785418 2693047366 2441301005 4005745464
    2041034218 279034400 2006404747 177922800 1065662543 3074653285 2332807560 3900075527 813303987 3015964069
    1001346052 172177913 2473105035 3515322941 4080356377 2044329690 2769757735 2716142997 1864431407 2909910976
    3735516898 3191375287 3618399732 2629150468 1880836272 619316195 2873988886 1464552357 398554656 719281227
    1874146335 3339235779 1606520478 2943308439 1764563992 2986232265 2835052849 3285284016 835250594 3313042940
    4191222972 2820575714 3416443505 1836110095 2565515293 1645728121 4232637983 526071330 358904936 724010261
    2227847557 2206948866 1252509602 1921976295 3423612508 2953773885 2083306532 3367343786 133868906 3062060943
    43391124 3302543210 4270562642 2042279440 110114862 109217490 4234691703 1867796058 3201851646 3884849068
    2921286136 3122571392 2824068396 700884171 248645376 4123458380 2313024685 726415659 2797423361 756935537
    277536568 2290865408 3736254291 1006644834 4018492374 2215726654 1447151216 200011394 1518792698 4195578919
    1607996524 1790428026 3118389317 675652873 659934810 2278490928 1765026409 3697294484 3589852897 3942368399
    1058536644 869862397 1228664743 196263870 900151527 1684797292 1414883865 3306109071 472709233 3624046649
    2154442248 4092614211 2443550371 2209524277 999564646 820828935 3649973544 54169347 3304988093 4144078680
    2137544483 3572706928 3082213693 441540067 4284200206 465529065 3119334737 3474050459 1075191349 1396793075
    3478436292 582168832 3553498045 1569334673 365837028 1538565416 2105666533 2762132269 2843450077 3461318014
    4162844721 1261041394 1625195339 1208709581 4271740686 682929438 1330178339 214571267 1380799084 2388551235
    3122662268 2943252414 598276096 4112489462 4133382449 1368927214 3853550257 1641529518 3724387619 1258518325
    1423432839 1012013692 392306595 1096799315 3766109417 3375353280 2814507261 3208305432 1827414096 3155319616
    3232953666 3891430243 2077737095 606020375 819549027 1836813645 3409019822 2583139081 2483292016 424474019
    2013020984 3223557516 1029244596 1365167965 3600123311 734384662 3352857570 1225959151 2672469625 1371837826
    2226027673 1739202383 1156046718 3141904061 734084120 3986443689 3787046098 2297614936 2394443495 542482390
    1425652456 3595228561 1721430935 1090373831 65937236 1442465521 2766242554 782371690 1171903984 3479528341
    1920582700 120281184 896052311 2523969961 2280813943 3753593845 2217690387 4034769304 572452030 1256713899
    1763787038 748371860 3281509918 716905422 598639951 3210950405 3865861011 1865599328 473152785 1837921232
    1930018887 547438167 2295187786 780631510 2770964301 753715844 2286263929 876362023 2928690688 641611981
    3343100191 3364109248 69980202 1849926522 118875707 3325429164 3563976825 2820901177 3229210421 2581980755
    67017745 3346407774 811654784 1170379506 3566089260 2067173974 3337148769 2652211171 4076369237 3264955495
    4065234032 1339214608 1761358624 433767157 3715899242 774841636 2921971395 3188943915 1675212676 1462080910
    27933298 3623944698 2364846566 1735615257 609343061 4055218133 2891961953 3726457197 3365257610 2439435066
    3378707986 4133200402 4119270228 867501876 424357182 1651518975 4197211774 994835605 2461325906 2309697929
    1487816449 1587399465 1746790326 1467313721 1212837196 3084783092 2743739177 4072391656 3349685116 2033744432
    2002089763 2237875852 1595300236 1744064292 2260231321 4249513849 3243416074 3945676123 3522414837 1355281942
    2446122772 702319130 2110979160 3737918802 1265191319 4187465547 3521083125 4166116456 1503170239 542334803
    91215147 381169350 2946877365 1030926168 990559 2962764566 2280483777 1948010599 3232909233 3671423447
    1915805728 4052634688 3645527631 362058525 1797716499 2195112127 2910737772 2804590106 2245382832 1781364696
    2307229325 3727268463 2696349091 1279882460 2257643883 2672452750 3212607304 2054939436 3221342055 3088254519
    1165300175 369206065 2602366732 3835156182 3416168287 2243381757 2599155639 1116730174 3377044638 1821173169
    1152130652 2234850762 2332280417 3952179214 3285849400 1571855486 284064341 2091286322 1170110212 4007255217
    1359139568 2091823021 3681381128 1332084268 1698515388 1401098925 172181018 992449701 3754597074 3255895719
    1386308985 2818737959 2470114539 328776586 510610548 1203925854 2355424914 1773127518 1901174336 3561237511
    3830481009 3108105516 113480823 3497586908 3587709865 3446920583 2680608808 2595341614 1104665545 3458594245
    303733504 2758027878 3649266987 3484351711 2845557099 523098872 1499650984 3706134090 2507638404 1341069706
    1951808063 1993642293 4249686671 2035930334 932784995 1708804539 2534455784 4283416418 1227554632 1376131953
    2245509311 1930883442 2516432127 4150729583 1791508056 4235460390 816149186 2189443219 3341343862 57189530
    2017992490 2235054890 1490851378 1663036197 2669399149 1196530587 2070499378 4283068155 853719654 121179298
    2837631650 799185789 1696209342 4112481109 1560158584 3614454885 386790411 2639773097 2950498064 770849777
    544625322 3156316607 3779946295 2485067034 721501682 3239455894 1686597581 1937964372 4181028058 1310065002
    2104571176 3475209861 1240262635 3734591585 2255819913 1038539941 3544120705 3679275823 2448465193 3493000099
    1644294825 2166370502 977245371 3022634424 1853720331 2044183962 1942004833 1442842905 1517915766 3906918603
    2122821986 1409551374 2694214515 1347112810 711861910 958683430 2342313188 4000107307 2481326531 2787360611
    3212954587 2412762359 3554900340 1508977867 1917000796 4023233575 3772031842 1998679801 3359247108 1927934162
    2858698269 531519216 1939185034 2297314353 581613559 2097522056 3454791390 1468241372 2763236733 4102275219
    29789114 1344887184 1535818314 346139065 2935811423 4056998121 3939293919 1465329297 1301229425 1579744070
    2876860037 764015321 1389551954 1752893663 3234472156 3640908915 191367747 4106959257 3715764569 2369075992
    4216537675 2400629048 2623121785 1713333445 2499135663 3778780372 218426535 985399711 1816161725 2544763035
    3565485681 3962846056 847824076 2258907719 4221604571 3123031443 2011019156 2154987222 2856776999 3460175281
    4129918261 1614819756 1206283519 273519865 1433289089 2742901447 3754333501 3419037676 2759544233 3556411120
    1944247464 1835968055 2997807859 2877221806 3732957388 2312509774 2844380651 71055855 3087031034 3472129972
    4161392005 1383248037 4276802410 2103452087 774550771 2215598022 3081405326 1698526314 1194741795 3302913306
    4251147401 3914447031 3708092226 3892268797 397727238 3036404101 901877253 2574467447 593070656 2847447242
    2404708896 2338668720 2365336024 1530201052 2921798167 4182447643 2043036988 2486431351 2415581851 1036471886
    2477963549 1198230361 4255458236 3783862075 1932033161 2628046257 2438573480 275505128 777135634 2589881417
    3286393347 2867811272 2375366021 2790118294 1269444244 1504012346 1501337853 2792714314 771479079 44666799
    3716591459 2168962577 4017240037 4282669817 290577227 3956183319 479841565 823554412 771496374 581678270
    4240703615 330113720 3701210982 3106250389 3395681112 1838374092 1421987763 1827998318 1575292933 3409479790
    679710546 1074812334 4196512923 2915237486 460784841 3687309979 2636768070 4175708650 2624789604 1549095413
    801984558 1190925295 3498891328 2110760411 469544888 833403218 3764038587 3155042928 3170261664 4033045801
    2926112113 1601213360 1008546267 1659618893 1346258256 437266853 2198025103 3709766699 2731325694 2019244872
    2148365335 2655266606 3566636171 2627050343 1189003630 1989265203 1189401958 3276449781 4128395512 139095589
    34588831 899952624 1178593777 3733034640 1440359066 2806434120 1111076239 3317669434 1290463423 3338669514
    2160310787 2509057663 3867112253 1063341087 1665912534 2684037813 850845084 746641523 1753211132 463787947
    677706560 703846040 175228638 2566227571 2708811999 2735304202 2038013679 2257474416 1228316008 1409034246
    2014052159 3708333332 1018371513 2908156206 3678131116 1538647738 1662962393 987135056 2669529184 999352073
    1380613625 4121646675 100600446 2065480679 867480953 785338071 4133493290 3054084378 2747901186 3001553424
    3368421448 1365198105 355669652 1017319648 2178004858 2691562293 3916082604 3115267844 1440399687 209487553
    3849069103 1939896301 1452243342 432888231 1346390972 2405654634 3846252986 3020173908 945515191 199254894
    4237299967 3296583556 2997741420 3177569670 6257620 569774259 1697408061 3699998273 3747361043 4208770245
    3581352065 4150479855 1449117027 1692268886 4187397376 2766076372 1322029920 1496075075 4202796553 419938272
    1581179965 1637318390 3358415231 3345181432 2526348466 923882124 2084493667 1029348013 351517781 402287484
    1567442022 4232176193 1294179999 698335500 3137112501 1402762925 2714118957 961249878 58515310 2875697474
    2906951261 1943768572 372805234 3628077453 2357315098 182053444 3188194346 841905309 3978258408 988286
    564804894 1415411585 3014838994 3182954721 1182625195 508225654 4177737613 3778213124 1648963293 2325574798
    1075958185 2970034684 1098326642 1949559797 2591547 3570023351 38881375 1653105995 3439778656 3468381918
    2101225465 2975581102 3930804835 2205103673 3883722261 1689874598 3378247484 3343186581 3830698731 1510101273
    1189887596 388826241 2922877105 1167459163 3421442307 1898720146 3501641300 203498254 1515512849 3539224176
    1372083282 1644816235 3786025804 868219381 1828269333 3594045255 452234887 647469635 1847818514 3207493615
    34000401 278050468 1494269310 1411136990 2357139273 2576080515 3628399918 3721215276 3335708927 3052958825
    3899259389 1086170896 3529299828 2981468062 2087285973 3114283579 1790650141 3726853834 3665159734 344281592
    3553916056 723686383 3355746717 165546984 1563567278 3210696394 3704862242 3739657558 1297676634 1799789721
    2297615570 494002782 3746840893 1005824442 2456069362 4042389325 2238349185 3590422921 3413931151 2730424273
    3183350011 822545369 1299502802 1691754639 1978073847 3836646621 2026643752 74524796 1601100648 4014860446
    618953340 449646970 22957286 3824237315 2410845620 3068961501 2331781375 2950427658 2124845300 466708927
    2160381418 439870021 65394364 1920762340 1132685468 2992630948 1147732878 802856786 2826498185 3248006813
    3953346840 2904716937 51234425 5716926 2946067885 3322827214 1684341879 1959070709 3067526602 3655446645
    1160981785 3685380501 3408562655 2667716557 3210877 4032239896 3948661383 1206114466 4287475630 810904631
    3005568121 4213408435 2792777711 4220479225 517625472 32294226 2258386178 578753275 2413497251 4036159276
    3814277766 2940788846 3472523294 2615625814 3770825197 2734546655 1412897085 613109267 3493435934 4286682544
    2783286528 163262722 1669301377 8689261 3855238668 1754506733 1683539377 4064065101 4068050157 3059283859
    2192701583 276208362 3296358592 1733247071 3131087162 1114063535 2287105934 3566141518 3119032481 2652366359
    3596084480 4251971520 2572026231 3270916710 2289641436 3881639531 1798484820 2922197732 2374140524 4091921988
    1247174602 484131625 3472880275 3677335286 3103546527 3440284005 1559507568 1974890528 395289197 2480981752
    152757303 2304634339 3394147474 1959152438 2710721315 3766463987 3035846051 3243441303 267244589 2948914153
    4198051503 3069275180 1669687663 3125723139 2171257471 361688797 623196540 3907503715 1711347641 1455044533
    2483579495 696617123 828945108 3998204827 3201852541 3038550747 3441968638 3445592247 1088579395 2616975989
    4199659399 3083203710 3426332879 4256145196 2956859344 228267948 3036041018 1293346094 2338541913 2497505798
    2258952292 2419635625 2505667656 4056183031 3748215436 4155011103 703229178 4186541168 2754251533 4257508176
    2572158644 1308680053 750507924 2723812694 4099472884 1535026851 2043432778 1767137643 2495735748 3448174058
    3932105362 1876184027 1954199989 3235166976 4182211410 1987295421 3225139828 2092032340 1980204725 3167521557
    3238646313 3145262401 1918951 2988825173 1940642103 1583538663 3656637565 3000950357 604922914 2448072222
    728519863 1586785612 894316440 1175122784 3380405262 1463455457 1371495281 786023182 1107748902 2564015286
    2458084162 1797926986 326862991 1914557845 1734997167 247631809 1402264467 1359902512 313391255 1526451972
    4175211148 1674689822 1740584390 4202125649 526248313 376567275 1014467829 92940934 3372511412 1503536109
    755395410 737817144 334339955 4272345277 2884379548 3885914530 372350935 1288767399 4211282331 787846526
    788540235 2013801430 2678789734 1705889241 3795339660 1639191499 496121779 3962564106 2626540042 2125166
    1573677911 155537291 1513282403 1130341882 2900805437 742774313 222360032 3167061555 2716953116 3952542904
    2383682052 2755809969 1733903714 4263242291 3331778038 767229936 1833555700 3728864580 3544803828 4159534439
    2408411702 645575331 3864126300 4189186180 1560173738 4175218739 477498552 506572578 4155718456 68421433
    4172175507 2684883094 281015077 2580224811 1509781703 2125455681 3023214644 3025116324 2480681336 711770510
    662430418 3151043831 2562215464 578236854 632197778 3285349423 3201285828 2747968804 995198662 2922980158
    2711880830 41412751 2675775584 222155208 309916805 3904641430 3300223831 3297852970 145897626 781881213
    233161392 1761262577 3194768139 1567968661 2919946147 2493087751 229880404 955632569 2069869458 2369292441
    3162906415 2272410989 2406463800 382448278 4159806413 1903846645 1673614840 3499063803 3879005857 3123704481
    570222620 442154472 2709577334 3550732734 1205342726 1869964204 2613444482 1683670717 679595542 3203516565
    2691769216 3615801166 3986079926 2860117375 3135671924 3342229827 4128212861 565571017 3235604992 1985379296
    3616847075 39461158 2365206198 367893685 3714500177 2978670277 3700614250 1385482086 2464861053 1011083857
    3232627724 1796415156 2478001643 2644153877 825015670 3249307310 1414100012 324774194 36949828 3067598854
    23984642 2209843991 3325695686 1970318069 40460045 2802525053 3906816373 2605843052 3280553416 842479923
    1380373373 3886409605 1468221789 2404813901 1558715709 706679063 2065464714 725339557 3734484755 1960801992
    1623424898 3185603890 3069795948 19139148 3080314737 596774751 1030625878 1298622200 1177717155 3386151616
    1522030547 2363030613 239885767 1283367779 1357245347 3828241131 380383598 1656295662 248661522 1050180553
    2119490858 1758480287 3438359562 2891656913 975904162 4060727501 802860306 3854388508 2956559044 3566729507
    3871397164 3268933558 2081245936 1253895663 3075840160 1858027774 2555532477 2412286602 3903026337 3896691320
    3892499805 1054172340 1776008214 1995359920 884141490 3300679730 2384415879 1973327792 470085548 3312811275
    1219280586 423066162 3699065982 2035896918 1605036239 3581575596 2266307519 2901336707 1258535061 3290286668
    851018065 3567681039 3271204093 2382693275 2121720938 1935788874 4132275455 1224436310 3651467151 4202028918
    2417095446 3047274036 4034861355 259986541 2404833697 3754650464 1395794691 1262459240 510344138 3309691479
    2149803743 3031734969 3589543391 92212607 2909802819 2752381926 209063287 708945649 351297098 2881983904
    3112446336 3579419332 317236672 168351 1337322398 2076832704 4060777629 4119210746 3038021553 3808141929
    1165040636 90316558 3761038453 4122470239 1727395631 1002730483 3878183035 4167163274 1044801157 3373904509
    1409456252 115389837 1753173200 3135874051 1669085591 1604074904 418855131 883444113 3638053361 1138963781
    474291685 39404673 3688607561 1294043684 3344827977 2350227026 3388427203 3842563024 3317201898 3148056590
    827701386 3489809542 2474221880 3986216395 1934364636 988708846 3431978083 2964350296 3860482949 3255305263
    3398990889 4160032410 2526393721 912678094 3396821151 3226396621 759508043 1049242920 121635766 1162813999
    4198621565 2557162737 3279657989 487488445 932263640 3118307549 226184255 26150437 2871703012 4137600965
    3860480654 101564212 363744176 1266484882 3319548972 1235930288 3663507963 453270144 1644064486 3171254614
    40497443 879914210 1458997750 1743496460 3476627325 1342392803 2291915881 4240408573 2197268008 2403064666
    1921520411 3585161453 1337265942 3017345481 804614381 3219700861 1966625963 1095544566 2854130302 1502058650
    3381027155 1473522294 1583906060 1676097601 1538577049 199542995 2419455497 3331794954 2459850844 1789649425
    1914451513 1024718931 2083203921 1643175533 3607968657 1567350956 2527930727 3222219994 2063415926 4082778028
    3131558175 1090834056 3361441736 3455266007 1785273882 1784287463 2675642380 3568297740 2439041492 2653225390
    2825545988 1698572790 3049258269 2864804989 2836230119 2721259844 2349497846 1710969139 1068351455 2065947241
    3853125860 297209131 1212085290 2528295718 4108366836 3838013943 24463092 662092599 2531784298 3746602471
    1251908356 1685076092 1266026395 3771381522 2223708855 2894768276 1761458026 642134238 3395829253 4012243941
    1292781702 2601736535 2230027772 3539374926 4080910781 2018330202 1572031031 307230128 3037985610 485816705
    2269337600 291459142 3954338699 4107968646 1898247356 1801002961 1682190038 3969200987 498917411 4233329576
    3573056269 2705100024 211400479 1999458694 4066162661 435411635 42640261 715585843 4128455843 2746038794
    2526434820 4037506730 860678936 2943117837 2872136 911919053 3057588927 4008297281 95244201 4125808441
    3448141091 1569373135 3235693854 1056022457 1672645536 690609686 685665884 3698227310 572946167 3269969568
    534587047 355384402 1537961822 110206412 3275157496 1010063470 3036296257 4204768808 2894093250 795357888
    1251730549 4098585535 2794115700 3818781671 464399156 3045783185 2618946407 2678214466 3655729872 1131490358
    1590773736 1540438014 327098875 2370303676 217562983 3460526394 565517900 4215158303 333014498 852369381
    357657941 653961951 1536989655 3304485871 2260558999 1022881050 1535638338 2853065538 651065544 1206709468
    2847052343 1237399354 1231070143 1508045279 2989797921 2661753567 2050569500 3596054051 1438044901 2192224674
    3744130866 2625667001 1507484750 3689915538 2164142140 3149906781 2105968242 2093868637 3546672397 2893229601
    2009115076 779895404 1710507886 2502855667 2426632041 517238222 2588997704 1632774286 3750849042 316970322
    323164692 1830689796 349932159 145671695 985022897 1725552328 3171015852 4277719790 1062231171 2920148988
    2561170572 2772337789 146737303 3148599315 3014858605 821271350 2459653659 429210697 4294012908 92866966
    2368218832 2233837831 2144424383 1243433047 1540678297 1089064367 941678487 2106865749 3254475360 3180352992
    3901678115 573765740 2291318919 2043423707 896766175 741046097 2125265813 1627710262 4073057583 3672468050
    1182405921 327062592 2615679696 2180430119 1306829418 2885490679 530683577 1628131413 2350886187 1206557610
    620573987 222391259 4107473620 4054442114 3716401427 3351670248 1161461876 127888540 2205003841 1121344170
    2773292626 1761369818 1516990063 953017171 2692399030 3699534347 213756842 714405957 3598695809 2814521578
    2714026288 2368340481 2938892881 2957065446 2195542242 1529168541 922241939 3596761510 698093596 271502048
    386450824 953653768 1995034283 2341101693 1910699178 2922572714 2610766032 3219519377 2978162894 2994378865
    1350235130 4284577712 455552471 3982418361 3337248756 1517867760 2495065614 221719639 1556107718 315597803
    1310755452 3030947055 1811321271 1978064297 1464466136 3984288685 2205992511 1463491242 938583225 3419324047
    3600902695 94810155 868033533 1000031651 1471921028 2579838976 3250621775 4095060789 4112774701 3144905080
    1345180042 2163833263 3665439248 859018582 972773305 2265527188 2753403711 3009759218 3416714150 2498206928
    3062381139 2680211409 1105830130 3872756919 361807611 2785680650 906394265 1272813658 3519374543 2864031421
    3308364116 1408135840 2734248531 3016586166 1596751829 2625900197 2955760839 603002652 2358365305 541787471
    1071400702 1756090301 926492050 1932927516 3946002526 3085621094 199479250 1534858600 1105959045 2488523010
    3582133621 1526735025 3219635730 2259100620 3010667759 1516568298 1300160080 2410056432 867141482 2231923977
    2292460222 632040007 363400495 3868317504 3361700203 3127570027 3503882558 1953639022 1672477125 3213057605
    1297139087 3400045779 2001628646 1036799861 2723285964 2209807558 1466607865 1245880802 2751676646 1538931589
    97755130 1219072967 1998534860 3778741907 3151723038 4214667017 2526233384 4034353213 41009613 3884071760
    2260350435 2797109574 432322524 1454762428 716023117 3124726415 2465997684 3824274840 2194110144 2650486779
    674106698 1600192320 45810458 3149562484 129733567 1957037830 1276859209 63225801 2988095998 133296117
    529487103 1196566569 2111379085 962857845 4200733306 1725183207 4031060062 3975229376 2531637753 1093732992
    3029665695 3525337984 1004622691 2066654778 1325389401 375295820 1129457283 2297998996 1283147177 2776282360
    1141961384 2474257275 3311002937 1034374723 729554234 3161581313 2900260207 3607357414 3650308027 3092741372
    356918585 2621797930 1560660696 3438124908 2783618219 2638092279 1175343835 2131277322 1360539217 3749503451
    1814444607 4250150985 3541214707 524897929 652709239 413834126 3530606864 2345171304 2216904730 103883158
    704373565 4002250001 3035729031 1014601580 3280527103 3733786970 1184270229 2681512838 2243426647 1981233670
    1345070034 776829093 3278052907 1769608424 3489346377 2520568825 1400385310 2538975189 1260675070 1402841935
    2323156904 1821692296 398075559 3536788933 266960538 2876889648 3497633994 3230796657 1394843473 753059365
    1205174494 2128519361 399456012 2087685549 3163558327 4138105095 229586592 1575586248 469300083 675181823
    2798281243 321708599 2599993347 173400287 3968865176 20141973 1689687710 3655317903 1444384267 1790088446
    3917127978 3397991696 2457069264 2000176708 3241783445 2638065888 2736740464 4122419880 3561838731 698702448
    81225168 1925446 56818379 1989220121 490392865 2079530197 1288398311 1398428520 2767029249 1223062627
    2184353650 4029683599 1404005134 3595614099 2109321486 4190336414 2320934393 28434728 2922548462 580995918
    2373931710 1111429448 2336288039 659107513 1604141657 2342441934 467140 2079758721 1509080933 2381811035
    1027429576 1113103516 4050182989 720171531 3888098217 1188275128 566197379 594697030 3416747915 2541506818
    358381228 3695199970 3450583216 3652340242 3165612216 3974650645 3021703275 3872064403 1911927 3409307311
    2322939202 2414953982 3490297279 1065810669 184331055 392415923 2387835169 672460675 373262846 481252490
    1514454106 211203090 2784453329 2687262201 3526497934 579615921 2092332108 2750919038 1958511363 2721235567
    2089942388 1618334724 227556598 1499332500 1758465208 2065102598 1400698721 1928745662 1268160348 816047078
    2701080572 2851787178 3235502491 3956521307 3829425301 372405445 1680702861 998344511 2254054892 4046136307
    4068146054 980062140 673750705 496687909 2976897317 192043667 649848423 2448132398 427892268 3219378176
    2916059414 372589319 4197309995 2111256302 1808562577 32343993 2538560208 2129660421 1083701383 1971249448
    2155519098 4227889704 4187736258 4010133405 818006122 1248226016 3762335410 918369067 2086733762 4255545186
    4280812590 209613901 1751809949 2643133503 1307227256 2885244774 3629416387 4250671014 3637342850 4216977849
    351810628 172378577 781764191 3328099186 1293676122 2802498394 904850701 1842831816 3318402254 783382246
    3709857436 3119786843 4231523075 2591804061 2289540026 536790932 1208241696 3193553129 1766203497 3978704332
    3778138474 2125991487 3464877772 2576654105 401548077 2463836853 92585648 2178299557 2493165877 2552541841
    1548287989 2179160192 377589306 1135935496 1671065325 4280549124 596709201 3106633457 797216302 3785948824
    268175263 1525752068 2170010305 2526444343 1236810729 2979216419 1273442541 3626473273 2191734737 3506231126
    2168705426 528088155 2746455635 3290015227 695968114 1949294132 2879687275 4138178859 3379524043 3299009588
    8801038 1668194336 3082685122 2408434557 3514614880 1958112561 720803522 1420125489 2843715116 3414979282
    2668716437 3008296000 2600390088 2662203398 3516247738 3229193301 2130398697 955219557 2418371785 2643609925
    335027656 1067300838 1222440964 1554117711 2742869422 3913269054 317894969 4237393672 1258638387 2676337643
    1099410929 2678772277 262352848 1792000023 2648071276 3400271457 553555383 3940673147 59470680 1420440224
    767211285 4189359461 1759065580 3964371052 2129499712 981440775 3685485684 3462256165 3047269604 1610255794
    4040080900 2168371447 1957787215 1388299505 2352296459 1132671327 1199477999 3593505093 4108956657 1782643868
    65487609 3186695656 571125938 1224545814 2147707842 1872752941 2044757331 1023206064 4261776348 2087808468
    850537371 3579277573 1791946093 3573128701 2846214547 1449451189 46970357 789716005 437090530 1007689695
    2396583005 2586127296 3588598472 972581225 3232072326 2937264167 1901729738 497516128 1010408597 600065660
    278805253 1934270074 475879220 3749096925 1577311058 1502861227 218235636 1521457482 1685790063 3387497434
    1960321165 1342213881 3006307036 3784096888 4222055853 2486976048 2007109721 4064000062 533588022 4154577326
    2453198645 3695293603 2941309687 4000806422 2376332531 2692235217 1297725389 2498284654 711277468 1376421017
    1562671390 3865183208 3072885199 3222416884 2907624830 2778071057 3844990112 1228452879 2643481385 3958914287
    2538271378 224728834 912639980 3609042130 2379114087 1599917119 2561333490 2929814181 4153361802 2679312452
    2112935088 1512215074 1554698205 3927473169 1953101005 2813451095 1178403797 3750251969 2312012489 3139209217
    4228132370 693100621 3458660131 1491115225 1165791738 1498378495 4115758222 3948674255 3854747804 3299494519
    3095548489 1363064656 626738322 2312229992 1463917291 1760259551 965827846 4096160831 3375939584 4034512071
    150997139 2011735437 1563795291 3693297888 3703234033 3012525766 877198175 2013285591 3359790596 2931300976
    1059762394 2313175390 3708399814 1665244512 798146514 3214499662 3369670735 3158801856 3607493478 2389383952
    3277888760 2874543372 1982918803 3968954589 3923201776 2421841075 4075835153 3143522365 890549252 1081666611
    898727841 2727234810 241484926 2935459615 2467280397 1897364166 760051653 3461478563 3076278819 1499899125
    3521103098 3730450853 866937821 2534583937 2864400197 956689724 2316133274 3911307941 216469706 3576431838
    999835652 1310725195 809746079 1503587823 3738566266 883978967 4291637238 2588211948 324246506 803265279
    633625204 2780231922 1664040122 180478973 300405991 3503014319 1329479170 2305227833 383046701 917536749
    1197350096 684710184 912944746 368581433 2811269956 2436246575 4079312099 1523447446 2372288050 1796994692
    2284838414 2842666960 1877968443 1516621651 264622923 1632692630 3733233477 1720379044 3713958820 3083017010
    1340216618 278302282 2102944677 757345056 788193356 3347576799 4135855146 1973084112 3675618186 2962558728
    3848150619 3856778802 3804575295 2810798459 919328650 787056364 659374380 115478405 3368888475 261369785
    1829005151 4047148939 3648048992 2114224875 3751499819 735820262 1941293679 2214077275 1951558802 3598728940
    335027705 1101956904 2467502559 3205580217 4113628310 2426729839 748336559 2774457521 1472976567 568360826
    917903133 1296482448 851378616 2588886908 4204067185 1840075375 3807856915 722389966 2100092372 2736831790
    990834004 1039582227 267373757 1508163267 4075525591 490465786 730569083 3506733724 1874343688 1156846736
    488270063 3962383172 3480473167 2616512700 3655322558 1127382125 713773371 3265265379 2110602804 2556303261
    1363041236 1995970329 1526254348 2262533893 2078380552 4051027119 3489671732 3936927554 186202776 3023580017
    3049639951 2840502792 2176858600 1064063940 2309039701 4148618958 2959297192 1392702846 3437476855 3161264498
    3193606659 3808292801 2036271190 2993581156 2563942842 149464964 2324034377 2554764396 1517732844 208557603
    22198548 3019379061 3647496844 4258705111 1844383389 1227159383 2225341030 3496474067 2984618218 1266112111
    4263738510 3023443200 2051238091 2260317778 2000575512 1922287254 2807186164 2392114424 972693289 4046183489
    4030624180 845572064 7756517 3694095964 3681680267 1117676805 1199464641 3842603383 716741402 1883712435
    656083757 1760045005 3184678743 977452757 2538271915 2969300638 2498171521 209439880 1022533319 537600406
    4263648822 2169112890 2505961395 2958261445 3392123385 1135562469 1421744110 4146817850 3936938753 824917571
    623721947 3466253890 3674013037 3816656503 2020616317 3617524443 3811046348 3634876487 2364434085 3853378736
    1031552456 1400328659 2330103159 2802380067 3612040030 1104478718 980120142 1180273901 290862471 1121955544
    152922976 3632698525 42513132 1971559343 3931367756 3138362783 3405976527 4190253603 358610303 1154884031
    995311777 3227658805 1798873457 2359823658 1084217924 2911794340 4015832740 2015690260 3612462000 662741100
    3948144448 2806263695 1557519943 2050228030 2373804171 1635976539 2098410596 1345243573 3815505921 4074764534
    2998305023 1083156941 2126036337 199700793 3212757113 3469763555 327216172 583764631 585340670 131400031
    4285163575 3306449732 251944519 502098686 3632996502 3869438359 2627904722 1601312696 1244913251 3705665502
    2544396778 967460281 4084736512 2773107992 3191028879 1542053863 2206780999 2668400549 2404510782 2671521301
    673805294 2256535017 3614974515 3724048238 2955620816 1209738077 524564243 1263141871 3242606412 2996716812
    2817802276 4169898488 381205152 1374447987 422345611 4128412001 3735808547 3242510361 740509866 1125048636
    175385182 660146969 762845458 4191833710 2769276310 3325822867 511129173 99929068 2548068422 1471665150
    1066040202 1824290474 381384196 3337950714 2754571901 2775805142 1292064819 3931111472 1878355836 2807786493
    4270066841 1482668881 2199416306 999686458 609176123 983170118 3851484360 3539662196 2477649559 2635552658
    1873444801 1777094603 3077820595 1597795484 123941878 3088178982 3941640382 3935218067 2607022792 2706097478
    186322073 3592676905 3522396935 2514950439 2121640217 977256340 3309921188 3801029013 483949381 2571533735
    2569686838 2697894475 2213921453 1022074549 2637653262 643246253 862068965 1073874478 653460698 2503431967
    1125088426 474589792 1238063 1672067655 2229859041 1655315440 1167471313 2775799679 1442471641 44710531
    722420264 2894655855 1641568000 4251565380 2577172652 1244993589 2164909726 2214677623 1593578994 2811695118
    683846339 2924908862 665425 1201005514 2121868720 228861434 269993511 2881398208 1826651220 1920862502
    149865084 3567943976 1202137056 3782960916 1703976660 2142781356 1436374304 2748069763 3688276443 2314069367
    2990776074 413920456 1436481012 2924021419 827809566 3610629606 953105199 2685782356 3985304629 851287257
    3800798241 2177236979 2943385534 4170111585 481890019 2645095158 1109654202 2667104230 4056692089 4089805425
    232262327 1373778334 4024626631 1766209879 2591721266 2516149230 606029686 1106178058 4266805193 4011939774
    4236136660 3264830056 2434164706 1973020158 2121207545 3131510434 1509775424 950542599 1474846090 13965211
    1891576479 238182643 1173018139 4080473421 2008985833 4244392352 3591285523 875221 3495271777 964744640
    1652061208 34200820 1121776472 4113995718 4293740918 4227697638 420918485 152665773 1427276620 3969099569
    1195913350 619775217 1033456700 3023122750 859358028 3040484563 107371303 4208251570 502352260 2122536917
    1147105104 690438816 1858310094 2399147099 508089930 3333737735 569296847 3665705717 1000208645 4243048034
    161990354 2409566717 3207653232 2666377122 1678847174 2780823697 140558959 2968699662 231323036 718657479
    2936711847 2517270181 3566513302 339672155 2202821266 2147840030 2957988523 2333711414 1062492346 3128194053
    782174078 3633620525 1333578170 1807366380 3391418077 936421109 2195059423 1940917775 2792592345 782142287
    1155829106 3486820883 2939428217 4118964845 3777104860 2759744784 2328910933 2822070964 3451349857 3667268499
    1149487498 2777031650 3201748630 3395371363 3621674398 2345494264 555923721 3600429239 3434596857 358052372
    1633653030 2131715900 4102110632 2532896596 420992292 314726850 2963780809 304944234 591119527 2090016297
    3207346547 610442454 2205869905 3274639869 3970539189 59999593 1042465732 3824496319 3600214817 2094010446
    3252503843 590493948 4214996553 1524659071 1880643791 3106238055 1725085870 2451518066 3560936047 369098805
    340350718 2870125922 1990845205 3140938167 4007581382 3336153614 3448063894 3937195189 1807161607 4163739861
    3187715342 1685719700 91734856 1939240920 1314311581 47598953 1068827945 2969369952 3677347934 2906203028
    1654046339 1331708159 239696966 3335422855 4117914941 1535540048 2479659483 1252447830 1300785831 3310165756
    704414436 3661140130 3812309912 2634891858 1455883795 124708287 802018312 3778182167 3949515449 893005584
    1474238442 3345812838 3616595046 4173451495 4105180364 4154222127 2599107445 1103029072 1721467278 4093004793
    4123079120 557485418 3787389541 1762431059 4269340551 1849423651 1286950458 3328200615 2557232688 2802030582
    2434843938 537684101 967191931 3573110467 926576995 3875558352 3723837106 558674673 2599084768 3046756833
    3619804065 3944862042 2081399226 1563616180 2005367354 1954211596 1913749514 3839047347 691241741 507720565
    1714041050 1179309334 1824210252 2818248835 3785544109 2161890386 2930749731 3947223564 1315560427 2132462160
    481369636 2426660221 3567700535 1917562913 1973642607 3708223927 2500971953 1662546089 3035023216 3655039851
    4123357125 1748619554 1440426654 1173315967 3273102361 2568893103 2110953691 1335486458 754522459 746024168
    2030148768 2672650736 2878528021 1658669681 358318657 3663319644 1741010143 935870532 3927270712 2645224853
    1977967356 3137764158 3785143237 1839019243 3493670542 1018999550 2893629540 1398605304 2121255018 4278535895
    262927423 2658805166 1155938936 1842303541 3772756632 1625582691 1731425592 1715191645 2109632067 1663259918
    4018160890 2543484113 1654044406 1484207772 3340428696 330592448 2925292824 4293120644 2779795319 2245420357
    2354924139 2559469122 1766796669 1816287078 3271801720 946027703 4277136557 762408467 1148919832 2256454007
    3272690057 3608480819 631165694 258169979 3100054479 1819684026 3692812397 1470409609 1366460893 343575982
    527705600 2091359464 4119680414 1587111544 615299053 660648932 151600825 1546249970 802993349 3528190446
    537681550 1415112486 424042883 2260842548 740036671 3714428264 1494905727 1699257734 4125762788 3921596909
    1366526928 3422858091 1712783604 2660804317 2420699634 2540387061 633738147 876284258 1476530328 2695750841
    2896515832 995362602 4141116784 321010645 3483216604 1571069309 2434114671 2529105686 2937969325 3797506847
    50548832 2494074007 59066824 3169694440 1356135013 390606544 1743180586 2955340297 1549273473 2293702325
    4046938168 2593257194 3178732098 1443357202 3377313710 3518116670 2518610928 643970249 4145934318 1596183194
    2278261095 1494295021 3621702446 1751252200 1719939210 3329517179 1954518109 3829309751 959033761 2584114576
    3826208205 2861979307 1681068659 949234376 1987430948 3439100452 1635054045 3914754998 1036381058 751416375
    2689803222 158477020 3685566440 2619260187 831638312 2641022792 2062912115 2214056104 3318709928 3393368036
    3478143346 1149079058 64815811 2916334123 349746024 2242217897 3705506064 3670815955 2119308496 937963517
    1037516321 3714404285 3126113734 2569977389 4033766910 1019620851 2404478268 4189176527 3035390693 664116788
    3235154052 3577654412 3298409569 3603010156 2648503339 786001382 3066460614 3670320107 1598123950 4283743770
    3620032763 1246272855 133918705 2586418186 4237279085 460028667 3370556875 2222021761 24127035 3000875737
    137308815 2588991576 1196708326 1040773442 4171167182 4089542333 4281043016 4109027342 3768126522 656953257
    269798260 2852258084 1973646525 1516026521 1534385272 394217180 2847797468 4156081494 1073461747 3216019061
    1238090373 2338162070 2263665622 2028511043 3561853805 3480141215 582841410 1807151758 2678352970 3936731073
    1158396897 2877513323 528195260 445558485 3660576274 2708258421 987025061 86591365 3358500407 1630502579
    341395687 1835280614 3632918646 2855104869 4074861735 193410725 2344912567 457003857 3131960057 1457974897
    695276961 539319936 1218407958 816414006 751790125 3088684892 3747918822 1977803093 3577410879 1415189739
    2691965166 1701793398 4137582285 1779677778 1723714329 3757401674 2417882420 490050544 149683462 843372741
    1901419584 469472760 941081004 2043770103 4150694728 902937320 2585029824 1275704236 3397841480 1866188702
    356461428 1469751106 1331888961 4091631946 3343256333 3117338512 2813540726 3532140212 2580909352 1110308745
    3351619008 540273175 4243889990 2069389185 489644590 265502692 1223202672 3982398942 2073648456 9191996
    521490055 704630138 3746348883 493709484 3438387002 2919619072 2917058095 1097707191 3578780857 1697478052
    356651171 2597773886 2135469903 2161808809 3442067253 934946563 550984921 1557998333 2116958611 384250303
    3708706118 415565936 4252368557 259295181 2342955692 904031767 1073935831 2042684263 2022668054 2191379215
    2126527672 324461061 680229527 1130001181 3608674421 3073380346 3471367037 1583841347 1276723427 2275385383
    1112590981 1896084906 1366815919 1595504592 2046995715 1994686955 1502420271 2614301381 3190777618 1659884017
    1809995877 4141155755 409358630 242816856 3042336196 1065133785 3133571787 1172538928 4028535639 384191484
    33496364 2771604515 1361320472 3223811718 3914028346 557815966 3223291735 1198272698 1017206581 3490604423
    1490348048 2975771386 678235372 4118297065 3242122846 2926555369 2598782589 2393791573 2655403780 1697919326
    2971202922 862890027 105123251 2066648964 3610557974 466557947 3747744289 985341018 3687394504 3492787903
    2573887849 1228532139 697248011 999517266 1672945389 364514292 814266163 780874 1370124893 1247473116
    715364088 3931097555 2205428087 2384910989 834716734 2473261760 945350949 3593647300 3663043464 1114329074
    2973334179 3654622187 2497575495 427013301 3585028636 62655420 853327374 307817014 3819845462 3925346591
    2634050528 2490624089 873613857 2680493087 1027100827 2224582785 4076866835 4181873818 4024972393 3234663343
    3985261855 1345138732 1570197278 3228925138 2872791431 3616330552 2998099732 16778904 2290136661 2353526211
    3394241650 142972189 197740944 1705441497 3153078519 193710073 3086497653 2749173226 3262248095 936368887
    1498854061 3939924433 64696949 4237487198 3334801246 3989188386 3888676409 1237866541 1985941571 2808518671
    2315328667 3953900839 1912201714 1241558278 3577650680 3138048077 2630944829 4125272292 1754982217 939051006
    293737590 505926077 2745783166 766527889 1551846912 1178077668 525708726 2018644218 3264539213 1800372589
    678234239 2168975139 1856249812 3583735513 1448859663 1053914675 3195385478 3412296346 3640653117 2376517351
    1428227076 2026270499 1487719081 4078533233 922390942 1669917506 3813181742 92228553 3656390764 1659747882
    777321189 2441060298 4292144473 4080909088 2662776884 3064882164 2366979445 3673030923 1870542024 1348628304
    549712336 358146068 2454518852 3506416484 1203217398 4239434945 965826852 445369851 3518510739 1718172074
    3022635569 1834932157 2572703705 441360484 1486315637 1182120842 3054632929 846087823 965668954 1869707228
    1683726656 4198958830 4020742748 831812708 3214773871 1327114173 491946247 415491121 4140346411 1246890923
    3138415277 105769661 3643293609 3705794020 3756160367 2334648552 4294563244 2585837201 1968654761 3751713400
    1053949634 3310329060 3731356127 4091132482 4158035541 328333563 2056261626 1303743867 948467087 1965531826
    3519013978 3184299276 567073539 1230671282 210226074 1990030573 1125301096 3016121925 3168745417 769495272
    1273447417 2063723248 450224435 4056285042 1131282819 1276300469 3830610793 11774260 4024173739 1577013471
    1168630328 3571625710 3413082819 4188687786 3007917012 3495443380 1646566441 2535652352 932265191 2730212281
    2639335070 1363105121 3608136523 1485194004 3985853662 3741320789 3589472932 1145045286 1427037248 3203977611
    3297112747 2064603967 3383667038 4047288412 972258100 2069457690 3488481910 384174812 2927176207 3060709942
    2188061919 4063766466 2280464891 1713035172 3216928826 3975300743 3870911118 3067829470 1757693144 2809702593
    1497792768 4293561102 1274912712 1857664319 1032969829 1197758258 3415835258 906117057 3907747773 3559802771
    430636195 2832748731 2005017411 3371352386 2716806126 9566450 3422037657 3412709043 2345678772 3429690848
    3502141703 576072744 2998062203 2641286896 2815622646 1832654784 1533817532 2073593005 3582579100 879018517
    2862960761 328728135 442415722 3489664265 2246108431 3828045400 1149056588 2980325193 1150347012 3823325222
    3519483888 3507504789 2384491935 4284103236 2364840620 3032658105 3200206659 2973494253 3632350284 327498341
    2583955240 1958396843 1964301855 3453076657 3052319014 2760858267 3484736303 1078213697 116314968 824181131
    1880801104 746582160 1513044873 2798109139 3001074106 2221282774 511294256 2313452610 2930551953 3966101575
    1053908008 3337677761 649724228 2040836814 1497785022 414562269 310814325 2866218744 3068761627 2467641400
    1093219536 3204540558 1138460427 3597694549 3479890925 346883548 901436505 2688762270 4049579569 3934550810
    1116537831 1626401686 1681047419 4256956157 1787934166 3183718454 2256328143 75184080 2118379766 3018677935
    345541154 3567786973 1330656858 4100979231 1424394869 3039470466 2239505085 1845048881 1033958643 4188758167
    1564766073 618013163 1051647849 426637095 2673740431 3670932160 608127503 3675007226 2271013203 3002401748
    80925667 1117740392 3591096978 3521114024 3883256345 68470527 419039653 2872891921 4105893458 1994043368
    1786522934 4108879815 876314018 2346744447 3028056388 650320895 3357930201 2867442593 2497288287 2092359677
    1782036778 535585574 4118475706 4147395073 1648931284 1078428741 4085022380 556828710 4066096851 2654547579
    4113203496 1892375060 3632700635 1040076524 2259120988 2049636729 1265758839 3111952689 2787431751 1265570374
    2059270438 1361247865 3780943491 1668064719 2281365934 3632720963 755335991 2473505378 898091974 737201951
    3926014600 579538943 4035640020 2495765865 1766797991 625673037 769942612 360684645 128504561 207982
    1211023409 4182811535 289612069 3351442280 3581392149 1943820831 3015287347 108437767 783490593 2288667026
    1429777036 1442638659 559522193 4250386405 4154814093 2634718475 3861557891 2769750063 4227616105 153915155
    2162518775 221792442 4084485809 1672722640 1457255659 2870717210 2799005987 1432193931 3040889176 2123255008
    2785840448 1457242960 2774260233 327972117 1153987973 712657559 113663080 3034177599 2911808089 1651184925
    1492452470 572841626 850143823 3148111317 1890565463 241576570 2603990904 3868366099 3174914175 855097064
    2137028437 2208152378 355980268 526479468 2029022521 2656967887 368778110 4097167134 2287171318 4186299764
    4069216288 679772626 568224669 3492040821 2964356465 3608986960 1422545689 3439853369 755898925 936101797
    1520665435 1369839461 4013320728 1257720363 1961660401 3135317623 3744750913 1534790883 2864706457 2659501732
    1250301262 125532278 3985369876 809205296 2924772795 3068556765 3379820051 1929325471 1685318096 2077641205
    3935582216 3564478124 4053234271 3663978670 4153634017 504751510 3053420977 2472250668 2562022024 4010933860
    1901976126 2198994888 1729049506 3504973001 528026490 623975985 1731191935 1453108975 691344502 3180807825
    629562671 4091554648 3488572501 1896976604 1205233506 3999657900 3531973788 3056476713 343573788 4141875217
    961315939 1443664556 783599944 3846661422 477431156 58025613 4065774091 755578655 1602084476 2755383494
    2511499865 728271223 2949753296 3705922739 4197790442 3500694286 1185814118 3409628143 855543167 1478883511
    194022628 2955024049 2787760253 3854561625 2576016090 2852105114 836761910 2028266362 1614092881 3357014558
    3191883665 3105618550 2516440236 829330268 2866601622 4270285526 1644574518 1990022422 2276984906 4273868136
    2233795218 2339183094 1879437037 2789122863 1434034603 2404269192 3176356998 3996889880 628396538 3908290894
    2317388328 2603564933 2320873303 4154303054 62107918 3081589731 2559574899 897887022 3646473655 3324624465
    2485331301 87051752 469169379 3045926440 3135502271 1270540573 3634535516 1481637137 2746341723 4237184439
    701076546 3047088128 1246914045 3494892516 458990559 4209889112 2393567954 1417375234 409212139 3089802380
    2701218711 3595465508 3860557085 822074684 2010583148 3517775402 3815753940 1572970388 2850240062 1833788303
    748853192 366337179 769403069 747264022 3349310383 4194823241 2400434920 4182843015 2795646696 3361882463
    304146792 2340390071 3624499959 4159065202 2061829477 3344740225 202866087 1082226992 570152542 3545809372
    4116294182 3534980508 4084352430 3629967918 3565006894 3215916374 1462624392 3653530626 2389251306 1803553642
    535725206 3157129309 150250515 3356731795 1318046435 1056965204 57998907 3104557033 2499118180 3675807910
    3895767657 3735656604 450086903 1872520678 15660565 2343432602 677350208 1872545677 762715875 2721506899
    1241404723 758085321 4113500711 1948208702 3837466086 384155645 854801699 1393603453 1380568343 1356374266
    3651808612 3437717634 615383801 2622758713 49239823 1635045371 3542211151 214222370 725541214 2768184246
    1437813718 301526525 3841899267 4148844219 1811736878 2792544343 716157772 2186673970 1201557422 826892366
    3796591137 496189699 3236539018 968709853 3140622103 236668549 1190381433 3666998357 1223659114 566562310
    4228641331 3960615439 3866651517 1676617958 1544986873 2746013744 2904608567 4205579042 3421847932 3726814416
    601796863 2156286247 2716758317 1296721298 798875935 464877937 2105078248 3488729551 2417759528 796386636
    1531117238 3122111543 3021673646 3367558921 2386720160 475870021 2444218849 688741386 3828881695 763518163
    2082111723 2476224512 3045664940 1499737525 1926733742 2906843066 4010060924 1975055370 2987470426 2116959396
    1644968575 4098751900 2536387209 2517310032 2044111327 653277034 3203593337 3217212413 3183614483 3174284380
    2763489603 2084552900 1402891068 2134704111 667814166 782154730 1813397668 1463866500 2039061939 4200084112
    753718528 2703098180 2398891764 2062342389 2591226754 723321791 1061606968 321233846 2599371676 2261919154
    896954844 3417325897 616979675 2916072859 1519394602 4000872211 1397733717 3433287338 1139383129 678145639
    599463966 4243291302 2157873283 3248668043 440328451 2624835507 2957110689 3416603076 2326725580 1872355734
    4228238020 3877662318 1045515666 1669200416 4080825046 1510899487 1492368659 3013131883 3166460875 317996273
    2282958212 1078546524 2132922206 3977868458 3575078004 2817420301 2208645741 4146383664 1360360570 2178354156
    1262675889 4075554750 970955215 3630537656 3898406829 3949182827 2424434149 2305866132 3755489136 1946062190
    895075337 3123186589 2080238334 2190514406 2157307732 3016904086 326140785 1194614391 3215572730 1204217827
    1669355795 3897676629 3234212644 4143924725 2115512687 995711560 1706102465 1703423340 2666163168 4291083181
    1456536045 3214663768 1786464329 3925739208 1755999454 2039167418 514766081 1402877036 1070965712 3898140599
    1291520686 1268970813 1131272061 821028983 416667404 1932000388 1466478667 2531756062 2694944112 3006404851
    679341500 1241519392 936690888 1796851806 24593920 3062905966 1541596125 2876929923 3390136189 1122572885
    1830644426 3959926541 2668933125 1231263491 1952531136 3680142885 1689830316 3777900863 914462704 2403749824
    1236240417 519159300 760876851 2656513744 2256403479 2117549913 4125714899 1646240534 838249951 430902885
    3706257188 2792295116 2557075415 3148796869 3549215487 3681516339 1441862626 2586264274 4268336028 3446596446
    2960452778 3215982327 3565485167 2846054373 1458231606 2835260555 1902568872 3424295478 3746736025 266107627
    3448256406 1708353628 783972051 722348382 2976364 1995787895 3069983533 1713417723 853855970 1064417024
    3308181004 1646009562 2568620712 1710913436 3606332964 970962007 2096637096 4263525147 310790117 1019324227
    1830807901 3688825310 98214276 1811145536 3934187340 2730414429 3151399903 114816048 3466766333 3382464337
    1219986399 3753769187 583174070 2942889901 3607719109 4154066045 4179791629 4291495457 3868565456 1470116872
    1380463873 588489055 3202574931 3779875640 852414881 1561047863 788023732 3454992492 1581253141 1776395226
    3591986579 1692206942 91776395 4117974844 978787723 3981952697 1367052902 2373049428 975780065 2720003868
    3573797114 2805402454 3161247245 1935505879 1917715819 3604833886 2602675435 1535801613 685133682 3987331219
    886387862 1889503162 1036448151 85153680 353506680 733851070 173895932 3062971537 401886532 1178051962
    2597910326 1826142189 1539185478 1889329367 2265912407 2613860198 1961314399 4271600783 1216429042 3764040482
    2544686337 880253310 4283298898 4042161469 1409210586 2519119548 3085341319 995514241 15232509 1211105338
    3156613904 551107517 3368348486 1448646940 1517757281 1035132630 2235486679 2041147277 620970198 4032017711
    766587885 2214723586 2096141450 2594288899 216349476 4149934909 503219503 881560046 3804226152 1704098981
    2934810612 3663019406 85165624 2927442408 1715846868 4167823189 133240056 439533138 3284780726 4153757979
    3824146741 2216410391 2767692911 1566981334 2685402621 4272651457 754898394 2924899757 1300191907 1417779079
    1878079213 268469925 2879897022 440360672 4225210353 2023749846 644652148 1524064638 1949371469 3001896918
    3186261011 811562580 3679880951 2967462452 3565551533 259406587 1425650153 812197666 1350151245 401161649
    2378157954 3753173711 4198781044 2346021040 2974147093 970970478 1545568630 2447574641 2939557404 563133434
    2972374144 2710540465 385458996 2851720268 4257241023 3967138060 1297992219 1213880415 2940156953 3768235928
    393623549 4077654747 3601295906 2892833343 835789877 1225178475 1129136653 1155232369 2487752912 2015714768
    2685381405 3774832641 4235747672 1520246006 3075683369 473984110 3836715958 2278701252 1932444700 2050572248
    1722515170 2066720324 2177091731 617798670 1837669880 155553081 2847435183 1386096936 1257220270 4152330735
    3134467826 1215048511 3260514033 3974047410 2707500602 480187454 977261369 33338224 1427381433 2461926431
    1416541517 1865005652 1252292988 799855518 1500774416 2386022713 508695896 3898605591 1506059701 1698924746
    3944850783 3804085048 2195309930 1960239227 1518942395 2347465724 2272675124 1755818149 3488539724 2229466472
    2940211252 4166360138 2463020597 3173941955 3997021857 1078063508 3437595515 2030449156 1100694173 3308125937
    1890260267 756927684 1634559247 555939684 1215332793 3823071591 926633627 1964226841 622236346 2553660517
    3960983057 2634249267 1182657725 3084158633 2266879581 520974241 3052787760 2219310338 1232186362 4227869742
    253144530 3453830503 805323318 3024001622 385590016 766135567 2612936957 165214485 641252321 2136815920
    2949018290 3535629047 303575979 4142370654 4041788832 1587760715 539763396 3890793961 1254697148 2640495121
    1436042620 647251825 1453013225 2596681350 2300703077 3816090056 4153134894 1863430467 219498102 3538692941
    3574480757 2573020186 4096310715 2538805137 1959045840 533696500 701142987 1058065024 618919209 2260259068
    1398349050 3228972223 416742826 344817366 1286926185 3882425573 3840002412 2013952978 3656113824 2838419330
    2024724009 3035778879 2139552072 3033960800 3027605341 933685158 2128527689 72574558 947337319 1500480634
    3515365549 829489 3225778238 3179982772 4286090046 762601526 2973890608 937630067 3301614215 3925275084
    1580572883 4117732188 3894632636 3819075653 3064590086 2779135911 4130421045 3300267548 233271499 4104438025
    2434616680 1932777102 3393578729 3846810038 3699448459 838863277 940966184 1411077242 1404321630 2617043418
    1186005837 3506424309 2509392165 800608863 477585803 1990861650 1566438093 1903899897 875873637 4290371990
    1416996187 417226778 183619502 649581655 893491879 3438802484 2972285526 689220810 2977220146 4271224674
    3050631657 802182674 3379291448 2075067319 4206131253 1419171168 2148116611 3064356461 312543474 499274726
    3180165361 3405657264 914200807 1680250766 4170442325 3171901074 2865564121 2113887473 1458549874 2282946262
    3447203626 443212694 949361787 2967896559 281275982 3903910430 1971664314 191574170 1100550091 2925114254
    2437794485 3145620442 3901438313 1663529389 1183246175 1826422496 1466505204 2787218323 2808831385 809288187
    961477270 2619408255 2839311423 4147600851 2595018323 1999944550 2365946266 3143648765 2288880045 4005009476
    3199151026 3815735454 1231455278 1682426258 2619050128 3008024221 1219193441 1400264118 874671711 1157215580
    2605993791 2079118207 2341100977 443549031 3506872587 3804060783 2191477581 3156697219 253699406 4095748590
    1148386776 1180866546 3953010461 2187535721 3672812403 708567741 420595306 2043701084 1804168062 4041959788
    1842709671 1944363461 992979910 4221898263 1237939053 1908363804 1937023222 1923678128 662574451 2176708845
    3941006113 77912321 497738450 3566776582 1501938828 4278610269 1076783232 1830242682 3496208382 109545208
    374156698 1810323153 413247820 3496299789 3948393695 3085256822 1130001024 2371118629 2524883599 2497203500
    2482931733 167515797 1037040856 2944368051 2842860407 3511025821 1939130122 2051429552 3492427190 2710806388
    3062635352 1234609758 2252730671 1870409553 2241742935 1162869810 3580729328 1729552270 754798862 1294972197
    3841212571 1483414467 508128048 3663484806 2436213101 649731583 2551258093 4226636750 569417053 2725946040
    229653848 2612275046 3885744013 2340208972 2102343915 3095046313 836714326 243688984 1507556450 2017868243
    699096910 65395268 3820157277 295550802 2771176706 1895455844 3315971045 3425525 3485048350 3633384167
    458134845 1373404633 1950069896 186565727 3014104438 2013133833 700432436 107125509 1766733153 306731171
    2295019012 2615556750 4149371727 3362775133 3075426166 2392030440 1039905022 1910342425 1715858182 3702427383
    2866488024 110831396 3972219791 3621806073 1632597230 3631909514 216673662 4085485046 905727123 90270053
    920209380 2432821426 3700742641 252982252 1261650196 343524615 3930275791 3684372453 406782197 329483317
    1816215333 4279965670 2108656830 1060839783 3098698116 1837962349 3764885165 2877126445 3064078191 1575405539
    1820811551 1521364081 112672236 1316041674 3139740851 20869447 323724773 2508373872 788499413 4240247472
    2284766247 1577059731 1378895578 2536442318 1046145850 3597653076 3574047018 1046968240 160863325 2012293918
    2491093213 1565433990 1761539526 1149846310 1111650473 2319308155 534257162 3143643913 3368038747 2874057555
    2725192576 1285386183 469656554 1519380230 2968575661 2830970422 2784500647 3971923933 1784253938 1127985562
    3160521249 2931765062 2407078633 3885652706 4099792824 2152942074 1786748051 3927760453 1404624312 2863469359
    3033603774 2807277096 468058849 2061742708 3838957895 1710719188 3067477349 765180138 3682425628 3831130425
    826091650 2301581771 3402197406 590832964 3595441346 3820178796 620962285 2472228939 3240003138 1225780962
    1184770056 1551643389 4139582362 2645584105 4056648860 2285071568 2270149451 3268399975 3375826976 1490753005
    3903082481 560555502 38188506 3574050735 724934927 3958986200 1704911689 3470384299 3237438842 3175056373
    1534871783 3136787833 1809642970 108973481 3206888099 1456913060 2240458351 4205498729 3407400745 3625851699
    1937403897 195356424 922824493 3555680761 4032718396 1262114362 1454198527 851231222 1380938046 3220086509
    2104011940 1514972773 2652080918 4441473 1728019749 616048460 618608726 3199801240 944557174 3830805034
    1288616602 956205482 2380905337 1464555632 3391871321 631574343 1024086223 3177386248 2042046423 3251241480
    3533933405 4043048927 3141836961 2464406876 3179791107 1316599623 2645762503 3881739544 3289636426 3692968978
    3211689504 3957243206 3072674550 3496504434 225488209 4077449584 2119972027 3018900815 2579145473 1773746264
    273115292 563653138 3064948453 3111200701 1930082280 4028033327 2865508423 3928670861 3131225942 3344880498
    3024865215 3334186141 1322886494 2329775979 1570947946 1983256234 3591366953 3246872872 3290421390 3863855659
    1943898779 3636497396 1827631830 1078348564 1822386447 1929755147 2146696473 811732110 3337725232 2929039043
    1205411287 2328516920 1643524287 3076304884 3667281967 2788701996 306436944 2749018442 3163081383 2914266773
    1141985108 2581149286 3179701483 669960616 2943890558 2013921050 3378783098 3751547848 3014147560 4081844015
    4020903917 2499689845 3688912971 477687645 3612870077 1525203332 2749962661 3434966075 2218762433 4213978393
    2950589069 511619832 198535672 1814820877 1970839793 3954520367 2931970888 2982493953 2883406418 2571436226
    4150510149 1416856165 2451071495 1180891027 2620518346 2890737496 513383030 3684061622 3287046610 4107073751
    44896554 75544497 2902890388 3547718061 2496536600 660198065 2069592004 2773853668 1118315617 2888776648
    3632622600 4092582788 2716373870 4228822729 91667327 1858159493 2338653783 582464110 3974796370 3803936116
    2629003042 2713559800 1402222182 3535001875 1298540479 1708565739 497898227 2829181748 3355892027 3336794658
    708211277 1659875151 2105371428 3979571375 1561113289 251225011 1431837795 4104855947 115079290 1824057746
    1030168793 2686937703 3022924691 3024078003 3313401979 3154527118 2723234067 748597924 482415143 3200133730
    265178800 116966845 305833160 2903490562 2381237176 647227648 1441599375 1625943158 3447606317 3716635623
    3592514320 3510249415 2868872053 3819674103 3742613123 2209340286 2322040868 1802522846 2303658933 1029323063
    2081249736 3746765677 655515224 1773812691 473389686 4004237632 115635935 374950219 2239641294 3713079056
    1644867855 888855494 2615190325 2074521919 3754366407 1961584277 3246608418 3274100020 2377089116 1070828217
    336249893 2790029691 1236107054 1185345836 3555172226 1278093158 3916430196 1681521992 574277478 1708213748
    275087819 1005335124 3208042918 3543969327 3738328428 2302056539 4080960415 1133551308 719707275 2864497357
    1341973835 3144062724 3761495600 2897570594 3191240340 2639924347 2856117879 2127954894 532050504 2503710687
    1152741897 66300271 1829903610 2343447983 3566660073 3312780967 1763462730 484071897 2345287109 2287700852
    1166566089 929306618 744922834 4106911749 1619817672 3038046023 1425050764 1266894567 2175626465 3958489662
    1485028978 1416474144 2330561813 3878890872 4101069913 4033984319 2522644956 1825759209 1350499854 3457883551
    3791696136 2039441134 1128507398 2346690688 2670771730 1296008189 2373788772 1448009688 469226270 1581056004
    1257867355 2802197806 3554333725 3023870698 4134795798 2981974632 613389794 79561662 3138548799 3716374415
    194628070 2718212900 54712137 2062527914 375211678 2545993527 2759456540 2185112051 3407388084 1580085205
    1676858753 3708407282 72109244 1432012152 492431360 2492503189 1482395919 2698472143 2490689321 2542354668
    449117429 3615362384 2711432596 934229438 3253099596 3533884384 173654815 3613319265 1941420189 2368366304
    497464361 1244977902 1340958597 3162378330 907482377 2285832079 998451114 4009850160 3642743390 2276674385
    2346408065 3115469424 3419066676 2263902130 3702243850 110975362 2913759788 2493420307 4043934950 923407276
    1973422295 1805082223 1738884914 2749860939 365785156 2326506240 2722542123 938254218 2635047087 3462640998
    2583995907 1819176019 3211906596 3887261412 3172497202 3963866093 1995202597 4131731292 4228643811 1295443736
    1308836935 1402251758 1412505505 773155125 3368393781 4255851474 2788823206 199363474 2640575366 2866683530
    3732763188 3759381289 394970325 3882740021 1180392076 2872442491 1017679480 3114204353 2933943467 1853461142
    3540436806 2966534639 11670970 924447623 3149187145 2104470258 1543176619 3988765251 3945531713 373561075
    3874962979 4288248719 533414122 3347740403 4191844975 1980946796 2144940001 305638453 1476769285 2386388329
    754804392 3092608484 972428793 1593218760 3412345960 3768030764 750175622 587513474 3913416405 1541679226
    3880153506 1854417716 994357366 3693775148 3736452770 2095241753 1004812534 1590095623 3623490149 2767630273
    157752009 353852759 4212639499 3964253018 2258044366 1572485339 3884843401 2175097291 364443844 3137447672
    2303353346 3074806811 1451657063 1756951790 2331824215 3251582876 1834860069 132302498 561528113 1681648343
    411213783 2814372975 2042088891 1661794483 2625694423 2880860827 3804171433 3750306018 419399582 625174414
    2267374233 3124736437 2656757215 1006645879 3469774020 3696453287 3885410177 521524520 604933549 3235902780
    3525332150 2698885693 3457245979 1020585440 2584888277 3932221187 82339517 3861216649 2797271424 4181328881
    2105610452 3777234286 969464206 2638830292 3021295715 2710553305 3086036852 835010826 1965926209 3802944688
    3246560523 3029569390 4207982313 2227501800 3812293662 3697668096 1403581620 3007801406 3241540777 3590709571
    1339708160 3317284590 2538619084 2462483777 4137933929 2717488335 4120663373 2994657801 1975460003 1007473862
    4136207337 3263155436 3673934659 3220748944 1191167629 2263741107 1855979529 2868296549 3115513551 2541852930
    2322893283 4253920441 1175974751 2398971226 44173685 2503986789 296853464 2769345909 2669945277 2976569941
    1361128808 855098693 1559410789 350692054 642720259 784455061 609060786 3434718799 163939333 2902695306
    1453662813 4072669205 157297932 1354451062 2317169091 24552399 246317821 578385985 1550424565 2636924296
    3953799639 4135685068 1528084318 3072969472 2583496886 1322494975 2930719489 2526242816 283043696 447194492
    53735804 3988992550 3536835823 3077495846 3732545406 269008990 3798391319 1735085681 4135704172 3333246727
    3612394618 1878363620 448395 2499243401 1630685995 1568787612 2548313311 4120723498 1056814629 763290453
    906265233 2716707098 2332986179 3047696044 3961509791 3297649258 3790987442 1181566446 2562937341 181284892
    622496266 43818397 4212343691 614380518 2548850233 1935443301 626474459 910484190 2147490411 1333729020
    2400193490 466398183 412521918 3549899529 3345784721 292410326 3846027659 388035598 1361852312 744955069
    1636370958 47108526 1940839110 2547647918 2972063547 4058977910 100361613 16585465 1212925713 3096880984
    1075923557 2306730915 3422516598 2397878725 2528907195 1073981138 41918170 2722784718 3903352136 3698791701
    3507777171 3128186125 3118516822 2919208121 3869573718 3914943318 1351787446 213689070 594608497 2237551267
    728621890 3581707048 2013608820 3191553847 3300904542 4172061884 4016492692 3365778693 3808743321 127512159
    2815308564 699146284 1923004583 2502759663 3020568442 3330174541 1192025180 911719278 2647139192 3458291997
    3062892524 2960959455 3503457232 1979176829 2037078735 2775989725 54388805 3685872161 2531283521 2268453050
    4102251594 3543813992 1022555059 4052267768 2520759808 4141247991 2881755049 1224737052 603180327 3251792964
    3972377823 1702726911 2912417252 2270845356 4247841284 2508089789 388743698 3553688409 825890272 538955263
    2593314453 129011401 1956406555 1862834107 3911694915 4018554976 2039315637 1999951452 1224676467 328589550
    222181036 3727974329 4061524191 3596745999 1303205903 3555522165 1662983965 2692564363 2807251549 3166602885
    2899340926 2832132813 2773200146 799450438 3817139980 396584633 908623968 2632266488 1962503776 4085601839
    2827927905 3276936330 698186214 622434824 308123313 2544867258 49766339 90773567 1326264662 3815142795
    209303798 418589365 3047584623 4141833422 208891309 2721755903 2145999349 2924851006 4140570424 3952637972
    4156722865 1445986414 3450957405 3938240791 2617361691 233132518 3691423712 2395026254 3939986877 1714254092
    64370734 656266844 3863308263 4233076577 3954987744 2147031905 3323281206 690594566 4170443587 2939135533
    940115728 3597500418 759075876 3377867167 1998747437 2164899126 1010827460 2656748363 1233860823 2021700352
    2461067044 1478433143 234772093 1201021479 3642751315 2091579369 1258240127 2548927222 128696737 2108534997
    1159471907 2886713328 385838079 3031473532 612576914 2947547205 1306180553 2232755969 3054443047 4218712321
    4018601729 3424343779 1185336299 2446808632 3680397407 1970712402 1468142573 2335062739 1456973852 1632625828
    1641103042 2540156316 4150118802 2503926873 1730639720 3064673271 2127065028 1077847167 3327340349 1682633459
    2481734647 213697556 1191457604 2091038467 1020711820 2376608978 631963302 3420451358 993146861 3434126627
    2405570483 1643479045 1933590341 720593622 356759155 412160332 2672897717 2454824405 4123520276 1634328222
    1987239324 64708878 2297736674 3671760381 2122156032 2552629843 2124350446 311153439 1444038528 1165136415
    3632589889 3619784590 3149853516 66810685 1688599116 296913630 2940747406 1939758805 192088205 1149467455
    4086787073 2036286255 259554134 2509955017 2395191433 2179548924 2400900834 2006579596 3214672325 1324136588
    602774675 3622711868 1791606514 666638899 205143533 3402016926 2693097590 1059276857 3693085010 2052531301
    2607064316 370846 4021592779 1462356336 2060787646 848528590 1777010436 3224404391 2284040759 2876109868
    2413155612 2350097783 3704401037 3460115384 2099685550 946297645 651190212 3133587036 527470905 1751163266
    1372239474 1452145240 1822587984 2924236025 1432316227 2296898999 2826260635 3620654790 2676863858 3511717510
    2142241257 2094241863 3718239585 2522338948 4173519210 3125711724 3310114657 1537811428 1056645819 3890311825
    1477719450 1629291639 3663682294 1532857613 1650954679 55511588 1742908752 1035741993 2021285703 4232265138
    366022189 3483001854 1889362542 1981304460 227527814 2903395958 674547145 684176423 493884384 1184406150
    51199922 2326458664 2690365110 3732131290 3814840062 101137757 581972134 2722978427 3564969841 2239392605
    7359434 1534806380 1194806143 153021935 3086490864 2050747319 2196805888 2116931945 1407929469 3401874533
    589889274 714956634 3858192511 4231432423 1979268159 850093312 2736815100 868221523 529828728 173048856
    4010329058 25501 588990064 3898767027 3182673548 2560035351 879858374 1075577934 521999005 3229245177
    2021899413 3896423699 2254975161 3437029649 2515105513 4145374456 3483382450 428172493 2295418781 389849422
    3968722091 808065821 3777996367 756178475 2685958754 4055331230 1176317528 2919061735 2371394310 1104603524
    3969248437 227491714 3216544337 2200488529 2439661589 369630090 2288189567 1759686858 2275685132 277154282
    1243061413 820518829 1366957605 42678641 2657003566 1583513933 3332768725 877164544 965505757 1179028899
    2201764766 331266003 2090027252 1685475615 2598865337 74076514 220598912 1885848026 308277661 648154986
    165775992 2564956668 3346966870 2331286244 2307160052 2508557704 2882284032 3470409407 2286289384 3733482836
    1200120772 4121918207 2256921001 4159461174 831961467 3264512262 1469079844 502569100 1923182764 3255427537
    3776904778 2232807518 3009374523 220682495 532394944 1845053358 1337131581 650481068 4277987153 3005219106
    1707050513 3140852975 4124949406 3587780846 3156616758 3649813497 2197864928 1852533217 1121691767 2419156066
    678994303 1697869540 326272871 2906460064 1389081081 153521630 2913746804 4007013096 3948733100 868191197
    4023996391 3800761320 1466557622 627018638 2069147987 2642063260 2433831191 1984463514 1889713843 3268160024
    3695189618 2378964207 3807562780 2746733016 1636331568 2380832444 2046306243 1374981499 990408246 645846478
    204988703 2395752160 880780060 1315870063 3382314228 1441382805 2763515833 3094952953 1656223273 1273975004
    1440502007 1707099873 3579800817 617708535 3379274779 3184859509 781517513 1081565714 2250634130 554709626
    2949203826 3753602029 3999934822 1691782557 1634554589 1479864686 2160157644 225915158 233128592 3284979480
    3717651491 3008299023 235789404 941655867 812858234 4062500122 3108773671 4202756118 2250019027 2326747508
    3717520786 918483649 3644268990 2774868254 841330513 1997793462 3748584473 3650466165 1678957816 202952191
    1570200976 4291901440 2286482877 3105412323 1486581937 972423674 2512932058 2559826333 1020543688 3365054584
    17610885 3833067905 1449415547 2380918047 2642964932 2272007149 2953207394 3927381230 2666044740 1110777854
    2621451978 89515153 3673227271 4242477804 1470340766 770539085 4088769877 1705185093 3665023198 47380
    992163971 245560733 2053359023 4110492983 4108032153 3647606127 886046141 3704747387 2483954419 0]);
return

Contact us