Saturday, November 10, 2018

898. Bitwise ORs of Subarrays

Version #2 DP with removing duplicate

For example, an array is [001, 011, 100, 110, 101] (in binary).
All the subarrays are:
[001]
[001 011] [011]
[001 011 100] [011 100] [100]
[001 011 100 110] [011 100 110] [100 110] [110]
[001 011 100 110 101] [011 100 110 101] [100 110 101] [110 101] [101]
In each line, we add a new number to each array of the previous line.
Calculate the OR operations for each subarray:
001
011 011
111 111 100
111 111 110 110
111 111 111 111 101
There are O(N^2) numbers in total, which is not acceptable.
After removing duplicate numbers in each line, it becomes:
001
011
111 100
111 110
111 101
In each line t, for any two numbers t[i] and t[j] (i < j), t[i] must have more 1s than t[j]. So the length of each line will not exceed 32. So if we remove duplicate numbers, the complexity would not be very large.
The complexity is O(kN), where k is a constant depends on the bitwise length of input numbers. (32 in this problem)

42.68 %
class Solution {
    public int subarrayBitwiseORs(int[] A) {
        if (A == null || A.length == 0) {
            return 0;
        }
        Set<Integer> result = new HashSet<>();
        Set<Integer> prev = new HashSet<>();
        Set<Integer> curr;
        for(int a : A) {
            curr = new HashSet<>();
            curr.add(a);
            for (int b : prev) {
                curr.add(a | b);
            }
            result.addAll(curr);
            prev = curr;
        }
        return result.size();
    }
}




Version #1 Naive DP [TLE]

class Solution {
    public int subarrayBitwiseORs(int[] A) {
        if (A == null || A.length == 0) {
            return 0;
        }
        int len = A.length;
        // bitwise OR of subarray [i,j]
        int[] dp = new int[len];
        Set<Integer> visited = new HashSet<>();
        for (int i = 0; i < len; i++) {
            for (int j = i; j >= 0; j--) {
                if (i == j) {
                    dp[j] = A[i];
                } else {
                    dp[j] = A[j] | dp[j + 1];
                }
                visited.add(dp[j]);
            }
        }
        return visited.size();
    }
}







[135977633,211843605,714322804,840305227,790489090,29502166,301936031,128958182,340655533,280582205,405049829,310269524,163748763,871046771,645152854,406931757,204170244,626013364,734074714,459827539,226267220,29026871,262820356,34048378,350514158,228753552,284467804,216118335,936271988,682234295,172633274,739980402,541096883,35580859,25926956,634761559,221100021,847006026,642886797,809379144,548999916,172648738,331786333,795358125,904536224,557446489,855848820,799999653,707357087,983319741,78462128,446033670,485072505,476633914,507733369,157978745,634541478,222648006,171072840,943033504,926422602,533280593,967450947,348692036,268540483,790361691,664950610,793365704,246695958,727975965,307499993,742200806,806888495,73134724,326906028,973693615,402005775,962013725,273816456,366048342,771953113,323680309,28265786,744151425,224048465,575174590,800783185,789887106,374369824,959319435,200412515,886299346,977668588,648124769,942170875,314712405,707031553,428351545,220114677,325932870,357854011,606688020,360624256,561340340,567102749,799494619,931158004,477384988,226887139,458059501,239609447,132800019,964684787,851472089,978259976,797486553,865803029,862347271,589605667,693076855,430882863,248433854,910535916,420074053,122263210,947618584,18292771,21720459,948817350,320847308,597163083,795530800,390832255,136789190,548591331,730728758,890765260,52424908,261698836,811260679,707774680,835264670,659940021,690440506,847383789,410970601,498276436,786049503,569175525,366158885,215034452,661231888,368392418,193632006,779804194,394701303,930070169,450553668,793752480,495792509,719750206,176329397,247973687,415213722,128043908,509015144,858229175,745986548,55259759,924777045,112473357,481381310,600538965,832956734,240273927,112976175,521762237,440970734,693841815,810770580,952243271,965337661,5119242,15806088,899884746,592526643,585156824,466865482,355645085,860002410,318655318,999506813,837659810,869959715,525565025,885862767,68103713,77123005,850779488,248349133,950775636,87294718,293356625,670540612,391203495,622727705,250200232,794213546,837319012,483378451,612709701,644245426,924710569,543102635,548607230,400651651,371177739,918255796,188593209,495558622,549197220,294894315,425075973,150045089,952177430,929911152,259859262,169172223,715824107,604705047,552630513,490511612,919066964,283027918,305887224,363670924,122596247,436293785,432393481,6415264,86915050,356313394,167539683,40548750,819528931,316251262,681232727,488837421,599064475,566103580,723618982,204482100,243946003,513418783,816175807,709529123,666398790,96365510,461460066,634859350,602389939,369146461,818030777,704258658,177626071,861091115,56868889,420054026,208326368,576061578,915336990,984289026,653308579,370360655,292021611,451149558,190127676,655163335,488678731,10188090,223568883,950969189,9498635,832234456,235447162,841430610,886594074,611861320,922494240,102043689,578559316,832445766,108659191,794678193,683876427,495714532,874170397,868935057,489370834,329110651,576391470,420481206,896652373,597916949,399767827,670575050,781575692,768930628,342765639,862242017,484786734,363752847,661570560,998355837,606675768,457892636,252119161,852923071,96477017,844559256,909023749,280839408,605500294,299731692,168675540,153274097,945053147,134690835,734601128,109962397,901655268,884652500,652514730,167516895,468404517,408023416,746008975,37298357,261405796,862289391,120630213,588869011,690917911,27764071,65734782,235815325,517207553,275062497,952023537,998023332,558976325,968671769,123059390,422332958,682748232,997080974,673318223,412186661,1725839,315223417,833055899,944540311,228225943,528560550,207890509,204248821,297428219,876166391,202239745,385315578,409516289,473135772,92559433,929243618,481213190,494919201,244897332,147234859,429146252,40590732,546899693,633363391,677052124,205250838,5802846,691680626,631981023,687529236,121294154,126100182,127948310,549072227,282987991,305889096,63397701,459647486,488882692,168844182,872890881,75642382,609894975,718156067,932331561,187809563,945519382,276158545,608661499,214613521,972694231,413448005,361901452,818315215,908526184,16356908,640835489,942533080,499401174,540709399,95743527,671234684,486346180,235498971,151414238,64667672,411105402,988428559,935025935,360529081,99170116,873754456,272386984,925265276,718403214,121426031,398519677,524762174,519145199,815171949,719848592,157859798,658262081,96683506,772818955,322318854,895865200,135015827,959757240,693201747,496391802,676443512,208203354,337267360,405379224,812493507,496952465,515315185,556080306,544757415,775839506,454557530,334116314,700361573,465923383,830903573,418426283,224126908,696163028,305692694,808289427,995291855,793316388,660918121,932644721,46593881,555156169,305586843,30205315,597618257,737282171,257165164,76840650,226663177,357316908,228941017,538353766,661303985,270916016,378412905,698611814,938396793,881013279,593662979,429431937,582558478,523541505,131276125,916093657,876838490,321586572,395758147,510560127,341866769,339714257,863549128,151188741,709639030,251455919,821534927,73281743,525137518,206189656,306112575,865437330,516449510,601801626,677523037,35072228,887330672,17747282,280028839,651112008,134379534,939078384,603527300,162932158,953003773,465357749,812566293,453344572,130343924,204796031,933794320,614970595,842579427,316424373,63512888,168296537,204985669,644976409,180792082,285381701,657901666,439805998,292273471,328580976,147172680,466298122,168127654,540425429,450485356,419956887,444216991,961385860,6174345,321745572,790319747,723600589,844574171,454440346,69100102,779024491,127256243,827824607,913093999,919246458,48215877,730989137,227373192,427193670,818908833,51303336,751560039,787401589,531904780,409883725,324048056,337668908,341996363,661424158,366674451,476484210,630749801,753824638,12981204,165565740,335714056,875735305,566798222,602477541,787756549,401056625,527764735,919124966,255751843,415048351,49025434,676289356,891454804,865808451,285843484,375863031,323227650,387111720,149404502,83441980,970500448,746533211,69825174,899008360,702895986,11262626,803119925,491839984,977253676,715590448,856255610,917476883,714260922,875882675,366950865,927177256,680250284,14254142,748299484,873118349,974829262,780627538,53287450,382590111,790614532,913978509,50670312,334377578,31880009,824602955,165821833,456189333,780384368,140305681,675412915,440260108,647939421,156821607,651803172,602091041,917499808,466974721,483470430,225875950,900058831,344939269,355709910,710583332,122784413,391333054,301470979,929270963,536648181,546086389,655099574,30904089,516858873,364791450,473630460,162750850,113776200,145005178,557464572,730606106,109031333,685504169,825880075,291909996,864832238,941008504,984047755,61498777,482185305,68052853,723332962,349639657,990824120,831520941,998120983,641609030,533078613,365815689,869438611,310377048,425343510,334868337,821689653,19108767,175046686,615557235,645340175,242422720,935399029,210910143,754607898,676250521,298754551,104361320,500340602,209164987,73756547,134505140,457021195,880715676,861173757,188533320,361717812,678478853,913382024,630034906,904406694,314672307,998760244,488507516,877974570,555195916,821209210,656328884,235018601,58314767,742197853,572118669,656150497,286471827,208585451,286656234,459495920,520946023,369960521,160452455,715312994,751994960,598777576,72394653,205507641,683672230,746710300,827943883,432666274,864346882,959453852,257760631,873339013,237315338,474062424,323619156,211777160,636661920,875139662,330293412,223176221,961069478,736125303,437428342,523142377,988799002,396985582,844649863,676988859,525198635,249869894,929580449,706984220,765262318,967880606,183042054,83788630,674787151,799178510,911065437,320881995,890203360,151647244,702842973,951330702,729809312,241407703,540739821,612531052,551368446,788384582,171844902,321674677,997296896,62309764,476968525,463607213,455539703,698979325,20794730,932915964,800108676,308564732,925551957,163014284,509981439,752527714,783261481,331073271,427422697,287539035,774519216,688892414,842611781,224275906,635281360,352084310,549411019,587283226,647687653,170290747,393363724,336650404,713133755,291605231,316218704,618878191,86648427,687616121,10627647,168592989,725914490,993154246,796553284,361076551,347724839,743872228,982426327,538526819,599619585,264635277,163230568,415793168,543473158,412713510,900061215,908951130,657409514,41404550,249651217,194565026,820709674,318792624,348520293,736707498,197613668,649562,916999959,816393015,4576438,275093937,58164797,381018130,606265309,993742695,845112145,165886036,351822557,928515485,698921710,595909455,379724505,306306624,349794030,268573437,618153603,447587642,661266348,887574453,721025561,663794709,122374991,372127953,463922511,229574848,992824141,794545245,760944675,483419275,932792786,389625294,709137542,191859556,694789925,232990688,606972567,207664060,71072494,821400845,479993552,25392892,555304177,767170683,642425660,236419881,154901608,807303079,468018536,405671230,729246269,826792583,464338720,909509124,155688588,668795665,793536467,540239299,858721710,240287917,94595661,804030885,16403284,385793540,204242036,122965615,965725620,979620732,135159760,861081575,778751153,6579232,383839620,51924359,561206791,918854743,4833393,271679362,748027021,281060019,23375343,307885580,181671671,33618243,807662306,998816894,60994476,97026263,111149665,940835237,742237584,388950808,621428690,434359665,614020530,872557634,863190045,884466451,132645918,158056033,787408015,960416668,381690984,160969205,464826136,182003443,998361445,291426046,512462476,26522235,291108300,377308190,527289107,538815219,848585799,716064886,759643882,900541402,794892293,440692963,132117797,631308375,745354007,19764828,755902864,928564943,655612435,572409942,45593613,409531720,563246265,773733819,672802271,648139925,288715069,65655769,919855737,282042027,71085757,153085315,96939383,605381430,239907826,950978800,522042423,836753315,537698937,886569794,726954737,232281688,613696017,995839501,390468613,714062940,156540086,437690096,211637236,714710008,65298219,603622240,444740013,747237059,176169405,257005814,104731365,445478446,615173814,885727269,727960469,237179909,431679733,739904764,857458120,189798847,903917830,659817509,398297784,734762204,134167494,788465402,18897259,272133983,574484116,130731134,64683305,335089895,620847046,393074794,239771628,590832562,266030770,578925084,114984729,341815022,809497058,667173058,686988333,38607323,246149094,481211653,751928233,520102835,649339364,62442449,613777487,451554763,930926818,227973269,474012864,197811339,46187720,110090460,205989855,902678120,280139374,312533609,449048007,330304619,110860346,5536123,527607348,405595656,586027626,392677444,398085475,55212049,115388348,93282901,588707677,590647811,72263689,297537062,980711727,508238284,56283863,720765584,244573601,518643404,848084156,964312839,48769980,60012100,226899659,256085782,69258682,276329062,403713567,253322118,59642517,76351201,260931619,414531517,824293676,845307754,810306738,806037722,989552023,768067667,430909274,238383825,717747987,633340097,817245534,627772505,801290187,643138123,965322333,241345091,654651974,591559856,227983301,547492680,176794557,477175913,490545273,550452372,973169666,148829949,267102708,600351682,754032168,870224098,936790303,195597113,17157189,513296583,676597066,249823717,994061775,961161690,268809304,698677715,572946594,495011548,810367291,240580775,424998778,287553252,138991372,947583040,262323648,146952834,355437726,682280456,277360087,429725660,47294248,839050379,842128752,673401215,921395462,517641621,169767185,474891178,47950040,967748897,334093867,625406233,726474270,782420270,868190876,642356870,735151060,907142336,719500265,923715006,157670109,161296288,972799807,880365835,323989291,322224721,201070888,337720173,262700928,674594480,909237648,641720125,356499254,642515993,108604004,183548249,814257531,222586903,418886513,952359518,125397631,720101530,138517333,976561699,934754596,322426033,872067285,7952439,740069723,555975450,226993284,695100190,258698527,687042154,264796319,470155607,384932324,764973901,881907798,731331518,440061312,435813133,296850438,240180087,13591276,683177248,363723832,800310346,142692296,787149253,99011062,285786433,468358464,690275497,96438657,387113196,746217302,592160155,942315237,569990552,348975448,908514653,982620057,398704457,500902971,329585591,280034838,890360221,23975139,104253829,669356903,882063677,797028316,195458509,142997806,467780089,550897231,509082061,843909284,816132365,323954179,808415168,715283439,498977050,397668568,597250324,722750674,584388042,331978465,269136230,939834371,37511693,340035284,249691634,481835960,351745103,617361666,661281522,177791368,728896110,868994722,24851549,636170444,940697450,783660232,790095060,34469071,439264288,79803388,172537368,422350682,286185715,794141019,706125578,761182279,83741537,123422400,578194554,301974011,805388238,175420310,828859714,900889765,255018561,459426173,319043848,474064216,524042633,851958735,910370770,817159367,432276264,364252492,595814863,779716337,146458286,292749199,49750866,656022195,81019200,399544703,233637959,463975696,633221045,930087960,467058205,269384162,977425817,8726084,578348775,315427486,39608363,211931028,349783543,132207385,715091629,201940048,670530732,331412364,143608358,627608176,174634512,378793576,35354435,559621739,162932791,485469998,960341621,846031555,497575798,189084202,227825983,366584429,568348225,824432369,920377860,599815665,174107719,325322306,425579043,628916272,293818195,329592897,294480802,850884427,450361943,118343793,965375652,399861746,277985533,243526744,269272746,729469700,269603672,509208228,385995730,807763984,869367179,18437709,912940231,970652100,400655840,941360333,893986,168371640,298224252,599497315,283461356,164691457,189153876,912909534,894451435,607501380,841748092,232905811,447328180,698044083,767862398,65906231,930807928,915522499,163041695,799212502,42016769,419562899,761407832,694949234,611193049,458469962,708623939,438394159,234795542,491213609,813612908,49083206,19504920,515013738,898238281,495210159,463370120,751932909,793222821,206052681,233064294,427129573,214466348,576309680,994098732,809914473,820638124,409732954,912216483,266545134,661360099,296286044,953646562,727931459,928316554,86069114,486587815,227099023,95433887,495475039,609328078,56302083,348406129,384205968,556581641,690409100,333928629,160349741,664218712,375402555,510745021,890368994,938779760,911235588,540852878,964698095,86267341,414505143,767675243,2534936,600865549,440993232,663432904,885867296,551461993,912794771,414581420,696637766,605141831,619945066,314978296,443014727,98195020,337497460,240607457,693898921,695227080,710771627,32238885,930376560,27819303,488249021,566744235,228213916,367875750,542322546,488182966,524595035,629897891,326016489,924425203,144227459,469546229,906797941,39933451,203416089,44733365,488826105,427902018,786068960,865677041,203599340,974152827,593614794,192153780,883920629,407579768,375614798,218759929,533964736,388382267,896044243,886828590,203004891,734934179,495359891,432189711,492043587,203178062,169708414,86855757,444022517,300220271,53650334,64158453,795921827,369280367,271401359,294402516,768514812,182022696,55946927,29466472,159585030,72103906,978523137,745911037,301256982,747951019,929226483,213324146,915204292,622480782,928905405,631450497,132140334,307637733,662142177,387242699,383944373,768338715,682876094,721463741,227023859,147383273,93970577,902713626,620132451,416163798,807913940,887568742,805325116,815902792,819645207,461738797,822264713,475680345,307520616,210333952,516722431,760203276,132016289,371645185,895608790,374892603,480116555,861460917,552639997,984922264,920056466,375702983,662919314,69849329,224947082,737604189,57161555,905491668,455939733,837909036,137979644,258709449,83448167,937937778,933322724,391049843,342193663,816394195,277059585,180304574,467850548,419885903,447753874,779613416,448219416,939949257,400783166,92478488,140293559,819493016,936006930,329039232,48310949,148419048,137470402,363601996,980572993,211989302,484141474,830790375,32029492,353516789,900553717,926250045,839043857,195812292,925840648,71738327,549081143,39545125,917138092,924416272,785697485,485561617,445953206,137395279,540691877,244898760,489209376,885494135,251090145,363941292,772182124,114169438,527561148,476401572,594844451,392537264,708508037,656378336,637982752,699156308,616451664,727618018,416227036,427380745,730501639,808654578,492640438,264200252,937469337,522094983,837928847,706323831,892185394,566703545,504672663,337934461,383916612,808214324,925944886,536928777,378002843,121452292,446887236,339709313,262051242,120300,10860612,580216670,936353316,977988075,559307650,284460782,683380135,128595385,924193860,106972484,301357533,366029783,502943355,661336359,690414176,832479914,642556306,32950869,740098714,37527231,972766797,706892273,151260492,483306422,327234637,286453608,402141045,999576829,551795867,675144955,590159118,536410162,89593121,877536846,26201871,915285705,666232817,144576405,761811199,742453875,991795500,244406850,302612967,796151582,923336285,491302227,793924651,760670413,730296034,40405294,828271847,232063618,583379724,466408090,331499818,550526254,414612444,322101764,694415198,838973237,859021721,183900171,54767072,120979262,609723301,606747745,950948457,755733151,313181106,846397307,791772609,463764180,865215350,602575215,672965879,330502169,861833914,109932385,643653922,198892211,161726181,439538680,21160220,747095990,129465106,174234770,1385067,868453974,24706328,577022280,627601707,351592606,522237318,557888908,578311107,236728968,198852031,158796792,925338979,276086626,477894090,347932745,59754496,467939934,121204185,559745000,36878030,342004227,481120273,878804794,336639480,308314932,971989303,468604387,488208070,618503342,445245344,101979560,733375909,465667697,158134979,475761805,190954188,80860043,857931882,994446511,226016702,354944221,323221642,264869099,323939624,867116632,337802687,313320671,73688499,368248234,258164975,584276089,696154363,278166390,123939676,742133990,598557691,305995959,264860514,883351685,590978253,817311254,10625731,131086832,729747845,254499457,658286759,774465652,25221369,587857337,358905994,257815674,977265299,339625728,413580558,266981745,475062170,653019647,152111793,115259494,824994165,710589686,668129711,110597086,846346672,746591692,935795979,951796326,962546005,498989401,90996615,264316434,186273082,560948838,769431418,132979100,849647941,921840702,96264017,561297781,85883939,939024280,956624185,410426970,489539513,864687490,59080398,313960130,630248434,257680244,76663890,266536851,927568784,489781221,672415444,432676905,121697067,456400364,352677673,960087822,538499358,935225615,502037202,495815767,259902480,364609091,502245855,395326428,24170308,201967629,465804230,672963903,611889815,908256475,553731641,646385350,83348802,172691068,448621605,959562897,533393449,7514718,402001762,964084222,482486424,932639547,228049597,458811668,609620706,506036142,143790534,152740467,257430423,475017361,857519995,85728213,421047034,402441746,808651142,736014922,819906776,91052846,490793703,789962105,451240692,99415381,361537972,243270301,972067374,442187720,588949154,737852747,266105833,85163050,704766300,906720943,453140246,815964604,365460453,367708755,31757111,314665095,411837101,782049976,192162425,135871892,388641866,325694873,402101473,541251956,92926939,250442101,755966013,129130424,349235353,776798859,598449176,22151439,863652732,478666328,331271499,618188582,556724588,327759015,936277683,700774900,759605701,833521378,353786112,593389328,358980016,493436457,363076579,452214910,242582552,210384853,342833410,394091347,123760206,987278263,603945034,426506377,772434771,925724408,658124807,649857215,166301199,143749022,534568460,455677370,336763420,526433942,346519535,834319134,321397078,862693544,757758373,953898195,112280632,865668312,511780176,69195969,384328576,168460575,115209167,132823081,882399082,382706105,725617410,600640224,65858201,844409958,411962794,921510599,870253507,820873775,798929628,562001625,520299929,735741759,442859732,973242439,813385318,579077768,919449671,121540481,637093966,276222679,185718255,216509316,620116563,877161197,838959808,778091166,560376440,685326038,250198674,872242903,181298869,787919935,168777168,804832444,181692001,637737313,281472252,76183770,213450412,568845193,202701181,794669046,740919623,283500068,87749288,644624472,551936009,558208046,29345635,554447063,858815398,482855660,742762052,328492896,886100998,558633465,587971191,103384819,234065869,281696638,229046934,304598493,541281051,13860020,703651649,798372320,939085476,162655800,571373814,274354739,137316002,59742870,886295925,615552776,283214633,224384167,131067269,34929640,740404390,56598913,987268397,342499314,879554764,168104805,84572080,88011353,90551991,476475055,206033,523320807,467712327,845922583,860858602,737275308,303865655,941435312,550034364,873577955,502787613,552156715,946838516,325298610,416772715,174384256,285229473,900438070,407798813,143715529,589282807,110124321,561930476,694744011,457944168,196844727,947475853,430242508,986425783,319086783,600694953,865695644,174519249,617513403,257585359,723424591,803602816,32152775,566938613,430783978,95243356,612971984,245071215,22287837,879032536,555942292,843077052,640976154,984207086,225101960,476269383,857850540,625090071,155752642,544119225,694496622,605924631,308890122,430251093,608462947,63670881,116960885,297621432,841924331,488349096,852194873,874793336,897921534,423363034,788925582,522763080,429564426,730695443,161399155,113135135,455733367,892385080,258977327,31091605,49375135,635782285,191937274,419740380,278852139,883596538,841724102,726155910,252587543,708277909,343407388,229323480,608309089,486120692,979185887,482191315,785641568,382507350,428635264,62606445,545969277,715047986,998657864,734604468,944306007,543207566,443800504,908444218,548532351,280121638,824150586,433764054,332981829,636015082,853476021,864649986,497497892,604842398,275825178,847368630,775053874,405805276,55270197,777233499,362329417,650071470,330458910,483656932,557000968,568952173,388562890,775066928,671589295,47032467,304275708,888019147,307420654,558742429,165670182,296513047,961154661,167862873,965390325,994277535,332133758,529560603,495554356,647712320,550374842,918012926,327369264,562387003,839699382,792558250,179444831,819490011,468879331,949005591,323243214,973616219,776240651,798999606,906380982,818722487,574292891,597846719,954691240,685956033,695868527,124770997,302336174,313339178,814726458,296268500,192388989,201641199,770502073,312889819,538214366,659641186,462302932,385081897,350386103,595053925,724498028,521996006,828526386,966313380,573201181,50094964,633992967,276066856,979396781,30602756,282086559,741230111,88135913,91013974,392169462,75313702,430696859,612570076,845094043,136891022,532877862,367528691,685486537,529696928,255270400,442107035,68749372,384662167,437713714,130943130,44127926,578106926,946254971,754509706,735692940,762397546,40544582,617171653,590774778,112179634,545936315,279694058,279992274,767192149,270934520,381437939,787174487,313546729,606976530,355463312,823680194,821711029,115786950,500096044,421239146,593953974,893257471,424977413,907468936,607289158,310743124,258805968,866463346,733967622,289222228,565016499,723801427,434785671,884713582,406087085,666299454,273462869,898734348,11882723,848487693,365068143,395540063,917280970,771423936,874550541,132393544,760895786,662457137,759190336,145668411,49460433,63576674,95741103,611158885,108098723,889897287,688771080,585444623,256647962,696710884,961619389,27731951,343387965,947304695,278115210,707085466,593077442,950419975,974377097,533023776,565478297,829156156,409989446,892114981,476622463,350052430,616764652,388646043,938469110,636962413,112489561,57593624,534658829,256617997,175653756,537118105,746144067,80361150,303417696,572917960,183002379,381796988,635619465,757207962,315756835,654785973,166508290,876078914,761366887,225193731,762243629,990359282,306944843,616385432,211396546,50897089,210634059,523029655,776533303,448568198,161167681,201165916,690735056,957296238,651719236,403781695,366257292,913783112,374099926,963676610,90752225,647700874,135370735,281600388,978518579,632964253,76935047,836682132,172902722,664488760,840165566,14960763,916477620,145870267,81536800,790192033,49751188,662027504,400752283,439955250,261568991,818476046,703415010,504474501,935348781,227327614,762409191,539520975,180026264,710183273,893461214,284576292,401885246,924413142,904170468,22595495,83031531,765234065,994190082,303619635,404162221,495488898,847041725,228800957,976328104,546054498,97883885,603893482,933237108,674002968,525084845,715516642,971729253,637811707,563541054,458634401,792393851,53265998,533432961,122744380,264064420,951910678,725757973,649961580,678606953,515129238,852532495,262726227,194030409,733608304,112431588,543248069,51948330,404408471,452956569,555561207,333697820,91449809,154146213,55301135,369661211,446720052,590739157,135013133,262304330,127192701,712379998,930336209,132355473,603942096,726816136,828488869,107847177,940364754,894940432,114095119,158172867,122046850,33743266,829160504,709718301,369416105,369915555,634716335,194824186,546077197,347289631,458148442,37364331,256871604,827930506,204840148,916192153,747899898,521044070,41327537,191059203,102145595,382414851,375999967,394716067,275616709,71763079,342425439,731333392,477754298,132977233,87345973,523170897,907862785,610852874,912216518,583948646,164794295,578477924,161013470,728545689,891027514,554757449,522460188,458412856,155634409,351106477,418452734,556700163,740206322,113658549,362077257,945751455,545214016,466190968,696257917,488237065,536238444,162172234,711371454,351324372,312120256,403015171,294528055,109045765,285242186,367972117,38364508,651936489,757685319,879931025,937413569,51664537,930476379,438866776,223267381,255847216,884968653,230149164,213376284,884611049,746359178,83830617,305462733,361771944,358963053,250693042,801992285,615240853,888470939,637967840,775789712,606908370,337407412,868377651,340204514,765697644,547016335,632980478,248427326,764583936,264541444,851144961,713355659,452973396,327867534,412261372,740753328,604291508,574230976,67348922,917811434,258979467,87222802,565135380,805880209,803392729,340214819,579231766,750424708,767941430,742452727,340497337,706972866,521118083,170103122,367379487,335264957,825296096,370121256,410799179,975552827,531509054,470368354,982724222,108784261,448589316,404597516,490821880,377998003,375219433,494040180,62931049,760611692,406102943,642533108,199297705,4613046,326265442,808766180,864044513,547401916,909270581,986816293,724464317,656322038,566599004,592379575,227312439,614458648,58458729,106693984,775516893,205760618,491308489,92458945,777366586,968693680,805805465,548025076,165012805,401973510,866186535,707919846,843459546,255541610,173202991,163552890,845982465,267094736,719858388,125742084,110159027,936322926,29714926,755894471,241149631,281690955,496022402,45448691,170542259,70949622,840316501,768529402,506758425,665958071,429485469,124338605,702683176,463112700,241851257,608206854,745474635,620589671,797891964,437864044,633697681,356193824,110927066,839684956,885994439,279071349,459125595,423339551,155868188,401833889,50383090,427561784,13074234,47283710,150036189,21354274,683281865,131939617,562991777,499638481,632913934,507047471,735080151,787246115,642218132,73949422,60465183,792506429,460437500,693292914,879924642,928160154,667095895,480066216,80265549,247498571,972566221,457384452,719775840,224948544,509961126,358570013,675388681,225449119,702159442,395719565,381482104,886262936,776856623,94505735,209473392,627728461,576421801,168377716,779495735,244962140,678078818,819778064,195904946,265271053,539894342,381777311,98230689,709612795,908467912,851552976,750368996,659029024,389234547,664515002,292842564,66197139,727295889,440095344,380612087,329250818,458590187,73085005,446140026,423630413,204236737,455273805,33408141,118698843,546663040,901547359,231360065,787978444,251436256,418202354,575478293,209679396,362610632,273364194,452702440,747368866,165531808,749091969,824975796,476253318,502389938,229692468,939584097,65479520,916830316,503632691,485373143,591266918,849769112,576177132,220296437,604171273,916367590,6398200,868368181,434678313,258254154,793125300,989831753,466550621,195300688,320174523,825700481,851497376,871911567,95649465,743029744,557301799,582582766,426909559,394187433,637845820,13233782,195465785,407734415,480878708,636847854,946246098,166927366,514148792,541154079,307568328,981351676,199422474,523476252,157526275,816740754,516920873,818068593,806726650,446930027,124539270,906581431,620926166,449550199,823769419,529082649,803098703,825538396,353606066,913079991,638473676,671628208,530020755,12094755,62961745,967402550,871581804,7954366,245215954,959782037,668710118,195960408,382717589,150636932,979790827,225234016,694647143,952806596,954619174,397678737,390725731,706804794,954301157,884888851,725509895,377565348,291859537,300142609,890523846,376822349,161772591,416386234,9620816,811430538,481122512,794291251,10755971,958740679,971506697,501849964,882572007,964264305,881590593,169822028,61673585,617042607,504571817,285030663,741185120,235407489,229390293,931910918,167711515,51457301,225168713,296355510,480279942,40477504,476405058,641368791,391371733,331895868,933795885,10695679,476078608,535779631,814240094,371188235,711606858,816262721,130787227,838081587,665560652,307327382,709924154,892723857,949625163,179690067,958783273,965918221,624957093,295760902,519077108,693110873,637822656,421321067,567962073,575621413,953536509,303091945,864574347,842419697,284952728,933343089,423422216,451199167,842184604,17294737,361053536,51061838,897359270,821310204,922642370,816158045,319647470,320698034,704802638,116964050,101376356,124436501,409534646,375599408,329513734,805249590,497296776,570369126,223558092,36430342,561954750,523793396,705094087,869501694,905449226,378706599,173907354,626966184,885693987,286255760,609053620,154459475,522774968,107651934,88503626,519553290,106856083,327602929,992424642,142713903,221504996,553458154,529895029,702551674,853007487,376888231,763202945,772118159,253723250,390812692,382209790,949423812,259696477,99122471,524814773,2236039,67626374,35005488,540098079,440783546,521586111,329262612,127021332,519934416,455648486,343219688,536068527,813701333,593791235,698664830,640111325,438353817,581743831,295198890,415447005,611792891,440829723,898064630,154168370,310495592,309263152,594361203,200166376,570298987,393591520,336378114,640179821,839151713,334449529,478632140,732060217,75968823,964277734,649440511,710908815,761459978,392889932,537180316,171143661,411585729,407929496,362606203,45166260,737807362,611596544,278380858,180751726,939872821,843744791,448840803,764133125,93155870,501158719,74576543,83153781,308516133,493901395,790525569,868582943,860993569,494988057,856381552,684325273,747662875,46750639,600185659,416950963,318836462,384969334,624199957,351494242,131662589,224124754,111026891,426701674,437252072,612027234,240927522,399713854,684994055,409796788,582914461,267858785,825622967,427929825,651938432,683375017,784741701,3825836,169100111,607332999,299618710,764544752,112722131,137907962,221240194,518428521,282278826,753544286,62087521,150101628,798391168,438451010,893393790,534652779,662131076,775973185,56562938,546419076,584677784,281049539,593405395,729486218,342018947,549326013,846226549,402005693,807599636,933549463,970534214,554372524,100946126,952773938,231160588,228488649,119394933,858046858,301944169,962613492,200553303,530253427,325260153,992220195,39476020,191693801,713027385,526135625,640484548,32993323,868445733,379085758,327456037,821881546,458165697,122554055,209055721,777285942,435453616,212458944,203633649,410656575,427040423,38749848,506269856,71681338,681534305,269569725,818912371,326377493,721591021,109126960,950703450,10031122,298344936,135884897,171879785,737008578,112936188,930302249,253467342,347144521,35222068,979035082,666810438,928790584,669513643,151132039,45629809,902187506,52254256,944835849,536271806,645309526,693122482,698278535,539393256,346461633,965693273,485813707,212897539,281517494,297698167,364444927,500770197,97614993,730641151,841350010,100421883,495376732,91602983,788243989,296988355,889647212,482214355,660977620,346178728,739038928,179987354,918571862,76049149,776331911,556110323,995287490,627042415,152411395,326154002,448859534,586353750,500569039,686014124,789696135,521614272,602585596,272774548,350935396,336761547,350102177,948351085,654678119,723837353,314764760,702603739,790847408,967293297,411139186,134967196,954136347,472102407,765209714,443257206,682472611,928670321,313808529,69422846,424371764,115249795,189993,656882859,964688192,556805273,335106989,591139427,572361253,454572235,352060730,847263645,609836927,171587310,770366856,532314222,640639403,590957008,719948781,414710695,333976784,755763421,956651308,594969042,672045948,514932015,494371070,650654213,329278391,854691758,20136122,787010642,120582471,934722627,226018972,629743423,871113037,52462453,975059857,71801155,654705365,518700440,572403294,280337425,258648999,638974862,164689431,992521773,275203849,347881979,664537064,314036098,536892506,750737990,993452735,723717317,512739203,209521437,412223786,670363833,842489016,272740487,693591386,550303926,304976955,116408223,981713889,449256780,22876223,651765585,831316276,566077229,52274283,314975376,900716355,572032127,427305421,535188767,703537873,445511417,357343446,143685855,78661891,791485791,735287351,83829778,419005588,486137877,707080235,223337805,302350435,659118023,110965561,67099176,798231331,304918477,456024373,230854270,157012469,983496669,872900251,876538357,472850902,98407640,475229667,430323005,497943150,228090623,749318281,228713434,117991423,6623347,722410111,596584847,830757384,969566598,753335130,212748593,880840430,666598219,472291678,652731288,155764435,258176785,354414533,858705112,564112284,514592609,479028122,418318150,838065910,59065318,460857893,92785022,384245159,796540445,967887484,931231222,358412434,288166155,409799949,199955505,283638195,336404958,516652118,650942905,430016605,993043778,535307136,755113463,429307688,876612044,293799234,614734865,299710746,984167433,572593933,142636436,438964453,155764130,409847625,724515724,998940195,217421942,822434246,133646233,551061896,35969647,313656565,730873361,279004617,818048008,393366255,146099889,135839938,830092355,950073693,29423403,474942128,100616132,657830247,792453962,213749571,891455685,13593280,200933024,611359922,312487362,893651953,573510638,510678101,12918068,950612990,380864111,484921881,10967149,781112902,629307428,827238053,404798913,251871517,907604086,17456204,947361243,961629934,942427780,594902175,240070480,319624357,596837228,715224212,705506468,918214686,333282239,388223638,681012528,423230847,927398512,173754077,381382601,2816816,992752246,614629621,417245875,156540003,857623167,78107785,188309134,203893298,148429101,872943563,485787280,433448087,228742933,584617249,59746392,719086148,264246317,666912759,303365535,506466762,979780215,600569661,798373828,843791672,771709857,786083564,791559590,32326330,172115072,588989008,401584522,476901833,144404696,771781770,197084811,636184019,419350320,853600811,132714968,695311741,818345487,675594601,6981635,531986832,359260718,249865865,341290361,204221115,423430254,117908598,523035200,562656007,667837727,32556356,37870572,303863023,74483577,764235397,184795480,110298167,477592468,169082379,687819799,615180062,75259554,569051723,332049539,880209265,76548485,444781299,707936192,178906836,850796729,295282537,86488500,614218408,302588159,199506210,892129238,557286561,763123371,343954977,202625104,187998489,973064586,613358489,347513613,747822666,786261076,960023205,300061690,408807870,221879848,856667203,566767504,168362498,264035810,38471588,139990786,438590098,410329602,945713123,492138190,119906087,671211507,978598285,484092350,528348092,644883969,864022288,326239485,532074339,127578338,766035103,808653524,350271084,949589960,828439812,737053246,70062819,270441587,299649044,721017850,371080103,768665878,321036198,123897235,439209748,255502242,60798564,949350516,389717042,348500286,189233970,424341446,533197963,162161783,439328625,422797075,991583853,374152182,624805639,148004560,387755297,25304950,14143659,125411780,587584343,382590845,30867097,560818263,985643530,171837607,568855193,54885002,805500936,607963657,555784986,175590722,471580757,63859809,51732159,877957463,522651452,55794260,603355296,138472277,494263737,724843827,665099916,279379529,162149640,231169514,597563189,863963002,394971278,662301993,98111926,672465422,155956684,326639741,522016698,378073336,138388214,868195519,524686850,612313382,541522082,514238841,366710427,809334898,597145249,948257451,133357767,561756214,445164446,999871212,68357755,68857432,980320490,250371495,871748660,758769009,925990748,682340733,199524508,80045345,43622711,167095872,686477858,41751075,158089571,474683659,993615706,885479701,989860313,680685083,333457375,31903252,886657638,466211476,349622084,706548436,541191495,836900470,529840938,651565002,434704287,928699324,399280875,141561195,502810873,646113302,128015737,797868130,229903552,898911398,748765052,484385644,500474986,568969004,289723949,764418448,577562029,50320392,470865621,650587739,16865609,45667511,83007532,965628340,316573612,77564685,403985336,183626570,6610398,918433803,783515109,199126035,355700593,960192622,994061088,453441946,582778764,769512341,178766333,420590526,625397116,739050388,20028866,569293562,684938174,530390582,157861050,8284013,30747940,706122760,252844209,845546415,333194713,442153034,981956962,937458470,241732854,534512913,547874081,746324460,684337819,666705259,509204840,947687975,220194740,818251599,231586990,568249896,626184,116844032,325502979,95523352,945763486,681943928,995261433,980389813,865299002,732928905,76028570,132417462,469595026,285046718,572421248,298740395,554675775,107129747,875736367,339459420,940912777,228881032,194260431,153683177,935861638,269453947,334842848,963710196,276470422,466205080,619267705,681851982,494346970,912148539,980338331,285651263,77017087,215939865,355845996,777613798,570167825,353737812,193997747,304264766,91016777,314195222,917243502,598453452,619146904,984510109,224091364,409224581,607819482,830136671,159442809,645129316,245069596,911423114,612316247,212729646,47314136,576967117,806067645,443095734,633444321,913828734,203315132,70284515,988404141,896691408,626418083,339323954,392853249,79717179,994518578,157880892,46326141,606252124,720729755,921092244,384080957,934902575,692751172,105910088,584001418,21016853,639647049,626474685,855687811,918990411,47078434,85853544,310451721,315122025,489769432,655942159,611699579,742430132,681455478,758802638,340477037,157943198,842671833,137861019,457179214,974569138,430742443,724511733,265486138,248891638,746958001,786828662,467072325,92325690,142166592,993484781,102437613,983597138,765468659,512499515,173081052,499131433,235687955,802352506,724898561,710360332,190985457,527245800,62508945,224439976,191033568,2715342,605077428,841018651,21180953,258104663,532264296,426291977,627208866,320167840,755466541,682754703,502715401,483856621,483006392,622763509,939056281,603325274,601250339,203993171,998106853,838219625,22060559,398079417,495674830,971682425,4358009,767875035,369388508,814880720,167824525,335074497,921220429,432799430,590152463,910263424,746050487,777962719,509182993,648938314,249653238,473162016,837596919,376505821,574770083,592618572,529514042,539670822,476071854,903755422,922304251,706216767,676271026,337734701,950442495,59170825,792321714,496673672,586732425,997474310,206405690,869074846,119524184,608454061,252192421,582233014,572473974,505858212,338995496,667988433,342393127,445806574,546412067,142969500,480062228,556111677,946946882,614810752,499220914,88024589,475034685,261609523,8308548,795300318,613339500,991559507,511488628,110511120,777730027,76107266,851196472,650815605,879059381,491050732,436407892,348620841,905942342,893958893,86646414,899155419,195046915,619826517,16805036,729013420,61904766,580239980,638866574,149757713,205142544,981017385,345465039,348151987,855796298,146282330,881427508,356480653,604331642,14814431,563313541,664578962,710305541,923705152,720135933,813514773,332082505,245555515,92043229,432543256,466355448,324044229,782239467,115218064,136377963,25209392,929779812,536277101,455808380,365117410,10351479,766991044,193880638,448847574,872654611,609172217,165783803,817781101,86042393,127536359,352142561,238804572,516104711,342226811,34018357,830327332,589959876,697470319,305883387,641888528,904168889,363568,714775301,515866695,830432590,612175228,725732131,542301480,641691356,218794291,928320918,418344429,287675493,192663067,784769990,856261297,404727812,343767523,484790675,874068537,446247267,848303358,103651640,606042815,257625577,100306915,558691985,461303910,522914136,879460471,521114587,742781987,955727778,911380910,455003111,99241167,527069952,905571303,669104984,193603447,726536302,90295983,496710094,673034958,30466233,109929179,469805055,271144030,86885301,676035578,722472826,58838531,323109920,513762829,241467836,832911477,523428095,538515529,999262396,297079656,470687148,79115528,487886188,958233800,219397238,820993762,235956137,427995988,664725596,904428343,884785420,768563309,174952921,865069271,532663146,171697909,826255711,429832468,793943378,587810070,528283511,278899338,321017546,345341803,277778611,5311256,320409174,731338203,919303332,857439116,634608352,64552479,995272230,785760334,292181797,656975131,896812299,237110416,365646437,193572945,547016708,801287643,601909058,11109534,433706728,907023311,671745389,349047363,656715064,999850703,649430489,840608787,391721389,847530925,666180726,874941218,459792187,610424151,521044160,211624720,102033735,966595201,219627806,480460864,81779432,522121518,332392903,810955969,359773608,425077355,311899433,400724318,428562484,59872648,835676090,636146684,12161226,706608568,587613231,834441938,786686285,907080953,589949209,465187694,984537972,509727491,442025345,395917716,564375411,20705440,335412697,471166221,179390279,812793481,206704184,406125015,36990942,202413545,556896526,754156934,991407476,302163017,682210490,584012896,930046646,280284461,706357767,53892941,67943881,312588151,89861709,729049206,773804678,450441128,876448110,85491220,570959426,988952100,435941156,91269018,573025236,459187717,832543362,922962636,128667290,370062160,934111256,7088098,273524281,508628219,256391592,150199612,811671318,853286314,36587273,690300378,899653915,264274278,450816839,582755249,293382901,562639008,671177703,650692631,943699342,671336010,73528093,271326932,830612885,263471219,351363422,172777075,253816686,459529767,897369340,446628256,946723470,651208076,584042187,930608267,491352663,193059139,813035115,715683782,413994444,756692287,386651122,665654911,598796175,511489039,344513579,684799412,938458452,803564413,154524068,600119495,268643742,117842586,85471876,962100863,956831945,328421605,464049009,192448325,91812412,218771040,180803916,959363421,546288828,670793012,814839814,151596581,260811926,527374353,764210770,278008096,659379927,331262819,835424384,388641661,623736133,301927833,368641279,771060324,460890378,439383332,148286269,498631351,103990599,783108158,143690435,14266148,30836336,248417932,52238226,726457479,471889859,309105452,236335152,278675487,104345583,34100009,128699518,394394084,36540641,368459807,92868950,753417990,877563077,708332270,968888591,7253609,307861695,438018190,589340709,512062020,798450995,136240724,111931924,544038106,902121606,785239242,2330885,353980938,287657613,678427678,270571034,657204924,473243328,125690510,522876101,275431844,502903858,53259289,287439711,851973541,859312792,974181711,811868289,39083336,944877059,244473517,757503559,634357111,239649009,378087343,567719294,511459320,373982271,481916345,424311877,531538055,146591130,801807963,77705703,790976352,465345190,445383387,846896884,344328677,494163831,569916545,898323374,388453758,399015578,64513361,116417955,925816920,668990092,927161512,323841008,286017379,994108830,584183235,184568285,723679880,142825288,250818526,682019319,242860976,546161675,690656625,153770,243261139,209852866,236277060,519714493,912849275,138110572,884722012,37801116,13100321,571356842,37554233,158359222,570579562,258470461,759984879,270131426,928868242,970240316,151719204,191189451,657166147,870419524,256251925,472476477,336289290,715375791,272033298,829071596,905211489,551304820,922042717,94572254,752502521,926676352,874810043,324865797,402945249,846032939,627677199,793726226,507315943,380611049,35671216,255616770,187296706,659498831,486829478,509918142,176907494,256396390,841424229,845161732,38668246,994992681,640037671,646906769,662264878,903369488,26797858,185482782,699378532,144459959,204618866,917895027,889726729,21519350,19933357,460194933,38645252,755226611,974490151,885130274,643557092,4954716,785982067,210345674,988066179,172564160,253956695,730464800,378809048,937572822,86316968,892791651,142739715,89372887,148833863,51681188,263791789,550583300,981550047,457434884,578765536,877101144,58292947,515979524,877508310,235897832,343040364,485400090,792438825,842334568,895784781,199922926,80869420,972281591,353492529,452820731,172199626,730737270,408628077,770369746,525890858,293104824,748218260,745680810,448707971,423632158,346898139,572995154,313951433,414296478,787473830,208789654,888570720,31632500,702061437,624685694,803256384,803440466,60268417,257714166,74981754,377623954,87306362,578913519,677186313,501914177,999524565,174164891,19862368,181990528,159434094,677626339,455270160,779290661,679710698,384548081,805623537,403051310,724758866,635149749,829561716,670661880,338873926,712667227,877200524,390268112,437046425,917921980,372289800,696746962,576689442,120819659,107071368,242290001,777142674,607285081,138992482,424455845,760304905,543014957,578531003,396946720,928882665,154648641,713413866,144484147,312987543,800108534,499186133,260035681,458279362,553799600,424082494,549618657,659541325,600247864,708177967,673792691,448214791,584042169,270601171,55201729,354514619,745683538,374746996,828079825,146791718,951015471,327748056,878902625,719148528,827487675,506595366,829509633,466759797,778231261,735841884,886538975,220952346,24904076,686057304,808952292,103929762,804897087,811092196,333160254,907668447,918558858,686207740,624957332,673063581,239174203,141435355,782187287,114702163,22608900,539063284,330058183,586762058,856804904,998553744,916565352,783662298,108552759,110443458,80766908,991542706,488342264,688044448,851393496,300022405,861193927,90585176,496604479,256049937,658078535,709993929,156676105,16191485,561931381,623963775,939465483,693215392,610510754,755298119,95585440,899086758,652171785,852612808,420175155,193128094,69963234,765275504,794911226,856659132,504225546,369790181,12216485,429673632,638064783,531607392,898581061,855373504,589170444,806217352,475501208,947114031,734569170,372797447,30215350,215285407,781236516,501656117,661817807,165524271,879706463,308238016,37275905,605854917,511604541,347658904,920172386,976236494,925367795,109011951,653725502,232842670,748222611,305349974,576261751,606915966,241230517,318798331,562667599,357477019,772243114,370070689,74255387,802434673,305444336,806561850,531462415,222332017,573368352,346080146,803722659,830802178,809412704,115966158,865772957,813509007,743206496,498445500,114877516,930033999,469962185,850672355,905824254,532457077,545064541,25465045,327788932,882902032,780725996,128978282,877274165,687225706,212060311,34329882,78893945,204392859,215786473,5037566,787719720,798687286,336649363,128999363,798269850,733272125,939902117,725821794,512031326,406396817,191016622,63608933,66148386,996676646,939576294,761236146,534806621,301513457,794239610,947318258,431572731,60779487,31471091,653179334,254714271,75532748,957071569,571822288,758665203,900138175,475965802,852086935,541209784,853602493,779807670,656731207,328050161,997352122,443547327,358743142,443675417,874444948,615411907,292513168,998746571,479704360,649098721,788960024,31087389,801203263,33185991,320081548,793659959,806673749,145428773,219452923,234217834,995274177,731593636,376991906,865942872,839242506,610735017,985072535,505616292,842223681,559174312,794017650,651896174,516200610,454974162,193416964,169355429,984832032,64461879,150434117,225773472,171686699,805315561,551517408,74135739,537933824,442529802,91697701,313035052,503359382,632512142,766535119,53490608,563023580,172896182,951995434,457311713,564239828,635562823,141815050,104029446,115870670,850372179,456469351,112756162,510297191,696234177,501095309,50022852,763878476,915416225,622314498,679952079,185867779,72350795,320508841,547504469,262123576,718769042,715188863,911107242,962625760,904010932,653752035,625863284,451131056,596566969,668711236,718579005,254942500,57519270,626367145,282731452,467541865,99702750,215784127,977706102,10793944,405200076,368738865,652924903,168035269,388768008,407725432,962961988,589356912,69837668,263712149,949666177,448739406,894944775,17471768,839302864,201274244,463218934,444498335,569359148,166538930,138443612,521865979,847068793,395226151,748505364,97464723,409461327,655798840,500529522,647391833,406660552,760731444,231482681,347877139,367062811,511611847,180684317,546680692,193874795,425867291,70554960,100877194,407895942,826098007,566781524,918814992,988996911,955128752,142322462]

No comments:

Post a Comment