# N_1,...,N_17 N = [26562610770832352468880240162915375233236933288336679501448986616079869198287398864851248707315002411546658961809061027341237611677187065112733615129138478912118225643575222169096015469464231941946053743355615556494713858515323671252729888034669520045257032905077100997731856439110843206406949190255147176045747995383162782237929887940997622561098310031385382866880115474800209761001720261484087237090369749105990223108840425472567056825182423580600618790819000357364902216840086321034010743913010373953510131634523390074744661243759245850784051351526925109447512980281555037112161529932531587929516588695107769552821, 21170982455538274705805355496276409588516269389095551579721354691744203278319729065421556372453585397935326426811884446317164482582252290807079295422530106666627932742207331852028993171815319156396380414073416367613719617051599598572801487835878431600571246527460722455356397303228946506522194423458893251236013886208592422849417237247534412678461476053031293950417730121366349805249684192885745821150052450350829390426415232147259520559441250733108504211948449483557156476420038327606274581412799907717808853362822329205318828845550614364371833884962979082420464842656998525688884452155270647584602072363997307300041, 12286033577448355019080917243678788063976341505945016575091257168708779794123914620212875748955363493544306926190978102558843735584595998780994278726784016829813952773360770285440602801614391747413437418901966003214694318195002885820683232736079378511416601747722754681787303572334436602731040318486780125185715130217651491235235219607858221395696536526931112118254584728405554553465415798079176801238661963932897211991080585323505990207101046606034142689163268717918817579914819336959890990866122919831511773488056874706913619564678702883247623119379140333914724977891786301935608630611574295765763037716175794220613, 10988714204155575029477233520500294455789490475123948065125780451307333097953355260138957950390068543832743559316813077659884170561978186852549550566858626520337127764871666253618813675290141052740462742701463457136679005388950485127652433965826581090784101921186065085597597322034642241663146881044391842143376470973808871122289474488782525284147629108246136946259186695269335460232208896448691097128526876092331961891172964310957199625431320896933585386073640127549007483622122773012204398930743379486750532038586011158338769100494801439331115128985261577329615541320719559941804650128728253128829905508565322571759, 25538096471010746485641986189078618679568189358043966200097726902962410320687505376257418319694848494387807607463129949685718716903047042199752891112805309197711716029104860883447350145788594580722453529921774920027087248042632536060678542927784371451203954893558713433004279536538394222833928601960456059211010726228584885196140072620158111900973491130173829803262038460832587222296078263502218764965728091232035837728631639970186156366505786886891303418093754246807190333422126912230211061280921704938779813302862922232681166157416011935562165188061191189574864848743914691718626753432931151011546691759137700718333, 16919994194024474676208242419516454495705539519487756287221490630116355192115313016891379885191711488252279998848407456038443037143343570347676469210559515692836287764411390863010222632303305700712550575806609849853349882328343882207825912555269290145485778538770537383033438988194730855730251189120316091596331709359428999469484442015970427255159179388147301064555759374911169408342610801250148260409917242462248587774071796264592824668692923240525320995017073421964203114886945204669734905806207578161969776299059595593932401549840923132900046123411066696967231956689321506288044292515626661451059611114592522041041, 22213105035218568854591278903277992670910184270095862612254034863264620289701002225962859817119485975592707735563627700113186704035581629340944196924157244543161064416679936111401328940914394480022495470427701231181159560293797433452755892956915705707687261283337752659273188270240607568545592544584957487712075282469049115041118182320708529186429059693240214594255940895941599713583667248112524140305660995711576243517993345614634303906126437936963007617279431343090927405879107803228614979735855724501880500019924299536365796376072372896657543480975589185569649775080817278215928587015351780776944648448131083137581, 18040239899399027188726833801508495378936234571456915344704806376144563647715726463864668801314271375003860129896290351424833737821833927317871135395166448986556826719304768208840853985543202807045450225341920247716479482538670634786744323764859373306791023111094313764763544018826299860433163191384773261299282192169160765735450122851228286934640062025346248460002982420400318694467912157957210139063301807070139309116027334503954852482102732377665513318428583444314244985585822985858810461093852331397933236538134077630045457914962844591971597234086915831447578336105892439693330054353607661305974279367917348792333, 13682611974845699994529206839214920298233944037840221562645878982511787097242987956473981558773446320775225856055602830027521522961190935163147209850085558160456786627283179303173627675894957616347090840563298892666486137861410329906202633135782062141808312543191309763998115196154399206224907894314739959901522337692300331578322156190504038361228993525862521545621089459790233311088385481644193477301881248494094020571677486205651055576997597949729752581674252969390148814644024905165562975664642390862975541173970961902092921968550912750220342862418569306094763805003181652488686491734630806574179133810381939566363, 10561279058107928592947022637114707273485106166715370169714637640461311738174832220288525483808714409821072957470728536702823629510937178794801432379160636262694719566342839379087478636580651915679656471123635588884288773693171812611369453282040362232929805459196225473754571539680202449217371802984412131059594257371665687692742551934499725199780304131193644864308232640729267314894641707941309985501995534043495820989572508564336612605895539056616423873436744168322416005987212378407411928320395863466074441012738857535542236219290147692624416398930285258184657316699976871109379401727116487745425214481424565693901, 14991433830387439548076949158132189213015915004203390194499474146521828932244012540757471451044137290923879529821007202620509034311728234152339423800955789195719760619092800156807545046619234298589455982934943197529335493300536355444012019287914677338604498526766138797944598385589548559408319603099301021367489593217752707854678668879874081445287755623616341750293275531844707651444007286408129793005233282007668310123743889761125851863974536713528529721816986239001614606990548362090113451603318026496743823910449104624337529855133497385681068002875893748246194458576819726224029929073420220371440578428069730992303, 14082645185083260908554055872453036262459576209640577852732303985096589611460986571382662683415934734463259810595278520289230648747184151768674804736827133473652171341067460015393570198670539323058936680827914947125156507152854781849338237345506483493741951706912115059694532195226834747655758576350114441357765021420232207263505435144804397350853920030288578205624453403963695296551095040910264332940603907577841571691783782330519389519521186869403188578564833507212405607248306654504829301352535831341983523588382488560625601362913530342420932372134145016005306997026997131033661964787863624877410298978819481976043, 12763919233014377807904479591751391061655458860541008223658510298057160392930183430223582894156176246688138724184790013534894543374653768386594308673560868617116270652028751388925338263258738796848262505896532344540976237424414582767613627538285838001923822158071715334775269366297750733097001428563375143359497989804377586461858731347511711203226793609857229376566866147778080816063899407474949618384870893095417061881127296713710172055635575109478814581613790291140103119209831506048094685506457797872511487881104290535849988970802829337594394959572281346093708807068158486655913608622064424804935649355205497671649, 8711489517612894359649878111556637075042260369707526049611624355915266571689453574820973789136413528729755848029743070389493906840641755544310156994924960482298648532638052240737758716419723696143070733875553802466960763122615918814237618142861699164479398591872060862346127310491955480050587042375861056983890140694940533545223818604156581026946410850069340756615550103678313598457267456759794334549141073960422729103555735341925047431850501291198012096821073922530092931864295627549187416616365204501174399773284822726699350572499180582110698840919665459526929015157228124556446249629269890737573989935038880642879, 18956719654384510657953119654162782650778858767206108328552232675248067315524706133679368733706133086403476948732126494890597081725712506979329132977305096227363875827166034699980165107851587599858481943100380037172608713199698359978662813549264895216218712831068609250414055585705904159018490042897871539418909112213715780468970861299280221641003234283253427405230456872051742773067479307988239061194584244556523541127112057970460968575680508743541160204121343308761217987541705794008758718785569980610759825014294670617408674143093933159217367431174497394863805622959896861718320563136911527981681123118256817943967, 20552427004496820345706713337833952953646373896287514677300430498202508096297789709417264143514085317999709352452031077213783700605704788139402463347731363068795466052017970462345939368754848852465027101906099996080647199954500271720709534689593579328716596153130849262355329590536879400446976066663699072378611741946032211699961802078460617820831875249408582636701838780463573539922666579644128954567460496826912867285691208918855547489325282350119369143714236573835095985633142721410676390658517465321892093037600728383406039309164706453760891513452367978102407410057712769704913332774731183533724402873285329879083, 10753679973606997693720117560442525100143731913362648204952172713084830611363554704944381644725488279228663336703780608324756349339645924267311125444389693484178880441327287420979851343674481571267683963062008430711238077980667199779687171545842716009867771642311024231905297112607349937430056155165871470456077774938984988395254126678620570655190891523220773862692753764259080225922293257684581869901675680943254284483402958157634835635303255554252462193497186480587859135195977300265701386657296022964631941608564947178728610895304446680812991452836256517491966372556651279887051851103169998502547294051909688787137] # c_1,...,c_17 c = [16710908935304419462161348803899485912165256158479291686329313525753516769918782434693007396463444024631969207849356886566009550375008626698244604251438015834152841981704968591428652990564671060042016550096064553889401995135522305869119012220218674739283193771566260083466617833699521841043691821085587120923191426848693689602805364445736586617300889118464757098504384826433587975383150733565499743191533502286884026238254828808348414283852270839310545105063822001982974121328853089036182208806831811648633495745738597374036398049434569002067346862397062451239397790270302121263290694042048684613353783978976121448790, 2146726335440801096090145160683042933928066112995519829789569031513030723027634841211236091599086483023241009445750850961383257828011267607662062817036955942835891094637920583763481356969166606286460666808584641070863988499476320777469932908376592595836366460491162504990914633765833943416105438089357294668908772953131454203375210857931337965690836793257912510987693333760974100727183845586608933878238023350853231456381588147604398189348853778332850251318446859509473128777462354606287667009258092201102531276847609103522192364231714708176442565677472290878099474445720451828497603027288563440812722634627723697580, 7679901927200769030247903328228678024782264969901586210178758044583695679391075058093642804551401963880832192882388690425462494814981730001991959079634516917256561083697659097430022285439080263002017406448245039771676615638921695374012471641392840280672789344693819340584754438236583155582340316542564559288009560597059754239825107203634515505353234918489301975150214554648345708313668182977049860772437782438397288486040637850694549467953619460617418082978499558165231273270166490043483287648605333295676681936279030707649259136840994578976507392210458037351580095318907589998007880456457904629885519844544709612956, 8476251549714365199438681366179797097969946178324020499527413806409672702658486056488348726499517900791638819509165745898321258270649362888232656735346007083422642142005810295726860496624381591346365967421273445937414321364667181541105897537276598568634351588072527355793963776903625715567257326900841087562205890512642466180048985141152872426902247819248761567058961123639459376626125996779697735925254608481594262673656137751540855743958381349427580137102926754019666580678289142897493582199562130329098091993438524723067988551133446338718118113275493570278471283993129870006129481455144201241280859358593381007399, 11618509691994624546194422602556978655227834940509261470892025511810599228355045352287140366596547666491782748486909550918104033210987526630054769950282531184835714351479845255551463466927943516868480534310995219075739506706207005741792591035191090589957646298335322523369689859142112005619583573183051275808707355660086503991967518689734214702500927463163162505809644566123854006524352700256786312288054301966480623832551435611734804587764300962510840413769773932105576917247979351761769547135923229230923006248281131792043155322422192866836617689102478040091640142221644118847544266060022871771049881286368854064319, 13042730556775014407336548440118096684963822303287753658653254435412681045241697757576892611741121323587132106588380659352406196644292744183457837752977503055193936783795581858714378464279159195060950852885239473975923650822253608404046128982812108911618986873310380775282051933586010802580677627588300624704495167598926575211272010257261939957942316799436944748610275381702673195740608962286382510608755516589510484029420536803009303540999263531933341471744972021652493123733017461407907625603082174320563245491037273582968579792918277574641668177263811414583871409375331719040065825123935124138092608893620055364920, 20320440403488920185535233080730184142406196532174958512160921902682203200150616903401680665891604022397092276059259499404019559192405995386824069313206940186575393532121515454011693034298365953159101384462255315079479401260066568342467682170111263673701684379936224287234579456584211107590246487578462469274693756963078846905454270513691151423392534991030199523114098041747862106493328080989145253737272354124109622600379983158676915341976599516546006408656921586135873566324551877844413111604452159646094782899135885720718417724618479370326809050655811277055701571746371902477627394815132667378374796157581200575134, 1874609556574328019248746126111307619977578640892144254951183111378796114573970722834272694594232648275591489856259421325895644890429638638490117129278639757536496029851162730591645248148729696164473375202623939215778095647453945667579909505879059119098024821536988324117422855240778838130544387091881880171312220183013654926989704699369237384087439721627476541298003628732495187582646752237920825006439803792139757213259838512005627242886223055006569561511629063954461605164241926635653140236047447050705620847138018213850359863048504150130348824786996906129379479207952241103049054250001303555106916921797014304205, 6028846465754261782014169440540743224682456861500700299363493753174370767614406002061429046518058845891222253255620659040789285779095711762344319135726773928458346049842420493515131260075499738216099068775239272140449223771861242424305298629272556197941873032087223183039975206568921578574014579203898753796036827475147162877212336164974501620523436514324141513929743746303616536062419509029550807986272074767596564585620382003929195477034084491010519259345205483908644028856766843217398606533720330308526120646243656524994600682363713616405015330044560033313833793691925460306988452386122225354067880358736587343782, 8455838748853850482016790557763263554482216111457905855949647358835098703248124245001188331675355655391184180636804465758494291206031712938746502178875825253948777990560461233775679898249067648304441406720279296140679612947560277048563717151264967552985430938999865326209080180785921999143104162967968915341952449562646904299754379151874623380679657968500871136826651039848987236020431595707064933836116171815226781173503056622204861510879345077635249150613035255080579842973654895069834690309971385744495745490739699966771531827226539091737698713523123726906430374714536782903787899074636524930510558340323892439580, 11687183608579503372204638994189289965943738975820022148182261212654361372422645470210918683457409033424840276014298479220039335281555001797250871801431122875223067874860910879617839957314848697827801258270137947755127036198583512968832751126322549942611532395573820022395178600740363638988183291874745755003985858711635476706558089041702062393809573897587243616499021263409113673304436970641165471724285734696896742851566852786549017943718009970645044699768665000610929237164423846129241154981481839790335882290407164188795989751622913111044837540815164290747923620116797446661604404182648799539989710387807962772092, 8694094696710023905116188229903071521147305579273471281998613540499431964512615997198090608226749162720106255645792574410225450295298889647848483550818228430075627876572197869305369929991991832229160229014408825078066999828937679347363796037596450664034764776861203951854223527320245468244516628355920161530886559670853207383847348546660462720005249232882810103576019529452525696744645064260761487010976310396175755997509727928303332041062735408694025125767675868330910274164639048093254919712941098050972972532059159342280921851904469470297242412871060377379590721372495915034939961818224011578400660639832309070479, 3973444921371997539094841475947190610922145524580542312934760300474336136689676620432990964306913627824483369599158809993777179378956182965105161750301846177733307255585943933452840763526005190341399565247046968100060928028970287312734721211208506100458672126640286779148234183367018340074531984739590178624575184269400477120631720492115110241560541148516110739794667887044167425842371513568140238828092877059514941567464176741966926061882406215644720061887573705293449769339996728585705322750866573014855898297152373844616243431308737194582703779035421903970434752982903941646479865362251123897380118651244243480298, 4085934365952718681913936682371446562646434637779731104267422187444325238509826260658461548147330611117044843572464942846465815954262646206714534516452820663155472410843429822669631897142459520220477917905596374253877956286651716300861962427954241145379885228592664617940448086403190258097203492950501898851081031248172324455550446784047411369779673791172843306520835675412048175520851935582977850860245508307951389925161125960947956525832509482233444035597434576598081962556693037012819892331954298894716050117156984548753423644684754621108535855713817742280603792931251834781478841160260815010650741218646908077464, 5166120882213237183749410268530267016507492329116613677242795734685212891664014782278393356967788892847995227313616577377397446587142133644095051632154662260205869117945909242946106814429133386283189819276800519643444043773907659456492117305830606005352814309625370490761664954973316233575556679509127532043630326520423743072732784683621599174527881416157290860175538806504222255010067194761563784317546089799295732325473221685376181504866600982077332729363595243584766438418874698520346560206920203505409914623862019669828810655251272832029975388304685969841764321533884472459365682795729102639702273241227445982274, 15908811579244423575238161223588046079900636665646030790144722987753105068305700588309608636984287527931540928183134508517755266068937085858960133564420358502410789068997363307009263818142743126832916201112211740522718167617441795976817031172706191180864085720324427584649638859174669270969326545763217034737605469506036454880950137106341541450440988258860989383719552869007232600709271435342911413393724871533873562509921332830055717859789311077504358796143812501352562901358523388012036512799467700781432197114772676831087440380430465098080681128862269937123676388165544582314888451404871847514761161404185579135628, 942633865264343212979645734382593427711518634263474669033799075804980143182606600747899063035137243458909266797554243078809167261023346992725823642919748628447573212310976122333004641933126795043387101373891686864386563175779092605017577143355390033629243185591718769788709442395604178259903458185454236931698683611653248512320382449143382320972765152053194387971060865699662264286934729639076085773056771764752510996991870374545444467972323428355578925460581909896172707539233779208618796737537570098126328506674146385583582684774059498941694494190861422061260358852978252523536171770942211248612278872615897456951]