var
	r1,c1,r2,c2:Longint;
	modulo:int64=1000000007;
	fac:Array[0..10000]of int64=(1,722479105,390998217,752369730,848793393,641419708,109119920,581232364,19055157,377413248,100292593,680805768,838031598,14705621,82350513,341406877,406550952,697304278,493805103,797131515,593395757,97269816,95830437,191279856,764072301,541108809,981977466,693389065,454991628,938437020,969117405,124768900,380720579,919179148,784044468,849641758,926581590,633627778,234400402,181686381,532467852,121630724,242416192,451602922,856456398,299200938,484820571,652993557,747441725,719760882,531950728,363728672,776372982,217226757,425234994,682831525,830834436,540595539,433393698,997675228,577889084,937682696,705155009,379968087,342781022,153223816,516225514,350269020,493498994,128078583,927344283,192044710,854869794,961189336,643851306,576865589,772036106,773301250,473281893,4336597,317614965,554126869,76366192,337033639,264056892,645000912,14755475,770650027,412197753,892302331,810673643,62691675,827016778,575309116,285454093,483115382,224496577,74107909,988628897,968946248,368774859,535354688,516927020,910325210,425401251,11347322,372729338,383651345,636443576,105562610,766392363,957763794,343383160,582419882,330910979,701339131,849664749,357088405,109741460,269923768,965651681,543062503,571604742,504455561,763368909,232201666,375079861,405049322,685687553,23642405,77721395,217921085,415201993,816254961,165312868,267878880,687272398,910284938,579283662,233130006,806918317,976360299,792006720,764310323,320822040,994209082,451541316,782850762,164658610,484179393,548996970,502085905,414973328,999551600,856256948,831650911,540085415,647368479,63875222,884378502,200360748,428675555,163813057,63816753,279161231,31612358,19981188,225047490,455285322,317104780,981996609,244205492,360664468,808795375,996704108,835874618,834011569,767403009,581004588,315181594,67347184,317161158,957769185,251210316,482209772,715730781,942501868,156760010,442596118,340183632,139475086,683372898,658072182,345266529,859866616,840550890,737050414,929913795,713522909,892609044,422550956,676836771,372816409,308156304,154582382,703248501,626613065,165855749,619362396,551617377,320014428,696839568,690587073,785342455,434274056,473720669,722446075,995091580,362569914,310891328,246899301,8254466,284046782,775603661,313235165,820210693,715520777,449173641,342675806,561795065,78896243,340351880,138938342,986495418,4904868,404489692,158370004,480737664,65348113,286699742,473058849,673888495,727422266,490010237,665131,784876961,321460624,98643949,345366515,819757880,737935835,644653663,695118839,632437141,317001033,570111271,110949981,875076691,17300606,227466914,445302346,824976273,270947557,178180365,231821182,993964922,16217817,574504715,926110356,655452606,703924556,551933392,354410308,1846113,397207557,553695703,607917045,791423907,967621908,650678899,307636910,948014515,81781900,80052847,697481470,9410113,997427770,627562817,562494885,278115231,387514542,155278258,212623047,603738319,20108421,821332424,73700185,189728558,841644761,117079890,309944332,217025729,557761881,217090673,189099472,667808941,253818913,981219272,701754988,785692610,364031813,92482293,788127248,823876596,865141725,26031301,726882647,381275973,386941508,183392789,616292959,843538214,346845309,73340530,101653426,392352826,953923388,344367172,749373796,348401571,727093888,232930518,223530088,372632899,793982951,716823510,258598151,532691113,245917194,340573112,972353660,723221198,399728595,709841844,334038704,837816787,303642327,842734160,74464463,38248328,296716438,550967966,274952061,984837941,343362475,256832184,495959165,779665586,197810318,322261298,604632373,262343442,590107402,946541117,382285276,993845228,271463541,592620584,554131598,21986535,687268896,932795074,809996715,399787621,129158745,796945456,269610437,516484640,851059476,117921789,388289544,127387258,568876602,116649615,666808812,130425525,937092326,358103796,842684285,646820416,135821388,158341399,167897791,396749090,234934482,293931387,517708259,980420392,47582098,356474821,65533322,860604360,154738290,157986406,717265250,706983555,472703372,177799133,355862327,172238730,645452094,731876548,857639774,684168469,820059873,429183481,775373984,296194923,8278520,104345442,808037302,46575892,957942297,208353171,669701582,840311971,748856536,829180498,161917011,150241540,314136411,234466451,866978149,973857347,484001044,284583633,324217435,669468233,751439779,924317766,19122513,767073780,813367160,597461024,99527175,583838047,802260377,410302694,811802215,821500977,851076783,310722366,552700981,609943468,766255808,495303973,394225159,243477827,982506554,356445555,591254491,823014817,619489363,484246020,784373520,820309560,86224435,318639644,401192710,401578858,894437844,170941117,37693984,690716870,449868160,978160598,168356987,736417659,676617343,420072609,318526308,357869926,491981417,843844940,187019771,78568538,486874504,497209923,367421824,710596389,300098050,186399972,31995309,690394397,224418847,781314189,671417846,828492043,127550549,721516183,457992974,672708889,15839498,255269181,530581311,810232079,59466245,679317776,664980914,348025264,133097627,817848624,783112758,238831149,877308397,482100617,344558162,912223989,601681586,863251852,356519615,728860288,888534544,416178481,754297579,755011148,516985593,621329073,828524406,524528481,139468211,804331447,942938062,834337461,75266003,301044356,25647683,356516363,79719269,316346259,268147727,14951415,897351995,999092468,583865802,90312874,263295338,771253152,131824084,177742474,559938709,160270347,735217324,541933100,376580544,477645764,294519817,394314552,934868205,332485645,259920986,309337264,693276974,428469431,633022951,609542121,77026581,45939761,753807865,964023100,848001963,714996880,698272928,965060493,212188347,436467039,488255637,654566249,602924257,646051689,126142258,170875874,829409492,375070363,69063083,975976294,341281076,4885828,544292770,296578003,426153882,354769607,504184872,38142158,313026009,851177716,623910550,664771131,526552415,282258493,118586228,82207020,277781927,277445656,412570835,858440059,653979014,203289190,641754696,43100935,170487827,931669785,349659653,426319109,846068884,36333448,170135174,640362445,841147847,51968927,584611895,917337794,475063670,558555126,837398790,319001333,810946626,158957545,872619945,129530468,849250992,922572008,175240077,825631213,27403736,779262371,682438185,360181026,474310496,68473458,411557429,985042166,443227197,372677833,115957705,536809703,815233294,433476225,754748691,479956599,177829816,888113123,495693949,833537368,47205438,46648320,531118527,981861845,357792113,449878693,350302884,807638467,296595730,145193636,3274189,960114799,204477956,325814640,433365363,114791516,430900437,632412154,547541020,578807697,5115349,653893017,336219981,795371447,649982328,204558688,902349808,211527284,205459599,64102375,239920785,642672336,718392117,899919385,35831479,137195945,981466142,255873943,106878802,459042064,187551272,841137570,467431845,921180701,1019817,963467544,830760447,815665664,861034044,843558921,139925365,504975434,648860855,414498699,864481378,35825964,289509856,822326716,602596414,754139240,191723709,507591365,622540065,564872639,541421526,285814597,175583016,828067027,213660817,514271522,835578492,190233572,435786777,641806606,829030184,674375995,973411258,501680008,908592101,638569176,853467653,640470390,659816341,764375544,88908366,694202384,82067555,203263109,732861256,564396474,607728934,285589169,551094266,156954972,852919824,189903249,240586351,774856085,847820063,674861708,366465454,941855646,760045418,224399621,77894517,650036395,962394741,38211912,579172254,843531032,58041033,888183450,640598259,615130101,740355273,553665946,870741191,919136090,91191794,731888951,314602668,198661311,926287373,956316286,381771477,791833167,996128105,663466380,676436428,504579084,16038420,306612706,445167189,839132483,21240951,130410650,770455357,561791251,11152992,208184587,718101467,585184040,140828336,638678485,193686441,970509445,611862881,76180522,525156436,305034567,295066216,571451636,585109252,351713057,349961266,148381618,725655669,621061444,665131400,786532432,451188034,823629411,400304903,561965062,266485419,947548163,610766863,752476980,344041962,853458881,445291878,456839561,404926961,3253589,807715039,94763007,59996720,414975259,803394057,574595575,844184041,265818227,803094044,839565513,574135690,49394657,763184678,63452252,625872226,516455732,958346799,186848069,440618058,846920656,616313658,507592373,267145356,802988440,64190024,674500561,195184459,920680841,36642064,943460901,166316690,126163258,101278761,639895584,586337165,552504580,77325413,987532374,379482747,115257579,689354918,615933962,328110256,695851486,63361341,927416154,221665715,312778040,26314956,798483805,920512580,745396228,135914446,981668478,522197666,596201427,710705969,806422332,15076428,667793574,145622217,978775711,699703979,77620368,467646369,206787932,634072288,362695335,800750169,423934847,770269500,650047647,334356152,466676494,832409515,721393779,342024694,906332280,951553609,593348519,588962133,829971737,201761485,990840621,840414737,352749330,838779094,647824348,950000780,399806922,212809520,144475028,105501058,669871158,596352947,175271758,503723361,640326947,184825262,194306888,450428122,741791390,981027538,427234643,361798085,839594448,908636534,584596772,367924415,494350435,799246183,73980418,258397918,386265065,151632629,377982638,294157205,87518070,191094180,933044004,892336948,577284521,706226766,594001349,260808786,320550296,328279132,887434314,735863058,236824101,484961716,319080338,475800730,916663289,95142235,486005752,233475558,440981254,489746958,290680817,771503873,792496199,312608844,664809479,372404311,407806619,343210044,678649477,660918937,275123138,395211897,579084043,8289646,347597509,699243937,594102464,685070977,646019716,90174632,207905340,742634562,612536743,358757469,937533791,494454809,917778389,767794056,257510447,311455590,49891365,781179867,709837151,107146451,448360885,721101721,431417953,563841292,491522320,623123039,407630644,375868954,382901717,147390880,840408899,696968562,515179042,178435551,187390946,562882088,407483408,41802402,638497149,757515880,437490135,451712709,778419633,619011641,219920862,948484028,538153386,611189232,624195519,44598880,684086244,484753440,26067969,902600274,781183727,555326921,811319578,400485990,959134197,60971813,165142368,242960551,86564233,378931839,378587118,250875254,227187629,130615185,116746135,469491375,894579966,649980226,644048088,738179817,342662199,23212978,244573534,227268571,493968862,581534598,530117105,167459392,840577791,217010142,911385887,623526481,560852899,868182029,856017578,553154844,200826830,274428135,446752240,113960229,649693772,488698644,903847172,244880531,20988477,265358995,774373413,27007150,480470754,523055772,167531559,543836597,567432391,474933481,344947243,914563847,680481286,180820304,656741737,103793289,483118873,572347906,764803856,314385364,786644948,469619345,912205033,631158058,955056839,377372966,107802802,821127151,583767941,236770764,486669425,884720651,520409027,228443630,981167805,260438987,530892398,866276491,503170890,958784814,270021185,752000194,104884460,136223067,757035379,557700589,660136491,45818297,31370450,520734852,431370988,631467899,914982652,969505217,912575112,295855795,293250339,889986153,979126571,115285528,699998244,66680976,41563452,825894025,818639384,421309670,689081385,621910915,27076086,981200569,876796640,630906046,636794741,882467241,372449868,789937735,871684010,769511386,78054216,91520412,877641319,666124073,34330679,91042008,473288831,254564838,345576459,304424279,525619546,950993007,441325967,790014252,632909361,232951930,727964259,468969632,6260416,277200838,847159133,930429558,602371547,75003243,190289640,69500799,274562448,402785820,911204757,512965505,879124625,880530937,915205383,687694799,208504750,176570314,195106922,304826278,172759290,479913223,232649741,219360210,652845171,658967159,561026037,364595909,474004994,717264695,61958696,72154836,721181261,387648711,466905617,412185586,270973481,569052040,79216527,39916768,184191744,585414925,443585657,23438872,60969741,247050552,632083473,247126818,416779029,663721356,987459542,193868440,998348578,49986275,27337557,161463264,182451851,522580419,895246659,126017153,723857507,236719774,847294565,109441182,593980002,409855571,788335108,3055887,784263640,67228684,289369921,398305412,755682795,777800290,204488957,50180518,396227568,800047846,936947667,670890199,548694181,581943809,73892790,274684255,212627274,245357084,296534622,290299242,987016820,579889759,129182064,390477570,225581093,86512102,352151365,734897297,769407131,243642112,809330673,423491033,456901092,235149611,50225975,715153625,394834836,571220378,467150515,907205355,382078762,273594103,477539220,202250544,169403898,464411454,622697159,512704957,856377378,355945607,920978307,900201978,221466432,509654534,625471527,198178428,591062972,287209856,161944891,94359680,364187726,397885013,60620791,475180466,298677727,175589823,461255578,737403289,25619659,395852258,103843580,341870338,753575706,197427287,14563545,992837468,348026962,233151863,163788650,832372093,442035600,707349992,839142168,220489524,323976062,281513216,888301314,234240119,805232438,314710530,75961698,438392433,417984149,526152085,554392146,421671082,407126146,229679385,367808256,557757619,236113652,529706969,429481467,281335747,343723470,657448446,705499800,372045574,754645636,692918815,934659193,302917566,22998498,51639751,628124638,939157644,200245524,373583894,180959093,389984709,793954597,148310661,713548056,978996936,294263965,171506311,163386927,267330203,640974855,926240206,433569533,382337844,389741527,54020634,182613603,498714709,331491116,933690870,652523795,75318117,339803697,873342914,41189219,560848216,281123852,236242168,258421758,77938347,269878302,18078741,499262242,77721371,987021716,656220324,274413543,740172789,375808111,702584502,993253889,845067851,339198691,414579750,788463623,105117076,936068193,29804250,652554963,572702990,455597265,462311640,981711003,46512529,350661070,938683804,949124080,758468631,464270871,781966098,900449207,210571668,567264248,214905477,305275963,697084400,140214806,291086761,815070304,206775296,954763896,986586487,242158451,216676169,962715789,386251860,592497128,498824845,79547684,229585834,623978363,654025026,951434565,487484138,119569247,2696780,156770108,912378548,140808782,210306242,134047911,941833733,547523573,509246959,416150817,652195871,616004149,249520221,369527788,690126643,873219348,982461944,871942782,764886490,522802765,126481252,673197165,817857386,751698827,342229409,699136474,525882488,113255425,545548901,564464342,207496413,408775304,586369638,654236142,368788183,10798975,364419766,913623238,363417919,614079877,705144824,355745662,838676721,724289738,607847441,61916164,796014845,400067333,375930404,88465660,958338391,366227880,696205534,291091386,373281933,790375835,756518546,67525438,853610384,213838802,818228182,521319968,237557408,127273098,719843924,585273079,88973905,476043404,316456771,507977466,435017843,692857131,702752732,670803855,19434639,581222448,67995595,55523378,346658793,243959960,118943600,74985056,161886693,559119321,395942940,140925890,258892135,774535913,321424314,118168258,690643111,420961782,505950458,547201851,684953395,436363096,529856775,501484609,169060021,179081719,30498292,897418868,445230158,169110507,330131954,413336055,594770157,967046236,160244401,70110549,421898288,456528966,647230289,477807220,618257200,607711976,955631095,467859481,509296670,62863595,933668087,380742672,761727629,904459879,777843045,465051288,192426132,727335366,519186361,980418272,664427304,728686510,282570703,107639495,309626261,161466823,984594092,838861817,565068825,535376485,253608891,762345754,66509695,781312729,636217986,970921165,842505665,911515004,274551924,143096434,994816177,243636355,391329717,58092358,179035946,462066135,58215732,743771741,891291718,956278383,895520591,985474152,634297519,801255442,621703982,589229064,684145600,990690853,535555245,725715228,859583277,98463754,31638851,836046772,857767425,483919411,678511140,504535061,502138156,345832821,53984090,991340167,891359664,496120389,213633073,399353918,656697065,753682251,85984191,157532098,805387480,295126304,270320004,33456542,487537111,510370718,85495157,541376047,887402749,849801425,434201884,895780190,196789010,660071587,642845435,745482762,459630359,533096949,847070754,319149940,955732921,564284554,836484398,15407308,896653343,984757924,772931361,121378211,716580779,680264051,805176113,999875662,92709603,496168470,205250346,750533618,49088956,758801503,895766147,514145995,886626868,286730014,433743234,171997904,780942965,52828698,233469072,828964100,316991943,949985635,677686652,626280312,411086001,124922323,215648079,89303659,720917589,375126117,967540846,880496572,976172039,646939452,564006684,31385051,293008185,361695200,66423960,114361329,81406801,851438222,455586172,206393984,950064027,411257340,202569677,315040576,605330319,937533806,441088968,654458787,528936092,597299407,993008170,838378621,927957860,922994768,245809025,479541878,160033980,784412643,77998081,9572039,589588442,239967781,794249305,355190355,820449545,926032902,249865038,682107141,223815246,211204159,935337485,36660331,116954611,263153400,243770013,365464546,498464483,35653891,745912406,90601820,501941641,503421033,889591949,600814241,612929411,746862374,585900206,893679312,926222736,981455496,755381941,780694228,907890404,378497491,115946837,758125582,123201113,324869834,922031925,925283418,345373733,892590586,467772374,457108922,219939951,951477250,175155468,101532178,617504528,964674306,200193223,561114403,943477841,794134380,314854180,981828232,343043980,456633619,716510093,255103366,453851404,630638980,708568481,100735884,768061747,926320689,89284843,597831736,11191543,943078401,827464903,862149332,832275593,712594952,339264927,312660463,581911034,651178524,921021417,335410779,724780630,547016789,412586966,857852060,30689486,606904376,670927901,277308197,810493130,715874380,316423211,334916886,990832219,428473538,678158315,634978106,332067649,816594770,667853849,25049627,250697844,321719720,460267027,94471983,874747659,794515983,678769337,845063865,669679560,440568022,627794163,632077130,171979335,219183726,949841850,894502525,772674656,819381912,803879624,978993693,181385243,446689924,783222990,943100777,364738010,746539293,630771759,405337586,219053160,367822321,808139670,157122749,288986879,936070616,181682828,534770452,980144145,675480585,292811119,262798892,534858152,828818515,805877048,870302263,999870557,533571457,586408319,948901511,110054635,351290139,283258478,954959690,855554180,45495237,977124786,669965692,448722447,771180772,243189942,384370473,761022298,922765598,65150285,330633278,696923331,701126253,381693990,827439539,851943937,981629134,231329702,864460028,698245208,622155859,914575555,34312305,13188899,876778508,478733153,496222507,188071880,876265969,203416423,110404388,688535139,98186152,728752389,483631820,277775900,271907933,956301911,507335373,96765717,444077141,930076279,126326473,496110969,695232868,474530318,554278997,123145002,277685744,477301732,663945422,601870745,277717140,440614490,653468216,376467079,533669199,737998293,455691727,79323369,481926184,36290916,997574221,303696070,198992295,174369185,717504987,686028400,500537621,968856847,350161351,103871672,383603607,810726031,633491376,907026494,988709741,523838521,608733206,976492434,741108693,582081176,519550393,101830818,826678580,97022641,563274684,892829306,446722918,808037739,220130130,603627045,806977810,643588156,902461680,565982017,516099681,865819616,416062086,614351373,275969555,754349762,514588481,54556096,528441544,177753777,363171852,115918921,323652438,182548361,440246552,919832562,821814345,218447080,980133727,254652799,688639960,392207470,584713733,559805077,936913250,429303236,644259628,761309611,869383939,600706205,808180673,440970837,554484872,978840326,150436503,47676844,308978207,174063397,314000690,366709705,114887408,849708078,617595379,959000834,541963553,852693282,47189831,46582084,856005428,683256978,153434770,516012751,102759244,274125098,767358169,46807199,723680939,164059717,36011898,461779868,145466099,990422821,511571942,995577108,599292303,761179574,106669260,362645955,766216019,694092932,971143817,453338976,569111418,612250579,850732733,230816690,753061347,593540200,688073752,22254825,663083530,693116425,240012040,547647475,912057768,250206711,830702923,939015170,467665755,347275552,710909606,759741240,648560641,109124789,222637228,75327366,923286573,887539869,359405516,154160119,151051854,701408414,702132270,456925520,593270691,249003067,782699443,155106502,635445587,904817753,309173061,160283240,308274092,967029794,621721064,825736828,989919511,258427060,725329636,705303743,288068896,616065239,406160193,425371772,315502883,35453237,289272364,323262367,796856205,123997463,635454647,329195803,331016863,620903151,759470539,421654565,729918231,673309181,807954218,697252159,261283400,797735032,536268915,338506329,173579834,627009235,405224917,205482440,663019841,554042237,68802556,150130345,548977933,33156533,168935141,661547351,839374015,128115230,791113302,174118771,1946987,725126987,269196980,621098959,612359153,762688929,956911055,767931144,396744531,502898414,262928050,140206255,925067830,408721018,368256001,455682907,57567870,542035318,746665783,622178318,265224521,445410513,224414879,511662841,756393036,595663933,28611818,255462887,508293995,597591632,683429113,901139201,624040987,788458324,941180845,169034365,938388805,107073180,544799669,41058006,139145244,890736286,450583476,287745397,437341129,234880840,726319608,677214847,50154413,257623240,536447512,867494201,659913889,427103363,994441130,821553881,275289787,931612113,381189839,355629653,455312070,129077925,612806806,227278675,513276399,446361395,115986956,79525781,900074435,871697226,120032404,836840727,550062417,613534600,398978930,270306414,222845104,388404539,500552894,785471485,49357357,686337593,695251782,181975257,582066781,69391465,635432893,14537313,879019034,955619333,202207145,830633573,371614496,849029423,594666697,749338566,485244897,805113498,919052656,726336321,624992390,814654886,777222880,668500633,489876815,487616021,672393493,570999336,690172889,215722210,130548171,72310043,682661979,231684727,878881644,79000193,21389837,632415887,678222565,590513783,841620954,415882287,220189447,23645260,513484225,783562440,179673001,899492995,621285071,265091163,975111492,684728123,461979267,515317957,602928757,807629243,269147027,589112108,823744253,689561161,741530940,484928106,321919858,146879070,239886648,646266295,687261575,888738601,443685005,616579772,248874064,557309459,795305626,146221861,737064626,24045233,807443400,46400796,846117791,80345731,880282924,993459215,944297123,711739673,910964380,730972293,41854955,120517837,832122283,633552264,107353177,445191191,20746659,329569053,343276400,338910863,775831919,708870287,686640047,978524736,999230113,221913829,752727760,665423642,182796600,76331782,943674155,386192908,535260540,713354548,988400533,914506135,894520006,32793033,967183331,439003608,119303085,299489823,682135041,47776857,878423010,274877726,240252596,381619272,319699178,156400406,143752229,857640210,417013856,236098686,312793577,996616768,93471064,93615261,866929784,498875595,370499724,319268272,932155204,789462827,465234563,862163592,683191017,629353676,589111078,170614582,528373954,111988192,10320907,217427509,23433731,299100051,48750675,232170568,146640474,490173008,168639964,267685335,365882953,524604026,756744755,12626545,562020228,580983135,17833145,439175258,382509601,636559642,208004913,453498448,47343398,453116720,49031494,294111525,130968879,338031327,551721263,789769290,540405918,967590562,283543195,79937574,825005394,795156156,317538656,591982007,411185139,139164808,701650729,587146330,268742465,112548438,526157926,546421276,485466921,864757633,449391653,589120629,123385585,532361418,966742371,688592490,565135084,414060514,336537128,220929521,279155888,175860315,125749926,799790778,925709317,88920549,111988345,149514118,173364522,896851833,407184801,979117700,376290090,940452766,320665085,870738298,258928330,386531804,873467725,420664447,701885416,752023733,758161115,448667089,613674585,86675963,365108186,111810641,381810342,390013885,257546227,774577342,845093102,188064092,692878909,288714920,385659112,419209336,78892375,546406552,517737465,267801022,188285206,421973055,851350942,15403328,295511487,124927837,301031257,73427319,788620140,77826191,298448241,365049939,858823587,304196168,312781366,683580606,300877022,910340534,136137051,479792388,233924038,609468425,52702610,295982682,993218227,778924854,863298137,692251029,414385178,43268122,445611924,550809798,53520507,238597952,484962554,154425679,180479405,584990029,663030830,295523500,201302388,33654838,810329170,1279495,389491422,293094634,212134499,524335441,238194159,892801777,140124904,726078705,901838346,924670227,352420058,112582078,618998063,736354406,904185419,865792136,387646221,724329768,254677946,738537564,13681499,6016511,659645418,988721995,548227796,606681280,830383992,406143534,742516442,696845446,260215973,607689609,205514756,181632470,931827006,338578698,403236459,9947524,891842279,900706685,33009670,950741508,15500495,777958968,169844518,854139954,456882249,63517233,212842852,240851303,655940540,804138346,518252250,10152810,953146912,795103750,890701069,583038318,684698505,535156156,271130505,504444082,257130023,229911589,513273728,329276992,637461484,27578941,471281557,322059407,425521312,940358287,6475797,29217954,325991730,242741494,183538116,195051709,650283532,355243297,320235422,964032960,513227900,305167272,782450882,656325947,654516661,375079910,534945026,59399779,409882667,384634755,863532151,861636290,39243090,474793317,320725827,162209530,441304160,190515710,798648965,44821033,693455811,407184899,171577180,393537578,203932527,671747665,743500787,711449950,112963779,622395046,90339807,625720545,123396654,72090046,45824090,880504584,506319111,922473655,841862566,593532124,294915822,500798972,228855987,316853946,745956370,5995000,180927558,102632144,844636559,244072502,584822997,133179641,259099662,913009156,743994983,818697691,887147110,964628387,670676886,797824545,976161814,465423828,401615187,700264943,58780355,321575082,114779922,190567247,462964863,709819079,654427213,660116030,223958786,391863372,691933729,854801260,101811657,497111056,823534126,321792583,913993715,120546138,508146677,318944572,288222406,457275062,220691867,865465330,566257181,226144630,763360434,376658624,583303085,892021903,356125631,52955796,631624220,640242474,742441111,934717533,945917599,74960359,279660492,663068007,361576010,735685101,740053326,344314765,920834586,581839401,383998560,119470968,357798125,480713341,913952661,748882037,235704079,115019254,73474570,726388121,874637180,422048730,908794475,443381780,965187412,269476532,460229622,399739415,508757151,935299955,130879224,330125170,176655436,119701424,606242968,327086469,707120902,397675186,359833368,924880898,244789624,681579869,947082141,697493884,666371168,497902519,472089010,997697972,984356740,229919917,431795245,568821716,335820912,58483458,528356427,964838853,696461023,505857071,730751392,899281002,562992891,189778137,808793322,703419020,180647802,704731344,125414486,28711538,748247935,31241308,392630178,128197784,533940404,754678722,332987642,284203209,563581849,301406742,168008213,805616393,591831940,537321469,95415142,288902036,877036688,640028773,589713297,464499476,913217075,95654799,115125461,528508337,454510384,760540378,866698670,3547499,937745249,11742391,882788227,610035146,692884617,847443867,784383830,325661038,596367345,123493238,503535424,77062914,562717872,343434222,844230170,669326428,683946164,489749518,936251061,833836851,127313997,823261728,328230908,134707066,357698612,355006115,287263341,65211452,523794633,403295891,588161987,695108036,256619182,171237061,212965570,772426986,909056541,617637145,792695537,75478030,976859022,721547453,500016441,262405894,146294313,561974155,247625230,967897209,340930969,100907940,369614325,411462167,90866956,553872179,243555726,517850114,310918708,398722094,150308900,787384867,868323942,419174600,596393550,924042332,816155459,850921651,823672695,540970454,570505384,695496980,457294065,833559013,922929321,879176764,560646171,778596281,759885812,664820333,990648856,706617828,885877410,608171948,232209742,469386997,413819331,562881667,483210849,900045698,886642171,950870784,31123338,301442901,64470468,943765912,422179874,576534609,236807284,88911187,453569392,757587626,423699545,430534748,168629748,797540981,835334656,207997833,536293902,621686221,761809226,669962383,461934340,9032507,361222823,973241307,782618153,517655534,591307997,663136865,61894919,456077523,807209601,99011629,432847622,627333027,931239680,57446778,786869235,527583422,510402437,329300135,175011974,322092040,14142365,828208151,139742279,360652038,403299698,274827000,56956114,897244354,775287666,901225166,147299017,222104605,911242785,587776951,515358832,325342308,652791086,328752881,783652240,550109381,706546444,739140505,416957735,748277975,721409853,137447785,191124935,421969752,59547336,405577969,527645806,253333132,46523765,929580206,294663177,522461776,914889888,420670988,880231934,810991148,188389745,145298115,132434391,158592736,869948623,104143378,312001483,8945449,700916446,202379581,335175927,793332112,395336322,147797727,602460663,421471389,484733770,238016889,341925119,660497568,981726016,276302316,955763690,980091567,374618408,158352400,843557645,358063076,324398083,328047294,174012556,866898497,720340618,118681106,560810717,868977315,165404163,587400837,577170901,280361807,250579515,679209364,561178415,784685141,763761369,271540932,685318173,103549414,767531031,822808209,991107184,998767109,238852275,273642320,622706144,898211572,107702632,720336883,742926710,759795052,845545590,931423638,746600449,432125874,548200426,477858794,473989428,434954901,431466552,491705952,480471628,449656911,174416176,255327352,360130950,405532057,760653417,926353547,294348537,829356793,419050135,887485139,46260816,701809745,929836666,929644984,622697268,85499124,254701622,493968875,471965825,663967499,231602040,384048817,902425852,862626061,605515890,655029939,644894016,490440420,727722389,247778530,143409501,263756,861496810,235494202,162217217,23957434,120938829,229327077,585926937,833476199,96372047,486456303,40344236,299133969,665612111,352836970,684502039,248567120,858246468,227641050,865941971,152805138,905614700,560832220,624962767,87816610,888928473,652731597,783538468,158177667,957525910,746129267,851756158,196082135,836560196,213908504,37851160,671493391,607888883,840761205,176247499,138555135,923836658,876698721,777445472,807533158,288472308,670359716,697414902,323916364,788355961,457185428,568305549,787453815,737463916,108650303,742714168,284483679,549006244,833673413,694551134,196149299,18099773,360207241,783459896,739772261,112786567,210937282,440671921,815002850,619865138,40514408,230672979,461280530,492028082,402045365,823162858,60929370,256367178,758133380,872323316,721088538,326515173,631571061,72763520,50385816,733035785,340501563,570707281,567656070,370122962,956262666,357672772,29877233,53294986,696177570,960717540,535589875,921130218,913030124,382517477,46844570,500519747,356989580,419797592,208962365,431978818,85105977,922711010,501255706,480291895,475764038,633705847,774652714,677098815,26668102,221336818,320200977,32852480,988378213,780655283,50453440,802884993,490960572,439726371,929427791,928279229,119069894,909735468,329175197,346974093,890540426,135621742,569750056,500823768,878473356,356898930,419169430,855961787,152546903,540782170,862444918,706794762,133687344,183307819,593225625,184266519,98726614,997031439,665282791,265849281,83454702,530402491,416685431,235331099,348231923,364908639,892213110,273233450,48393618,185648734,459064867,442997171,258278332,707642533,416286356,335815313,837338106,954079590,914607739,820844326,484659919,525300904,280797778,749786216,735255225,939804956,257507544,555021264,118339569,688940326,609314978,244737882,952990355,250507905,592594641,844965695,503510012,335924356,44613330,574163969,728661937,831960639,37643053,153358347,100550349,378037928,542332506,395357162,314934847,531666446,177905883,682943039,323135671,730704051,924403010,181093116,837421939,412986644,701953715,240854943,381488958,270832372,872549901,780803591,17839368,968452099,497246476,127892677,175666781,925042034,108417945,42471140,298014653,92548653,611369983,670734169,35724995,89636991,719749095,186205553,341758172,462106362,39541813,358043484,702153942,659995793,978808764,434448170,82447511,303243404,649497487,680254316,796368669,960887141,955168395,652239868,752811066,444538149,14669256,68661810,996232535,402839267,509979408,762121346,763737908,383723159,286300580,58721013,597698852,616192676,388612185,755670498,268047887,664902098,196227180,287787920,924228857,863308486,242967280,267367920,17276084,134579921,820265201,406122994,224815800,712535256,777102772,289228099,544735003,870423209,905963065,771282227,162333100,603880634,96537126,765504412,926263315,602893425,402958911,74773656,185279496,85288607,279651363,124401812,677606646,693394402,608200163,946311754,985591894,499667913,678680410,256880139,199168939,361809997,595168855,95374287,804656333,383989656,904417343,613720880,677022448,215728697,569612430,868744334,134463178,925766870,783825361,663169588,920050913,99869310,770120002,763406041,208112226,896281364,29867472,423642290,837045295,265361140,774264645,271258883,738618350,634065067,196144973,619391846,462519354,510063038,403666717,135484637,571952764,957649097,759642921,117981410,798637126,908418682,85098584,418459643,160225309,53675053,196156559,308219098,40659769,929141928,30871301,491432439,228241085,684070196,147337397,621000081,297444905,279758092,443688374,796942158,515320537,812822843,264914724,19271807,814397040,194662085,622705850,989057795,790161240,318307840,351688895,754770420,823129583,925745385,912822786,531567796,451361308,779966464,621552262,847230526,815697957,553774704,415960645,224698252,429509958,122437533,757842436,614054469,391921301,295897394,758521755,711948902,177651146,153616759,897430507,305292424,500713207,821455231,615778119,271048432,309325055,754926023,539439912,267128286,25708551,495175875,211374774,146443792,977687707,704894415,232050691,378912980,575214801,154129382,754757556,310019132,408668259,654196119,784524151,448875905,827056920,12280499,907268594,217704212,918424353,787984193,835797831,608943922,542941410,99903554,654401292,448175753,426511195,259929008,808423510,261877849,526226141,186803485,568138535,707134177,280281560,293959562,283261595,929055210,864948948,909287147,445257455,573572611,803257864,939277100,594178259,997840405,616951878,637034314,91756729,834645348,322571901,51777320,882698033,438983299,588260787,588225665,174389981,394652746,252106239,635308753,345435435,563725339,443535098,357221344,115254343,261918860,481401553,973260562,665407916,904783041,104050332,299779421,550486856,865686713,752435955,232529758,947708446,281876966,88537209,745153975,184978106,345355341,137556017,593464952,776387033,975900312,561525293,893973205,486028426,323729137,531377426,21904056,502503294,23257101,694478853,251176948,435431256,330698072,290290235,814079361,229118010,544519028,367241764,321423471,426310455,882183133,385287830,890731503,781392553,772032788,513537151,779918671,851494857,867240138,717147098,50867573,856747496,638565836,689421986,962685833,567520164,23380137,176277644,158190415,269113817,624888472,825972896,765445408,348944291,721830100,402043945,756599463,613347150,585159134,550968022,121376335,741333709,664422941,936626789,848484185,908318314,742213633,551392840,939115729,885874014,912816423,192245148,683461853,870399650,539122062,211604803,283281848,17843182,245133060,830989461,876694648,812633775,452318399,541789622,206897536,165819171,709165868,913975922,300785302,280256222,181767292,930290860,251375078,744691092,760286222,71245470,505820125,973540448,933785897,876361281,710835983,680060695,864950089,469831257,877859521,99111089,653391308,498853346,880273446,153334381,230244822,905187008,170463757,352503571,307976673,260818411,639974184,714830330,596875596,140638766,499240983,229105912,30895322,680889579,316332386,906202444,167177057,327166868,734836828,179265102,162275749,239704102,630601519,687371172,440929972,933757306,659015098,799298320,321072479,157520349,59572946,677060168,896577896,500812706,430427472,478754513,490081125,43415467,812633595,750365855,161567192,423002570,977124998,937509850,793812799,19484938,642148564,228614,54130759,147555435,589311803,538945197,518964913,486866463,798993045,810734940,342616557,230083017,494608828,638029879,243083547,965482276,632533361,867828592,243330082,259534248,523152331,493736617,563074488,590449059,591294196,644500576,646947177,631159052,489226708,671365457,432933216,861846748,573803750,549990890,494898815,329459491,896741147,581764936,22166670,78710457,933277150,35811951,85415197,386652394,283649619,490232136,21741733,840221522,549332647,419049924,372984910,793773703,56304241,354127646,187263502,17843157,212125062,752243797,644185726,472930903,291646028,376085687,712226228,364518764,12385828,574485027,931107362,492278720,804512642,826859777,788782215,347182370,989680474,296339002,440494651,119098876,783643246,799367222,912105913,994626083,699151716,902862144,574228110,100998589,330683188,65580757,4822710,320207961,436736694,177821398,165785691,466970064,920526299,667820991,244411149,801128370,867161778,874111930,320435050,253026585,255485996,631251572,568429263,56270709,463286078,505446724,660550037,537208091,439085004,578481619,260585986,426817689,949483718,526794507,876689500,478460721,757689702,964765062,151370095,145274938,482014493,916071960,255330696,843778447,774239862,26817692,564146196,636703850,93875929,815295234,690300152,705962875,291149028,536057040,821500934,587206557,634864851,56265430,191875687,581365761,62703177,756052852,52309407,657858432,574279161,844173012,194571504,350798610,315169166,713158286,598274591,911072090,427350917,121628330,937412725,794244269,912824984,497905512,486059505,271157897,7567178,531330245,291556793,359768851,988864517,242419422,567046071,573047474,592069084,756436321,390037846,563230487,512977417,55001696,495053769,804449986,888748547,290701418,482331258,37638418,592395574,667590050,250737973,752937621,43218680,63572118,502408393,280438557,138436775,901727617,851447552,871278706,986874853,851014244,808962313,125668263,792739587,562836804,687962257,874682245,703717806,464407883,474742497,887019552,122232957,377407921,934320737,900896878,355322084,856814318,293414246,822072002,46489366,48153550,748905129,410502885,700078234,964274307,386791728,327934694,170584646,158324964,757725265,219824799,554416598,843657866,642787605,766189282,94416326,483793256,185640998,376663425,857021096,783013072,928255311,198809107,728570865,194472733,241480203,958450843,207552189,29374886,33021502,88745840,3618746,584458548,735267135,699438496,116285749,220437571,269604685,421308441,569386033,989139652,922890983,734789276,311602635,978396140,688248268,266112694,510109649,15446230,309757474,483878621,667468020,977946154,633025310,457653265,161203397,18992782,173044652,995273794,191210008,26123260,257287349,391775265,904070241,618096421,330167744,72824104,420836126,95938783,618865100,399574056,643571417,99685146,102610687,374014437,470110695,504602731,172551835,683338756,494009685,103725846,827865458,329129512,988961193,790929684,163447307,644158465,661420552,709054109,348982711,181904331,992051025,988661514,762453682,442413455,53525304,776531520,754155382,874776442,540715684,549131327,177740638,275832951,592287427,218230327,224973182,220635341,414526008,965661216,19944576,661379944,579800026,579899924,997680317,362346957,29402786,980895408,841199833,774467245,386909709,974620716,468943312,135040929,285771851,469230418,943564495,725574561,929646909,833123402,307542285,656464521,145869478,333634442,244486196,306869116,257221519,63869907,903209305,145043583,802212764,239106215,663307218,831873898,433816457,548156856,322800660,216733111,832159645,724773523,155126303,869943197,699973399,978543953,473910354,584015002,444194786,941754362,904818994,738451825,866641918,638628334,738614905,889736594,548709010,177292920,482835537,201596668,503237581,625695144,356010595,881460696,512192351,739897295,323324925,983522462,597173699,514584320,976396498,78910394,969649435,760606426,472096579,571624523,592350674,212584988,238717541,114643102,195657187,699640707,256315511,781899373,701178424,131921597,168326387,703402723,354245479,424492167,663716783,246868253,504777997,874938468,512298596,955980946,666163417,760745217,537454857,77740167,310601990,258013846,906445429,681912561,520707075,525049759,684269462,548392730,499177555,496129791,654835405,667447659,813610180,271375380,268873461,325096079,988306995,346902494,234376017,478398710,882159819,327664409,982752348,322751692,435654841,834811585,691357047,123483506,657959964,972816308,655584893,106213122,145735160,419925040,46984740,973023600,66420387,875830048,156938007,19652299,585196672,845828565,856290880,972491331,804754049,439829157,288463347,674585929,737992526,646533728,574631362,691954361,488267245,586270892,993584556,176117248,853859802,430436164,309686199,331478750,683638097,669077633,842258578,34315460,325673994,752356751,594098719,147978996,5855797,795749974,947399447,686547072,640271765,878678974,499206491,737958185,133157678,970805767,334460942,728256514,374646912,225676445,433108216,798725783,224704,218994834,193371583,148277249,201748517,526699434,284456720,861712751,106952883,740119375,474315381,504200947,200753429,381672030,918497255,113248522,790462475,913230020,455648970,585737458,605410958,243347527,712472288,582161032,537055291,533966369,585415190,695329192,266083299,577772893,481797897,220349713,700467051,802679692,902761397,547099968,586813840,393498175,510878786,310478375,885198875,934197576,455392804,693848334,322382961,963945752,592824889,988910728,19983379,686203400,51516127,612358978,370217456,471094880,623058495,27177875,906465650,544074133,290212825,962731047,425774757,314411142,370771598,393873172,728560900,907294033,371990201,450866501,836695531,118895792,552007909,789250012,678262703,223580984,196891134,966880832,968636539,135734490,800983748,906102826,191622514,154052717,291106879,575576200,524675640,820722508,54577385,113915110,499878746,293996657,670621826,354047782,612365287,215162201,99020802,933338751,481285286,271582665,651904876,66821022,413352220,28629493,342567990,606764926,724628608,642756565,73476077,261580416,244056223,848980005,221762453,853740091,691021372,973932371,587418674,362810925,650100038,277717121,872340829,746742261,656978107,757603192,373427906,133983695,198771419,834663866,381031223,785716182,446659021,272255709,756062657,487823244,409781747,147559301,971718329,170001461,99847564,547569177,445125132,171842154,356068748,239243283,198188501,430841927,850712705,18380550,574545093,831454428,881439782,340483698,181059098,974663952,846659127,90181574,556158084,841160160,645594422,619834562,724685466,21065762,306463694,792502156,228366074,368406048,751658142,482593224,151649823,665923580,763686700,340312077,387063299,752735533,73288874,440785244,108972510,7734487,46451058,598610737,682864455,773251998,503104382,834880080,755385006,717762182,418757368,619397280,416383157,273251493,474824625,129135378,783099639,160231388,657957375,758900029,990014026,857887831,153762185,58125299,538319302,256086704,877659076,111712470,902614979,244650631,856944942,821860586,978961576,982846496,367919861,480878519,435990756,164471363,945634964,429368661,64692460,990386420,712157315,963078997,883281458,894035123,751827693,700161974,981545220,804850289,795437388,504043541,814104366,86396854,813670163,747387762,297611364,311961491,701718898,602116266,272687184,388167107,186097593,398095552,667200357,240449473,16809335,117254129,541361108,850298410,643667243,720850066,201705518,994540918,45532603,154570586,453512146,58291527,275194313,574387669,532737047,157608575,590526797,405036210,86591644,884115109,885612265,334621988,729549778,175801715,219861825,831034782,742175423,504486463,623580219,759877364,609061024,445096787,570826577,646919091,975165822,858971448,83872888,710865548,334486788,302723091,140312223,821892074,675250036,988803000,421266955,190418212,885849226,464986511,860071993,55988477,304503138,508878556,354180191,137009714,250517542,730342129,335696755,193766278,170396932,938512339,479882385,243024168,702397522,26075202,964331740,927382894,174414232,40980798,769733909,984161744,514084546,256587082,847926944,537609897,243655191,175944650,213967028,808328306,783474052,238710164,631737004,9008510,293148821,192384967,908004384,848482164,774615761,456837173,992746289,130782834,273619941,476238398,101232513,926677424,443971792,310035443,130626032,292826062,534101547,172685955,605810399,332528949,405954335,775643541,404601077,178869710,667754031,827644650,214154844,465322717,759464452,938597091,937985444,966914608,691549754,393354318,619650128,424664052,620594050,131887481,420841465,872470741,417651100,955143866,885617791,225513279,196978040,987853210,684334407,729545154,301648647,809364313,708702785,677193710,893793389,707027751,679827235,804041765,186333954,596734794,698860315,329535587,100011798,98065300,676717934,18730041,334646262,628930220,144621700,823100251,407950080,42585235,696273088,743919223,634717078,711198175,438214655,866531536,563296010,155189947,629229921,525120935,218945571,377877915,482221521,348820947,104217123,207510894,458456242,733307124,516927272,243670553,565968949,677841532,311640244,337723734,994531828,726575638,915164683,823753385,35126335,37030266,213037508,708361782,795877291,913407519,213294639,936392232,39694780,569953070,259302747,989475192,291104543,160013667,377804017,238781658,368013337,158992538,193847142,902328444,637276227,454943900,748415888,171582884,842100577,194146825,375337926,38283857,882645836,842822924,698051228,799455462,616595347,415067285,597817495,663884683,181568780,21764785,719631022,101095322,333805025,245576615,264046769,182580263,714592440,152750269,49750121,645879497,870913619,253198320,860739395,339661992,102475057,942177009,63962725,667044581,123978939,488941276,663125059,295074327,135511734,980669860,114288271,454107938,500968990,808756301,143974712,668410998,591540461,417021955,241681918,634315948,240362539,760176354,149811318,768522507,51528146,826347493,204106016,919107431,408890883,295615711,257714874,817430757,205544486,85643805,124991042,403357445,953250097,446186565,234392595,229599978,65852476,232982279,641821047,264614140,717981277,733899665,53532522,952279144,736473025,603874163,960574361,669923246,135194358,878596254,656703296,268277902,496123138,56246114,578016337,162461926,26945439,506908901,325318397,278730911,28472890,748470991,273372704,331152493,903559665,252521925,756959144,967155639,718509781,643362481,207468772,861590363,349556985,534483282,422213747,617141643,881469826,680343499,326852948,788945099,11049810,983346923,881950687,982114052,763504638,650239508,501294569,524064078,496848257,75183433,129571790,737145308,848818185,909937023,633835834,710692973,71685512,890834055,853470351,501543259,867398416,503936515,305163299,161391410,548910042,501886055,592405184,71976397,37898045,831233334,683568015,233469767,991438011,81338646,105643855,841358493,602480332,96749994,160015201,281968565,268482649,27290725,728896067,404874001,248344733,40175015,370524291,944399986,843954461,392406273,377703066,700286634,513070581,851466858,317735104,242867736,882435621,714085035,386764705,201989123,194165039,369252563,695020830,719760140,233583164,917831995,99525594,420200097,858366596,729225857,163160145,565533554,793435109,28129751,409390920,484661320,996880406,428089657,15511811,226721862,733473358,943078027,296883568,869872561,714177874,853996053,239576182,510819704,790795611,947088120,140001644,117821455,173623705,171573785,110794644,386115435,589182314,89507797,69264215,545679397,362347163,787558119,112995243,995894412,857057099,706850721,956638699,164309044,766730027,116923462,442136911,392003561,750748296,181776892,587408713,430520210,538508880,920886419,999914781,709230826,553690180,912527320,557752788,589004191,291024236,639295138,446246772,239902041,716092487,330781825,283186080,918937009,510248514,961612026,323114444,721509816,206442657,647285830,746572649,949574384,854460774,879459567,927898005,322327807,208224500,146465924,505609543,651693321,422554868,348901683,241221853,192686082,382088187,700115586,83622998,588809139,898143576,926882457,339750966,262509325,630129243,142083228,607614527,476444932,479758791,167453085,173739378,189052536,380126588,321225275,679423794,256282826,61708228,10552542,863646797,506761641,202932081,430780397,139904534,181074508,298845206,652840185,84998734,762186257,685870089,148052123,929433293,135634832,859926478,121835953,956625945,350848772,252438356,931126722,599489113,123455257,639533338,347710523,780955877,381308939,855676391,198207616,79974272,975715880,947952168,359753886,88301035,587657161,617935601,910844113,676341971,158824520,413730414,574627453,642457172,89759712,834350613,819148358,63395837,381450047,456068007,481277898,491618252,798276227,521770027,506620970,819483948,456295034,944640782,107674516,987270351,994502884,864059760,463079088,859796154,291258299,949251754,408587826,775273830,641102369,546433669,601599994,452496956,462812556,495307418,625441169,766249198,654556224,101628613,977923233,681757049,537098519,794722030,896435221,274202934,729431894,905791323,308227190,838362252,985559255,614104974,100000214,66543925,569663524,161613900,494594362,14169896,470983129,980874919,216705448,407973094,252235980,69629360,239475967,484885263,532096551,163628977,591730423,832324135,224090940,561343857,803497483,632396533,7167473,906389389,210360067,448113165,783581412,105763658,109638502,861097066,797268661,143222100,850756305,768094891,234750264,493065191,923103634,957699444,829941956,923622863,349837835,88972115,821776592,940271644,968049564,915320373,812650035,637689292,275048499,579985040,879845974,953176140,117608691,604706764,882978703,428651181,878309239,428775016,249173623,477604519,770762060,136944885,136691131,689861624,666770238,401023934,621241525,298676244,22276599,247305772,275915067,936880454,23633702,856206535,799774001,61623892,793446921,398602814,95557900,637611882,707951644,765259587,641950892,509367295,610268449,516253295,41624969,188394524,285339781,433842097,191584404,999146342,24082324,109903420,333227848,541887221,951584383,525310689,118919515,723089665,100483097,761811605,396857025,951488737,848354439,303501392,110153894,741821041,963198970,524831774,223334836,416574195,669197319,330112407,574109263,704780177,717403024,631581811,891630114,101722250,472034969,75490672,943814987,484849735,81675948,649737444,243531702,699626949,326621027,706878121,71729259,105173585,956720841,609177097,509023542,256310524,167636294,767557781,764114316,828794874,413855224,596171792,69818372,736314629,517731578,842900889,220139943,627999727,891046432,921829806,266412333,737665251,653387125,185842859,107951979,238784139,50372542,185636691,707921851,137892659,520961627,108304176,385295669,592319267,391088745,180107041,135606710,272660610,185554288,352781930,643060245,961267981,269236662,667197026,20870763,536042592,326457342,589398467,900289182,573947090,109549828,62802512,35462922,972073627,503100643,636216294,325069624,522870687,158156672,367310871,941411666,479771652,529877689,104924133,48620779,30336768,890231811,664770424,631271010,891801536,377744601,366920592,90148934,823700693,911051855,593270802,721811977,262415527,432062979,375005488,162877900,255210427,734713358,575812211,350292117,105717761,389081642,599846031,673838309,274217105,759416225,279502774,403350021,221566106,44373720,135341236,178077576,336673863,133296879,417994587,127999540,246964742,287044225,440389815,229329088,671356015,465480670,353234065,17477885,576052591,354198949,357404422,665293769,953502696,855741219,945577255,927107428,121759974,330865372,549453372,58865495,970930485,705731542,304625261,809438230,6211313,839927804,283888909,367836924,691475063,636785326,506479665,808708520,741804026,675404541,290499043,596709051,305517856,106438490,305951247,581218494,178465413,872959367,430254115,142607182,462627323,906228936,412119984,193709591,393509990,853088325,572940262,223700234,122064571,37344839,450301533,110806532,406041949,910493986,327051641,617224265,39052090,31524980,176083857,566498781,146021274,6876865,174123103,17755323,166163052,792387395,86405604,982423958,590166841,849695345,261166529,250100407,288958102,504316136,726819010,230672157,260195489,386276487,543468839,138666592,702599535,99095010,45016313,390239262,384689559,217647638,220331018,190028391,341824111,759247433,335586684,354326006,850030564,913263362,340743217,686877666,318468570,780200479,45999676,585141050,876501259,454519996,448806781,191869490,825631358,472190483,216147528,615659643,2834701,771988019,911523477,775977908,863600150,312695059,754454011,934768850,385265210,205962558,247402392,414478038,679806680,350052407,50535124,414231134,467967177,211456260,944458577,364272655,338286384,899758385,911108818,971120124,849725977,784356159,545881272,945639221,345454593,130382117,516970325,959682629,455997499,480492311,473925136,763361375,463354769,11723449,881111561,366609320,593851618,934069121,145711814,65480742,174307120,352718960,815525589,975963535,173782322,10067593,95243807,514080284,229797140,554626032,926828173,281510766,575527385,833201031,5244347,812602132,993610291,116589342,886678895,34879086,217497026,246647141,845923828,312645441,742814540,431420970,756939207,248637710,592934428,446204071,295394148,10083537,995306122,695994240,172433069,159220502,147948208,556199223,220394615,153737013,261750866,914429467,740358618,63533159,655727533,316440727,958865543,528051463,415878324,686789190,792509224,939697359,184609487,311965408,489685250,277708593,69441744,459659511,723618805,287318520,444840428,603465962,642071275,600402673,581351103,674356138,308804909,636224621,166650774,181748923,669919485,396109566,379256048,532941509,303231036,381654185,95953169,573475966,323086033,409431887,179236270,980501546,879814211,855325721,44075597,560472305,539363925,659979771,859730783,14190583,662551678,99410016,257961800,968433340,2306215,178914394,308028086,106298865,826788987,46288860,541642542,839542564,328369149,923480885,513697024,288834966,600958530,440675118,41841883,317485183,860067699,947095123,821339679,944709704,799749302,967797005,306722768,284060150,824384455,494538656,432896612,99225563,133931510,794209231,572476812,176918280,13324519,388983171,133197146,345569580,809984227,719292368,95323543,836896657,632651411,925822075,29361514,972400117,358875117,15257455,486352874,37566881,889622932,818913152,821781910,518830508,322913514,476376067,118124357,898263874,994016136,67282067,999360904,920498524,367537269,292588957,128829819,551256081,539223810,988442779,556633332,99304428,450058930,835598817,778402713,18559515,581265589,330243393,300075420,703501735,171121958,650282355,686663022,759307878,251891074,709832849,723924776,63367938,966975023,844613463,555628709,609485011,821108689,145357493,596921122,816478114,201354568,669057698,80301313,880828280,260065283,762278277,383190149,736017341,971592042,424274752,892053771,815836123,353823868,258034804,454802272,587561758,905942066,810236313,228398900,555533200,709596796,620039911,271938090,100467383,232695756,736481196,653967642,954301971,250954671,98847137,265757761,734567535,124827853,427993425,800568291,713437864,712342443,842651338,789392752,258882219,578564280,95017777,863680075,581527213,395314527,322687467,279207605,20909345,290840281,108964052,950129769,189972384,818398195,688200321,783767391,568977452,398714580,802041303,713858550,375307323,464231803,857394512,861943878,130313461,557483611,171986028,986950206,78912676,346776641,993142890,461441387,123566012,417247330,3168398,827886595,806568688,203104107,581745677,629116623,644042141,138614260,69979053,85144179,989077192,425260977,242676935,153336596,946966924,825386851,878762477,429741051,490686825,673562254,571379987,13767991,203692663,447700880,516895331,86358330,542450872,372313699,181590567,890580447,913696494,948116832,450802930,829526136,106525999,638619297,311633250,57581326,488125213,852860504,413078862,373327192,222169734,356694104,815679592,645586114,279254495,869542739,189625272,916280264,416107741,255487878,471968711,517182163,763324462,370900739,155059003,23507580,542498716,874259027,114483745,52101248,975792908,16190009,854434938,868510498,478750995,280229270,808930881,714260938,674223321,387832414,184348924,413403348,403889079,201144257,600065597,430130622,778063002,11097182,234270916,789444136,39384730,502980809,704889442,264623312,944444229,681101809,174673357,933602332,171478176,168766035,439534954,252871617,527049330,564084364,264062282,133520029,145953421,492221834,556516541,972628586,453069980,530518522,811794596,637617718,966625291,736479299,813884451,384901552,262432255,778250552,638242803,395642959,470449626,658210077,396746774,688213243,187170678,643618933,382473703,865688949,145252882,758604533,65070511,252966200,7004738,26320787,502666830,619335793,310190684,339620910,978980893,793778454,108949072,915731055,501436365,821940461,387565394,523819385,992583013,997087992,720514196,527443392,791924787,45126702,887691286,28449949,227726822,296369385,946291595,676566660,983897513,884857590,694920680,703244439,551356850,357426888,436162060,241126941,318694040,689974106,655262596,309389447,731991343,7005198,791861037,894093248,953729765,641777236,560906847,809421421,879555832,614706509,605649873,801101190,255180349,520542462,29062432,257087721,921165000,548441866,215810977,625781217,840276138,794463780,252020971,723667313,991040698,235163416,516727712,727345792,32318401,106652978,888575129,450160009,661992961,87755845,911159186,926103555,97748466,593921783,835073177,419109164,234236679,346656787,521433240,777686599,28446535,783487022,316279988,84611537,195734594,648970536,383120944,452185068,332767992,480961397,826494495,294653808,57309627,345442577,958630039,290457427,924826784,202690864,838001620,680002744,341735650,676586623,606516691,1206353,178963016,96198877,904135349,351782480,368969407,639451871,177343056,720960016,125380810,657212758,221458090,845195642,892860225,524857892,985974779,448671043,845446058,502257047,476032225,80959892,368063159,80782546,155824310,385994383,279258921,835728386,762736660,11345929,331880766,415867746,919526135,400697169,37480276,490855017,821131830,707539210,287100723,314800471,829454780,881420068,19750834,142419958,116128092,349047583,785463734,343756841,965951631,128504583,882167164,415538833,149849353,872955689,847698743,146842403,103084146,264070421,614936787,711184788,127914094,849431660,40179910,313575105,919074940,974252339,86847042,200948953,495015269,585339930,482612746,321642837,241026878,254970367,570751531,458007231,83086465,941044132,677552779,673049775,36440160,634185088,135421529,813551441,294704400,800337514,249089493,319834461,436816265,204026600,533001612,329049373,663393187,592348955,211739704,758681476,360160047,82747916,80722325,827183937,865442427,776274193,363599536,866013307,517282695,942500914,893478344,875340298,680745747,749509656,34441002,698123226,135352663,90100644,827010886,286886440,803503080,342776202,855280798,692127427,16465736,699993270,475054775,670007188,140950164,371824701,384999887,636669937,460539623,338569440,781065643,674716991,458914820,282844385,866548556,235251538,596014973,113840650,836538195,271217772,467021006,854507270,587257666,36669202,155663618,512647109,319933574,552965154,980552738,813734852,919790190,205868154,7140379,714384036,681701042,713104503,557408474,178807384,341522725,513816929,154782501,85686266,960330516,824013641,949026550,892005510,995232726,991289739,97651600,136507923,32939283,737126660,786414486,602815522,898776732,394784528,693907448,552958642,650535818,228742146,225272246,775298143,530020942,610863173,137835043,693368237,50921967,730036902,88097849,282431987,683042059,199185914,845766879,308587088,64937850,671919255,714614142,143062539,964495493,205701865,453471186,539024106,644307576,28208228,972741977,551459406,422000467,781640179,516871493,432714938,16745981,362278517,313522549,200218271,927772347,123298590,525196064,970536550,538337919,939946128,745697231,714368558,22226571,656874232,870938128,373132422,411394749,316057549,490751261,994682079,461835144,149144946,817212865,715833445,776850005,75113344,658278670,211473913,272072030,115398506,734298615,694557097,772837692,895360916,532657809,413141761,377485740,835721334,228612119,426565918,801835728,381146902,380850307,809152990,711048478,164019470,964862841,166828190,230020787,19122563,577204862,377807228,948250851,59296824,640601759,456728434,435886235,867729880,987426474,666369653,347140728,337601972,368847103,526830777,3034730,437223259,612311548,878231521,604986357,1808014,509376074,765776657,943314086,10809835,450060271,472207172,622002531,946253499,120761319,786418281,130475121,710898067,839828978,898107680,799006995,744992083,316784625,347726247,507110017,805817769,247808804,822355796,970976656,552470389,175099539,817091340,605737217,622669894,808046985,517442678,467858899,90221107,571021174,644362702,646292499,764842061,287126541,261145339,410788817,884362696,912576016,289759796,543441102,870429204,316823731,503837174,513503777,236916716,324744453,895267010,3795407,828584650,158228342,656506659,394071733,9223703,392430300,722257571,705374748,338861374,923022091,162540599,148656280,155017794,69406315,887920264,804626974,536106986,992065150,155344287,952175886,288413443,364780107,83691852,408321436,831539946,704151382,245241086,750195270,497007728,930152740,706098931,776413898,723306016,981734308,472813362,813499310,563740634,45353690,877436443,990109072,914613185,968099969,470354288,808870987,245240034,356546715,274831499,941223312,11789491,432160172,981377536,605955754,62273393,245408148,68694477,94524594,247234333,475478312,533622632,317013769,560835298,275895058,744022495,901227772,522631505,101842863,947990778,837645927,737304186,906946620,669493909,645615947,758432750,821977778,205263811,248112781,311121452,299793622,171456729,17901244,779382708,461793490,972495078,944479910,322243189,240948584,305534370,677230299,407200106,507240638,364448901,282788575,260075964,927421932,170368692,203769006,481617589,274353525,524103028,14862590,539613420,795645536,232265157,309757872,497027361,750033840,300257519,806784388,233762652,405649768,791963186,642907304,293765418,61625808,751643272,791267706,629904078,69762846,849902831,719081035,806174136,671507889,353673462,830866876,226809072,588525821,4678906,116495789,19415799,403581820,814890699,726548115,221531269,226403564,617394611,243765067,248583861,729837686,365580328,998804877,477542765,44440630,154904380,126009700,121808497,232270601,624315142,979757172,587595117,528602774,863334495,60412403,875624995,293720739,583320035,560478648,480820982,366937437,923015923,124646086,744424845,820546421,703822161,191783608,127548279,917831914,519882340,441933015,263156372,2199422,675601452,554802750,613636650,387539478,353376231,765240350,505893358,663070261,944445319,717118849,306381103,450350230,636807801,455129382,625455118,632643834,367769286,399384919,795444333,821409393,839514673,308610181,160165598,733018882,596255483,695614151,468086151,79479176,959722312,328739890,956811564,376082944,795374303,212687823,298457843,331176486,272958208,89032652,624710449,895187758,289187680,853812898,933052219,568564690,721343827,273113367,41107810,453230024,717849120,544458626,272846850,786867208,608911108,138436102,707443522,735378334,197752618,94063573,380251422,102487327,503520513,235272959,473930023,939355148,447805632,831702266,119735068,338293543,789522840,727517163,308268926,56432503,362939221,523386234,651595980,284975450,307983858,522430534,468139702,478324914,435410604,984800077,610155055,138343806,975967033,828746062,662702450,618778901,889031287,412251404,33356442,412892475,404517075,960615997,298730279,89708678,233840309,645290700,590665299,566071751,447178632,361684231,132070571,826251878,563103836,586176055,198298921,328112922,479252232,635558802,234470004,677431807,700402982,499401075,940939482,510817493,93043398,609715541,629809014,715131546,669113338,398394760,995376281,412803645,502820791,109613475,671438052,709269773,556251228,715616873,825276243,511253033,325667074,539624818,477898491,220241101,896163375,417198649,769066705,867441856,182022114,466830496,585208030,794441534,757524433,547499083,114091559,149110713,125765624,731770558,669895011,342987665,532379869,864560959,547956838,959208301,304335469,17296759,738947795,52481051,222383511,865650882,459110000,276200356,198657421,807074054,539556830,602728689,123773226,838193992,458732702,586480519,982045197,875329839,485627299,722672274,889763535,929920901,169207639,684568621,578024031,667374381,49745582,330772046,233521472,972339472,844305449,739720736,944729146,610351684,341292294,409678848,226099657,865318145,974978257,432257616,480963330,393997206,855896987,192367430,609304911,166388559,626050505,71932161,28315765,818306257,624201698,714027660,950012436,427906941,290430059,60411427,223433449,669298219,779524363,638422685,688414544,327810834,289285507,645013387,257738722,269640344,976779667,483953245,422435857,462343474,356604733,331568648,916693611,787967541,578504666,457964197,55852955,630355255,486056436,17033354,836293938,792795419,359050383,155964,878180731,934031239,549007607,86129805,633948350,961577143,514699358,86424758,666932684,975079311,204140386,575582303,253476231,430961071,643689896,239409065,885418546,443439340,39676,601016368,792926950,983022614,318882254,464563521,879343011,420567042,660839194,530025478,443407486,142063884,45017354,877148935,511974461,554865050,874865381,753747858,8573917,611673685,213972078,539470347,607273191,784634467,504373009,366467331,874270334,177974145,446609005,326460625,628727038,732063954,713430078,239512083,843701918,507943696,581906423,579970710,968288599,805967112,745994565,187957518,18154122,423495014,76559324,181736116,582539882,808916791,98533383,537476573,538575042,293564118,290781943,887383411,70564678,321334579,463280669,858906680,738342053,759285405,295509936,988242848,633135464,976826778,994693487,242711556,276569760,480168844,218353261,746321083,829602159,775358952,10856193,323604062,79477745,563861400,734851401,611562723,42044173,214999579,972460825,351449051,984956660,251129940,393719697,241694062,573187464,692757621,870356762,239324347,626310800,881976425,916014291,488491853,795685359,98824797,190275532,556301147,534770053,427020375,239749538,705167431,494903444,669689552,891381248,493306929,368286509,417098299,905254100,853120420,65645446,639482777,937720416,26695058,409590300,629864110,631668358,51881036,611369487,721755264,76113865,337843880,67111007,955869550,780981943,56680099,908787724,659402523,282497153,145744131,692716214,308212781,694626661,234609049,416540358,55876388,91366676,442704524,528782219,898424896,896952228,547426039,581379291,599324778,889167788,492238881,616698062,92811530,453638200,383052968,284995814,562531298,722178766,848700893,206006694,137016878,120156873,765925355,511056308,778462659,274779064,169123039,491846395,938380193,656650950,48650447,464846771,678324713,440736907,595049517,401330576,977350654,389153641,427246606,329484886,706848959,896172142,227467398,604707210,157473266,406243404,337980554,507611574,301886623,713505844,963782745,213879167,689228958,399160382,742708544,19772642,657206304,18986696,584412720,566769362,158274368,56421673,961924127,744360291,104745421,667328123,172913876,243631360,396804890,344288804,234154632,68161033,292209574,219882766,711663283,491073519,429791662,68584940,867268181,556933014,12580043,257123905,387028894,251348913,562540417,426727038,668171538,541849394,757110643,478567049,583364497,494293994,370357762,866917988,935638121,853165399,543517430,257196466,60689245,218272854,394142887,677457203,451865527,229256281,578234619,877216679,30533673,751961136,524516928,582870429,464295489,607575828,401519840,309290168,513062577,153768128,557892239,393279791,491137022,717936669,331474208,970805005,55715552,340693087,544861215,894226787,98037916,47270422,330869414,669437020,83774103,170658525,920101235,360400882,602594365,153782662,38212524,984044878,621959839,58881295,787076261,523212790,839058978,538472417,60757226,652022946,518272935,5206102,748931017,810965967,829292632,229540112,566416224,242017419,711366431,537235751,892840663,815224662,788517365,978379367,838885861,534061014,129158560,330081144,56195730,617752678,547682176,947180753,185224612,407256785,96611171,211907986,113566206,43243059,249666569,352565721,606850636,502424562,859811880,335168393,705635657,912629087,917129770,853399289,734134750,165820909,144031099,137668292,834528576,435595594,863643903,765105918,703500981,675353108,687434503,415259338,626656224,906678642,408999868,515208891,486295689,751177644,711418788,552948487,678554214,22696628,556154729,938446638,539157852,205878179,416958872,455173859,254867833,353259365,696445545,722667189,438445678,840521545,761727514,69276518,724448942,557990122,898676701,672957356,345982604,719777763,242079925,128366103,370043680,786047376,225335422,412897448,272294781,89913169,688849809,253981118,47403809,524479963,489025004,519365481,897751311,85467258,142393228,776439058,453537526,541564139,868684536,219792250,272609991,548057080,73449269,971642972,745004964,878613714,674874826,82757730,220572806,838224612,208076172,653554300,855408206,473854926,641511311,226764253,128406108,552554615,267866123,801349584,817973146,343997946,569281288,234610525,227040072,661458584,245897497,112258906,45659923,305106345,496310015,38591175,244589340,722949222,696652547,523140319,541591105,276299564,842430651,868690618,246381171,316648115,398152596,16235098,28507886,527716371,727463575,609232254,458265769,19872406,798420354,832506570,694517464,649157389,675416101,5462994,378360804,661906910,302458793,554127464,309912428,523183356,421285094,756758453,991976573,843832253,627564353,680503525,142282123,322286808,170276237,400205063,42415560,145387217,385111065,13649471,480470140,458009399,751519747,587821128,519448472,450785659,429332838,406108842,275926595,706642372,952903914,83793253,863060058,335371784,483723630,949735179,667126922,747435225,661205454,945869048,925982310,39720652,29020959,13325464,808639543,70993408,847956675,7158478,179567202,729999982,10013708,327180103,996205089,389128286,405169364,351653089,389097984,410673379,207781895,876818613,608963563,45690825,287562164,238252866,687678459,145815314,304618883,757127508,48215951,915987822,882132238,402532370,502050477,911038675,760614536,145158004,24384199,951942627,837576997,893285766,65699662,511093202,173249788,345645717,734607550,810122265,169820755,593474956,601120450,29218848,428421666,622190752,717125763,835798830,634528760,573656621,854092911,704489258,70936098,521823111,767562480,558702313,591494748,801787418,391730470,927943191,303568301,446226672,408109828,759651192,341122074,191762920,359726184,72956587,915289230,415006785,660239854,825239357,952317120,511641677,241974001,134723866,547832158,206536259,98307716,726966143,195910846,189552338,391783509,682947265,665278448,348517658,761713543,54333315,695211894,987974817,575229444,16639200,366347158,740374168,28263861,262951384,338270871,215262800,346769828,266956427,800468498,24796227,430344450,552569653,155133332,435103656,454192020,118487109,389835993,528744436,664518489,43796204,51288936,181779806,730579168,106153913,967853366,960716729,865199503,2929945,856360952,981822761,963867761,373984733,649656911,958428790,692029227,718419183,223814242,876381793,873384601,751474924,847953360,475260617,567330942,759083393,128730277,591285251,849054604,774037937,415844502,861531111,988875355,357566375,976492496,275309753,13472380,218639069,582454925,945139200,991501893,423845839,840966975,550605393,58334012,575397911,315939384,705584410,461876969,125889470,51502636,103482568,240594046,710677662,641956730,689638154,879231491,655719329,735365052,203321829,159487997,895711952,889940202,492681489,175730610,466883426,874867542,721556796,686212789,277166153,605604118,551700902,506217520,651302585,55126723,70226607,84024927,210022326,169048496,298385621,449038947,608266186,744347482,462943179,146312204,76702838,635991737,32037894,154094032,761319726,933762262,545501605,710359111,692668217,407878841,249262889,721503640,247884687,867688704,243580660,707225558,731013373,586588936,686371443,94822775,421666630,848189417,465530659,467987105,899446037,584327004,29413027,94473883,794918563,233733982,490414980,351159787,336312813,7206934,608388216,18897322,118528922,520460405,894696991,5358871,206677581,981581189,710421442,230594265,626682990,437748350,466426144,133782890,24560435,926500190,908452062,527477540,48613250,817551003,737705208,735988140,498997594,216463640,406900001,138218430,810463340,364754575,306358521,228282702,868491333,297677004,169004627,800573753,596202771,896678322,249765621,604364254,989951685,784178895,622008684,963740115,195152485,222401469,342628617,58269131,421003679,281251575,254971162,167771628,213303068,468849156,276500998,654196264,247129125,827271369,507801183,366585558,623978031,115185107,524178916,287494782,155901623,185557969,559186346,244103214,371267332,539647449,826633074,448385087,657933825,34674833,738386566,807342458,522609989,757264703,194559365,56478842,639289370,953528250,11584096,192743167,615830953,346585733,723859463,987007302,28567024,362355754,1787481,451528311,976416360,5904839,33589927,557683847,21996050,283818924,838085284,993950215,585740136,750951414,691579683,671017999,826733963,178730041,974216361,81742175,105597492,142053679,295159359,420528868,356079622,925626306,787010050,833474687,89082707,834317714,283052193,375553741,88192509,752888255,779018234,589073326,235067796,807336097,201263474,942384070,115951649,308119796,194204430,448516387,420166642,649280995,206814503,107882438,611841507,986186627,479063245,207229839,182891676,889833131,483504518,198569915,328952727,261859308,387350748,229246432,618401447,23390588,887148522,881321818,40445653,240591846,903622611,129449447,974426683,426228920,947508800,199591304,688237494,658964676,342359232,342042443,24990853,582292077,258151765,660225760,698450463,136704307,949509418,78599022,409930285,326228672,91713704,815737013,31477679,4107878,414433355,659553275,467191230,756266063,62946539,572807510,729154487,286635605,770399763,149593460,845032311,36175440,674858957,834796502,667133435,490018534,666071403,105273014,231007982,17655696,790039620,486102215,85184854,947428481,989552160,653194921,859565843,721695346,197240531,534155824,742225542,585165629,411725755,37301313,170359858,579189696,62871357,870297194,6175983,562647322,36955992,301621698,237900749,935126890,299892640,806080226,641185874,748922065,548627426,962221452,479225650,213273891,442101349,464733081,689448221,407805581,191581128,778815442,178234032,889404044,667270391,8230982,915947518,844217239,769950066,474246156,546722904,497409679,572951814,350046564,918020243,723876528,15092345,735351581,951258868,373083680,859026731,383686195,198080546,984918471,486275101,466580865,634100046,535919896,731121631,754301362,461014505,376777338,119748695,527219169,301391115,495561122,483654820,666385047,818145818,177775225,83432218,538485844,544027624,885515130,892758670,211975176,313841635,717603278,415081372,504768836,820108082,847341534,774813701,372208171,994017322,135356349,217816866,609849730,675132760,16189007,214628297,53705825,680940935,422132983,382917450,142471204,521188257,748063847,565361834,366532844,313892357,106829196,663250063,856647324,955800874,486075714,344485235,888081919,780469739,530764012,847102170,273857946,940877292,677583278,5403380,736245680,380431802,770034877,956962435,31888803,848522359,102750917,357691142,854322637,241970504,572619135,399644792,747174214,64920550,664186544,561196534,423744562,893890379,508742691,275403535,943844541,179172699,843417678,125087995,956755057,200753115,342874885,468465486,173183337,995321736,268996384,403991323,279932599,147506834,191042162,658104866,629440089,261591457,231399865,59592233,2684966,741554656,988602198,537012772,697982692,96870490,478728240,880119254,631330378,172777341,581711354,909715329,199126977,24048964,42068525,662652795,674232789,704629270,818731447,115869107,519121516,90277419,836986056,579239981,581658016,176761045,209065286,173010582,70765167,981040210,494197235,88431046,334962235,841764345,360186793,176508616,514838407,480905140,185600776,78339894,988880477,420184331,338757689,560867796,681639257,229090108,844724064,137161427,747440820,465507291,624208532,618187196,2071780,293752808,647976606,550766929,818301731,822206098,288750481,520997394,188657699,641194248,992219336,667235136,294445922,567397923,806496674,674855135,331298909,552415795,181325469,167839814,105268330,429157078,700889619,715451098,102554868,305254530,509507943,582263826,466253919,753030866,218186771,12780360,588647636,307645307,616547628,116523421,20782156,8764455,366751235,961937708,667951506,400015675,593505950,176204686,969842101,908375738,965559053,786757091,86829168,205375492,686406857,743630390,3348532,691199281,806216113,643659683,335441661,457458300,448066840,548834521,64262446,331911337,649305953,181149973,547110794,973275815,601956806,811911603,387677171,245152858,811775730,460258445,424072920,42745153,900316868,486659571,484498737,735019770,749523377,471621614,861833395,330549659,865899136,578417311,844475468,395369432,856779994,66985546,145164215,880180228,338250931,394495351,317715568,762906767,746957168,179646869,12834379,694559560,551792268,756429337,327767741,905104394,693721328,188145924,758250979,695404303,576373175,220227166,698438279,90827723,142477084,764460704,523046282,267578657,167640945,694874138,8442052,877544357,18778199,485564795,484232675,419142454,196687139,546164102,881621494,605107007,509700297,581555077,277225904,41109338,535091050,743877818,888556227,170475401,510904525,628628114,619784390,956891408,899595956,773950450,181560913,842543098,367171613,77415039,48667153,51694383,925443283,894597220,122182038,431964086,636150580,765842801,326023094,887599132,131789313,701387709,587048943,200142631,189085835,669110028,646064317,675512779,135102393,327098666,839025194,718317271,790525872,97001803,310632036,843657320,863319259,852206095,459043351,59355735,469329385,667187972,423804946,133348137,771094147,738366574,34713050,822687990,510849839,793454162,799055278,527041781,220994722,725703935,143751793,720555673,991575113,187876582,327783125,711409375,126580984,635414811,782137978,82473331,551386158,887860759,451794686,803057147,41028861,285069478,498831054,284211550,754123565,91529935,220332501,971796141,784184744,263849873,632236544,38063650,269430470,921398717,450986540,6563785,904586119,78048250,309854856,289656056,398581243,630350644,824534089,592819404,310391832,888442007,579281976,290527999,963187832,374122478,257978757,754514227,352799792,231121317,301766503,596548716,68082164,138073838,484155255,201944010,971867405,366506812,766230546,182283110,5167216,417383097,461995660,723719546,381923241,175604383,945864597,723594520,590753258,366922964,55517026,737079286,809398259,66768097,875906610,278162845,641605093,287077958,328873524,245731979,227769678,866448897,595732706,543430207,791000859,57527474,436170508,248756657,498302176,226058486,553099780,531376443,327543708,697496882,921181388,346403423,165667885,361063258,428129843,393446300,589522040,323377309,514616298,201916037,972505244,644613362,934170961,869307394,451500122,310260322,739095352,502205142,733649345,842408758,562994084,824388224,887144768,850571196,719859380,834711561,354622366,271871750,732919621,465818402,142246856,291509831,477142324,543268186,855462654,671142042,189592143,145694617,9101349,9380745,654885071,756636332,744970973,997637709,283997404,265481094,318654402,969017560,911139227,51666418,774985132,786442993,209509565,806641152,764751491,434283471,557283230,834223138,282568559,886513734,192112998,810125509,880206183,638878451,559520206,310994831,421679818,470613747,338419088,621371625,141095363,97968235,136973001,611975323,792583775,252593496,511116328,605385709,397638526,325915226,23650054,616751928,863916644,889571132,728966992,871801194,740582158,899822482,199063463,542792383,571169257,221704153,901368702,594194582,289748519,576556714,215535570,827357543,632769552,439474222,922574375,72551667,242867914,712531601,477522467,472806156,406687477,338762941,804238936,805012432,944655972,198082106,565075861,90513089,388485103,713644237,171186105,892092145,511868569,726853490,215915104,824086369,903658313,423052823,749545169,848433204,695597840,173183329,177945711,334611337,340134283,869824761,992014811,795722806,822641192,650465361,635688540,307783443,371767012,102910697,626107772,866043652,641836752,82408231,830167584,952386552,535647243,482309089,376328648,39960100,465903775,996404586,360438441,94428521,189730472,374319555,372684627,501987988,792021144,747586925,307750223,56796230,164257390,428095092,36950508,385788366,967672905,494111299,926367835,856246,594363978,915427283,847710663,975631130,71766248,456056279,283144795,855183336,808029062,433510438,23780807,385436418,857513213,671971348,522079885,701199832,868150621,301715282,859563316,769648300,625068192,398451670,293592069,148603862,516174510,321179408,733185349,856229489,947252682,190594818,8452065,514721941,443256441,717498303,535499102,857908438,165156556,142309200,807165671,996739138,576796286,239565190,670748335,69416251,742068515,980919052,318863965,638646239,392894817,16586413,864674871,779578835,364233324,462069318,258219959,521512089,380969119,687656893,884209906,790629510,50976263,867385246,839492000,263590289,133006454,770815296,522748254,246020543,288564671,448173346,290823778,512594592,332583573,251338423,614605375,984603479,858715703,907683952,800593223,831781103,865553532,730855670,758584547,470425491,821852336,299225554,99321671,914295399,208617066,688109606,240570741,605786209,136270526,65406806,516054574,739310284,329034642,815812841,557838587,89761814,604005223,313872433,361715477,61829509,802806056,181016563,117897987,578217389,422747873,915473004,402587976,227034247,245552466,81026899,269357145,156530286,142208062,28950146,734982894,219132111,20398441,532989798,339974149,759249765,683881672,491382697,923277336,943655848,791389246,520905531,589830469,67530451,265879756,788287989,504236281,987676366,891893650,751382305,553152081,635485041,664445929,707349944,295164292,483790242,249823676,183102013,320257179,889614461,228954106,780352642,277038712,523310350,701325469,824749546,363631913,130842084,286199649,577714202,297084547,10317284,259452781,948815885,962309433,584447356,694140906,668641117,177925282,340962765,440655491,93105943,776947971,307266991,253755350,340824716,845975029,265994538,566117025,308191016,325050574,128247861,385661539,472558254,890262327,797531181,804969650,108292599,140600681,872036437,854151118,38286852,103546400,210196905,469872351,97086052,307021811,224976944,664050532,97813978,964763645,930540501,720056776,995053007,900172059,954746757,194628755,653130382,454192886,265358616,783317968,273834422,443677645,737310145,486644824,568173622,498901746,698815516,846092153,376236914,128276807,257869326,672459923,33234009,2649808,267593822,815561708,701019878,408746761,107100153,790638862,171341843,59799379,924364524,351173544,657216097,975119948,475200345,663855494,220730823,207656811,114545060,235626505,916989356,716463715,719860439,940296874,424104826,807888039,935575391,240765585,261557629,550579265,274591499,511044976,22759352,849274802,10297387,852582679,546593865,120306341,299366711,515182232,860163479,371006690,146564400,567054751,87399853,228532459,121428335,1983220,709511677,95657988,285408971,347875690,214933498,213107393,403415846,241154703,983451737,226042478,388875379,106238574,286283549,345303015,164088781,550306646,712743318,980073836,934071556,149432196,171218409,301951047,587707275,799739462,577955785,567792006,523596806,750662328,122421205,931597475,781837246,915235259,292751432,644512511,992932153,41990790,531052206,33699476,145455603,247759517,528036402,479458504,631219715,740438360,382113378,903097143,689250157,987631356,925786170,172178521,154641848,133553262,417392912,818863534,572763306,58777868,703859262,102100858,514349868,2863832,158380231,413309726,132448876,877943002,922327358,162711692,995469573,748029083,466615886,636523551,933125450,651520880,328863176,611738001,718402574,252813323,463992614,350830757,664907932,654661558,960236373,917328951,990875782,122669892,505935423,443975992,104913068,522430112,352377419,119260036,201392072,658484505,136137747,887432365,577048646,154936417,234184315,293582392,137310688,256797044,59530068,566132883,434989153,564404761,674830735,103265642,172478724,675888629,822152080,617553788,671402437,915679536,107488967,462207282,459905177,32215759,254383013,63344344,239024318,844701178,180544014,398143278,937285172,874024460,943524629,973226016,735464391,811820835,466650083,250814318,973655853,22832292,92601085,171045098,387864544,136878173,128223386,485221538,5047474,851479054,411084948,55198545,375780127,586646082,522259852,230736123,104270713,739089004,689655983,781418569,719411761,124281308,90327524,345481579,138616337,901223026,465321445,106630593,692138715,751427906,708841723,814018828,950622441,388540345,427416392,125152178,100090671,690977924,903312454,921598726,5465587,256386762,901537364,767996963,745727406,998580950,120668048,70514732,484953215,382417827,461268308,18579085,392311599,652109967,317446057,746803586,196629829,756304879,210407500,3899822,669975825,46322697,514030147,368804010,292030332,384393033,830929832,91804120,175508972,361733595,327944227,210298093,677517621,826128812,321028150,745571654,182700314,251950701,92344479,740567797,587287423,548860253,169076643,727295966,945225670,283810305,622529134,857316915,118192100,128815234,385916270,185961282,629875663,23761864,911102744,67299974,741828665,559035738,282680415,975647238,239133627,477260329,898147979,451401799,326249529,994679518,578576059,673704881,854965192,289278479,632815427,799883174,430027397,138244585,735374003,558483186,38983675,827230781,270580954,112722698,18358349,313981369,495711182,319723321,74986771,161687891,135602473,589595594,163444005,749321937,453668648,639023701,222032067,361219614,304019638,375766913,108624412,852811361,79500160,579509649,611674944,910154791,747032267,614134881,858413049,100559629,754752581,832427701,382776449,665472337,931010719,673401873,141300042,223188852,760924127,83933029,37505393,15116983,472736360,790819496,873388351,106882634,910675493,848777279,381863477,884255142,249001427,685280583,425619268,639750800,224122553,91118293,475675804,27561693,375845442,976540777,137533469,240124020,750454036,16055002,883832326,273893983,253042952,684691569,502598999,518305143,358599843,718655524,745883507,718989974,670901188,100042628,205421145,621846396,552906698,478770940,62858110,903689446,663562587,428938644,679520456,829433094,549225631,144383691,999313738,926081062,127052217,977934920,140500194,676678200,389203268,302560244,353697917,747234665,505661754,309263704,443536779,786348261,392644128,110631015,79628491,993848949,35818281,404974057,816248592,430251116,903428066,431519940,160575630,118198040,72470864,293817719,669333189,771835085,667784300,297072492,99946384,988456142,990249346,183862033,726884871,781465541,90803021,746729048,15706797,899920823,971616464,821850550,794636674,13833836,727873661,612873811,509863391,973622006,309786524,102174439,190222885,418991421,134127784,540859829,683210596,678063496,235722453,839013086,207893886,158682152,308847323,904771516,710140036,239414616,424687120,107920626,853307315,886340968,633619705,632107861,557695307,899365745,841434893,651195883,413544908,479724149,735291568,530981771,830214847,689346462,105470391,227171104,881971308,106397445,607855370,979744213,782139183,127302382,554346499,178992981,458493536,70908693,580288730,813296100,364057889,847879979,747654900,336415083,60048333,858639419,915985463,91195402,501796766,30199588,641187954,438715803,267484113,746097928,658583098,497543974,981496896,846376058,966096671,397735563,670869576,208013235,901509282,946487007,886086421,368013260,868745732,228435548,790518435,353781112,825054242,73026142,990263329,620025374,682114288,794834813,339915920,18929503,359029569,570072640,745981,38989819,467108288,436743364,944141101,200403861,876783159,991964361,260720608,642033866,70647523,373044236,842052795,224714639,475104687,763728748,512270045,912496527,201123017,251576400,727896982,616098845,659899493,892155896,306882821,296583295,50487391,510867835,646860069,940666547,670706866,663484182,253277012,524413801,994693519,555853431,779074113,520378318,689305137,415088437,993195179,137532401,497708115,982437187,162678279,763646996,877374293,114524802,43962140,60222798,488889209,971002604,280146797,132153368,802062806,720164563,791962515,187281595,420441454,404260742,412390238,288053365,107698077,426874712,134698426,968789827,934420155,804883709,144192531,76595881,78220692,762178003,486204804,437203530,940990235,71327358,840501604,325630687,916880667,349015390,294408074,366791260,964479523,630345974,418856379,975169,636790873,864958075,507037862,284695137,699332151,775892415,488265621,263214619,221097954,54476682,712477750,719671283,33092781,686516416,53742662,214921884,768046019,805665393,80434033,920876236,545596384,162306495,182883436,565792428,754925157,211723672,794353710,26715713,675316582,954677112,625227079,443305924,643394006,777919251,62678023,343224475,481761231,983422140,203418970,320216109,969475232,620727590,652867568,859431836,764210785,234703007,889657195,593622265,775362545,919545387,459032387,435069433,111460319,447168343,241977719,203719396,877466783,111999285,991443179,421258429,875742343,330437455,468067141,89138351,148146957,881803188,544462028,133251614,714388847,961546170,29136968,331826565,652806245,513113121,256495651,791063050,486789453,105347424,766601097,480099823,132620354,253674742,377274176,659378982,7330897,835308256,298349205,184517242,148879070,881550416,407583670,666714469,976515030,711362121,975365587,494290414,709963925,414642736,460104739,16750110,786556064,106189891,820444540,166341351,372797826,39718075,234545868,533435490,447489333,846012763,347605996,637271244,575187353,361743469,203096647,47520421,545011244,622345046,92847008,875573122,543423951,918800830,46477590,51796531,703378936,827865494,709773189,809615685,958697523,774266265,468933091,262221228,359320569,135268244,718731956,294632412,953679833,169427790,288295245,959336058,635753302,448255343,387454649,676069460,931836510,204398116,755788584,698801282,914154161,751437437,604783615,382007366,303973388,642307838,891104668,784831127,806992672,693973444,566035229,172259110,772444891,66998993,104885575,883769880,82102328,323937217,188343854,383999178,941499926,215380874,942269276,682161491,616845312,857181515,928863929,992901432,186677438,940400930,100949905,53673087,908448710,780405839,892935593,655934192,91037501,577210233,468037333,975151405,579974794,231034014,496539688,795955042,521815933,416052360,515826685,269699044,150354703,277941757,146366520,240442454,502958951,667495971,349696945,41783093,56566121,504479315,35067600,933569177,994376220,458694032,646798843,26811325,428470680,368189925,328159937,915002777,518691780,555420322,99655858,423709687,19273120,685102735,186258092,495102399,41284439,144671105,113424476,289622378,633150641,802963176,4298600,196755821,809061702,163582841,656433035,25900456,699353793,691069878,300176965,370230533,814805047,710179295,790389489,848914982,71407064,186425259,938287003,883890564,944895784,584767702,377319167,43746236,388431671,983025584,559931442,194723519,872912098,373286394,965572130,83759088,308195778,124789181,353581797,726286806,236819511,692453575,631020999,769129850,254202208,121425116,510273572,894834491,809161001,316396150,559766992,213669833,213452127,873537575,143819988,573572815,741582190,374510157,213272998,989124372,499116595,955129555,977500643,920242849,960860215,813751745,591317200,892773946,57130881,750031904,324272165,595502892,706630291,182931096,641362406,553504053,995302385,175551119,770034767,646077289,735083170,120335454,804414713,873219106,935063876,509890225,499678925,244260097,640905952,620421249,569926030,747055623,232838872,616975260,50231092,964037718,213695799,691350946,782345411,332407012,37149018,341082581,447697411,181292725,495886104,378367144,581145345,627616653,999707644,658566701,869989418,315199154,865321018,781431059,456649759,149060010,829772043,739283778,519690441,577703774,332762300,997563081,527512558,400364900,217591535,671238198,269318188,443767773,43233768,786136291,456598118,665736174,21652850,305606770,527538719,324346237,917396826,375185084,927184845,865854604,979009318,665882097,16416801,796624118,630193636,448693055,944270986,479247231,35652144,180441813,653870934,338789080,778859908,165192732,449216925,939029529,596670206,769504014,881072240,794301368,42806245,284744221,293454677,895813736,6863049,62283912,63723722,140538826,163954107,73461006,57897205,145597169,276733303,458348618,214942388,202836095,906877274,975352049,831961086,93764906,364996699,572224578,606525003,58953916,159144761,240717938,744685770,618478194,399906060,566202887,201205247,742584933,468538954,728591,302918715,670402354,384161207,312240678,363821379,83893392,56910087,962226010,884414071,964383474,820818015,349339946,438072068,748488043,719685557,541346560,160232039,149858794,275983876,798138634,486988754,635052939,255080634,691211374,297059171,69448885,874650480,311407840,329781190,710756225,302548023,378318450,422857143,834477236,465520225,727468981,227603011,402982962,112156984,344937709,208780678,799863421,310984871,979130797,659720414,804093677,818148584,800371408,821882038,621615938,935247636,623647356,380633332,557289020,158985244,568647565,98479618,327242954,327298128,901348011,229537968,726941615,698189769,299754219,578001618,421341705,301393843,557166057,16092524,60844640,113330805,972152932,441742783,11616033,107711161,575344646,24811183,926615815,361628404,816136593,216756198,171713043,33664299,852102592,420341788,464850265,269718642,435408598,492434043,520230313,761576449,337192226,736126681,269925469,265673619,888071326,577078324,166185236,383635413,187949899,276713354,293003329,136968089,630465031,178285652,290681474,994463108,471202916,936805413,357248283,568108983,606597389,436216726,925218378,861259227,920737182,840439085,538712377,88021494,762772475,759827048,802048971,311580410,520010492,875312980,218596953,269676377,144878079,68800449,489342219,167636038,288153538,163473638,64816152,37077523,14438701,100369440,329232476,248484878,662293262,710897905,739450374,271245988,446838654,619279832,143997556,18394111,989541813,247981421,859155896,334485943,118330927,365532662,4724165,104374603,834171667,206508346,141465466,433111371,220986451,225917466,269029726,97176186,120045206,296378686,698627616,935868281,651739521,821239807,246440204,243917570,507639945,307448879,392440279,550483137,664794909,550876019,388595220,16647573,421318977,698357119,347519941,570508441,904228178,45443831,373094658,446234661,138594398,961988482,373471222,801379544,134394313,142650905,537600304,136553270,397013454,608293693,850125870,985440180,375176707,525206528,568066945,267273171,25501424,431058320,414614938,534750910,184445609,537787641,464740368,33075846,894221713,368826891,880551400,116073642,932397146,25871968,140112656,973269721,381431525,191200672,640897177,529197390,362958376,606495994,769629004,343745198,556613616,320621265,704858861,523139332,9306484,190280107,458843028,290463498,852219389,435563755,289374809,642076043,18372936,917722032,160596930,395425065,298003085,640559780,759856470,388497766,798385131,142551712,836840945,222391142,459395294,545381972,608987848,100469115,553016805,355805255,877306928,150553069,156440894,101546125,908720264,462527525,919594138,932476027,837681441,834095235,488880375,206378449,313458920,491814999,149330864,169584654,404902253,244662848,437575001,23251558,610493713,879685541,12195536,223765593,467612539,880588609,338976365,29943887,71333328,729083354,115901401,703602067,575082170,273200072,202693743,549916279,430234,16548455,755536901,805465496,781197811,306610402,512037232,265053977,232784401,572812177,131185464,126161967,995769660,904139625,683048444,341983439,163472440,81444699,100660080,942521656,551559909,760397673,177460340,129832398,33123600,793206774,816933402,1172032,137856767,978998332,294298688,793834952,139939621,976152164,964995672,922148937,713453700,677472300,454607255,301692818,480560850,273601004,300975592,567336353,750485930,382958865,95503673,78772700,854050752,833230683,108957311,31628174,522939455,778399479,322368293,423688300,98665552,665246123,657627521,96058571,943722883,733276932,570837978,718045081,698860833,148127203,613147648,131742955,348945087,140904385,374861443,400717321,94497416,37026951,952314327,580435889,184336165,75824478,338908372,998292947,657578895,788080554,477050926,712180946,78655867,842634392,64631308,285122924,770543947,56374299,263931985,283020284,481435394,226637952,510996939,572386463,368883800,634782823,724691702,936267746,537826111,54831476,449692056,278600432,36777003,34777078,103171648,841099675,541543348,258814011,304613855,294890748,208968062,766668506,314616144,829666778,847364344,612813577,839499868,60548120,662140671,419999284,957641973,351309029,245348772,834297143,653897626,864721623,800341792,296856954,705448533,170420146,422014016,864630567,144147701,614653873,544517803,469644520,929840835,732678719,535658028,742086315,168373813,404155197,674662095,329301816,394016025,645807689,833092797,97182626,885083804,818583137,540209094,933634983,106488723,1123547,387159389,622173289,310449644,488339769,680847845,810515893,953306412,879256952,516371694,477519807,271195989,514504635,762672339,678101185,359609011,109949748,473941450,527099446,268309110,12191039,157147944,208797812,158938110,144707842,586659949,341351899,173955385,580931259,540757667,517674119,609578504,293760573,669572304,964580751,890592874,487728447,508979013,2593556,268049703,987481186,637426639,202461706,211290448,817360896,583287268,413390322,193231131,490599995,305579246,939006299,512410504,534539721,268590146,889300098,513332060,507529191,339705592,169831430,927688763,564080552,966025256,285899320,280068536,326396064,94205890,995254182,274407490,502870033,910139188,800090875,614024669,638443607,802213217,820792139,939707983,380749631,205203151,558902273,578095319);
function pow(a,b:int64):int64;
var r:int64;
begin
	if b=0 then pow:=1
	else begin
		r:=pow(a*a mod modulo,b div 2);
		if b mod 2=1 then r:=r*a mod modulo;
		pow:=r;
	end;
end;
function get(a:int64):int64;
var r:int64;i:Longint;
begin
	r:=fac[a div 200];
	for i:=1 to a mod 200 do begin
		r:=r*(a-i+1)mod modulo;
	end;
	get:=r;
end;
function f(x,y:int64):int64;
begin
	f:=get(x+y)*pow(get(x)*get(y)mod modulo,modulo-2)mod modulo;
end;
begin
	read(r1,c1,r2,c2);
	inc(r2);
	inc(c2);
	writeln((2*modulo+f(r2,c2)-f(r2,c1)-f(r1,c2)+f(r1,c1))mod modulo);
end.

Measured memory_bytes: 128