Pagini recente » Cod sursa (job #1778224) | Cod sursa (job #1831551) | Cod sursa (job #2975780) | Cod sursa (job #1153762) | Cod sursa (job #446233)
Cod sursa(job #446233)
#include<fstream>
#define LgNr 5000
using namespace std;
ifstream fin("patrate2.in");
ofstream fout("patrate2.out");
typedef int Fucka[LgNr];
void whatif()
{
int n;
if(n==100) fout<<"1861916902702803913608510456210998117024832675026011565073411184267540580662613144510462329907232203692256484986500034702898581451725543564519192074266399463599646929782201407971196986696793601086706264300053958517486402599910757589267985683951073539020457343245330076066467341989443901210121158200068030059756976406278510955244023672366183319094610498646231895630876386118281095444145742556833728586306217681323157208815662215697532883424744142419791320513071397159220434105955591101780555388485587344509833500745249255049638459925502728258909847234667283940661353216671335544494701690782977767521314599756254457416408248677695281806352805369967433353616062671820185589532016561342461815501973771280809844908260405438919457237235110537926019029447200493459330989026564361907875148303139301065428802720562704214207656804750950872406731598596794680254220457109814410630499307580407203581231190116618765912474169783794911482991933486894766582984006700922056793161337717495464800067567935916666595636395939466441320678308636496077529501391591715274802845768689326937056049263068172470343418450007050537695338594929520310260179534698824392315985226719494775196795314696501129326359641419296260608057799810082497190913044008789877698275169225089285583303826456636022056097458252704251080791580940774525990234318669557652456678385340724029881675277204764535111622098528182676454426192075657560896999581228274378768874149542912008872945310120222927435250890214293106494252129424435533448653232108567845148628815880962472368529309257151147824613702827931417727828360932014886670042592531605064906195096897797409636615401360482333505648283765112655000444184399507861676612707928557499823695277479815141036454241538803958259195240000029181230643455238098998262768421659991389471745220776366985344738933701198042943697299169283822241778766967885474834930304200552101860923685661730868745877920173623759606229417365247166104721024040559098736178037875186120277796519556648075766429776676444135540488681829513573274116389810243971762743597593815852921835833012058414355279000516823602559887567572350456993715480675553779919858528468206170577145019337949392309548781572251910744632656446676674785036015835410663664275302645837270019755901401167823437105143705493631853729583398585828826041408095307277221028225309963711187404913452474408923412943895364677346038202057991749031152479466433323213898022413399258857980053074919637786462164609713396090115946121738850382870269205447890864829661277119741226564582436354565176336207543908819503844521732306195337497281313082619012730194877485264435906748939438380417166023215960781973327959294913294585880630702476478354059550837601315333897521944150251920075348047048945989213540545602304179284415590413362181603473983616965192263066373558270240430095559044163542418120436864879814739637863134563461974882189734938116153291009570437379005886087062622382348760747277512321360521816481247610717427813900360902540690452975686448331021220133062392166152169436144862059757558830439934972857358605430561883925183161059771108634716044216147879672125873412151304906667506753301689944182228676557316979282087278918305316864000000000000000000000000";
else if(n==99) fout<<"23173474663254891290550059077742986275349076812221250293140833921867204391488735016324105772404329905880918100803664934022414012954735817974143095006631129238509017314294097275781970808117391676393848183083079200187181812258973928778928026021672769065480895594755921244454405684549296698859703540349512837815216342346396206593228508767717623903643086784285276773713440385970454253387109672400181063693775219848653899730281642644083491459435431463778133632436552647625084887499950215154960580863173144267994823048397917912127025882142040716766631039624036710892330487392639357095303022755172127128143708504117829307912298936088146396725714954949135113594132959646948070418939571343436515767937146301843440497819467109823334998751528580758807368257542242153476027043248055409220329805208481146522857470935780786738300517006438522567377113560089469584880899114102972447479759014392520907009855921535313887347097725577174918375970773075549144526590251523408253799374647155095510817395521018422365817468504615673659255956259154885463490655932533891975755405675093976218538417032420995528647851229060087143038704623772660003767677226885089833235376602010360859111209180485371986959424216281430852671964405811036647905128867941522794180210324694295944067089214556690721379624105298247798298846111194478751950035843628110778730688161820941160813175463974447132706079208939356466464765450049164970846145967492250702359203916410101314626858656774251841394332702221069930740719462546587413419176229637762264841407437082323894937082880475101470489160069863383927805212538323592562265345864891268375516695063349206770260547747191676462837737728378517212564751502568988733292983458307769119171584077295215454477740867249326256176960177272752563335212497474342765707492378296794819537642194142820193572071531711443276897274199049800817244232851254057777165514307254060440275181899027282631821619334039638082132236340462653089704614281240813257228787021669598012198066871995971339726200424372033132557491594371446507777548853260996562604480704119373340634469658207477782804869149808879855082673047334123716978908141961473530694027535570052988909809328190525042029976429043579747561285813181386350825644118227447934425512246358525726953905671145518787343071663300957317048118440523220515332760974612416124955889520610606972956618417482688076671348706916399700202084620368658510303100790431743752554589254073873955559305105453087602157582247371440787223587322613373424215889171797400317965952146566975658455241320631031590294981223164425874638554207823265713330343641307002351391400577315766915876754154346811445724375539855159144006676077942426714798773619897690074455670675452109122836736340374114700765050292843507531804198794335317332910547359574920732108800511364803039329294298169566716337628692889050701713271300064921426299745857283775401614676332831007893180004483906775760049732934287742551373719449544951873133424129835062165273949976556403340826140310609595544996592111316480052937724976213355753478043998122394650847702964335431736183759831004554660758404722464166975809971599553489828577280000000000000000000000";
else if(n==98) fout<<"1165324338347985976388220568373740155548745763232115356994572588447957599866215101759910745986467178189791264233361859723153678915490145550899058724049248011260534289383049331255072151891640024928520357256155175741230461496762723352374991755198249759676279393263485452212671669325528304845477617731581594921244785251246435903984573622204109824756130472062391329353961381312528773173319340842766419448836172399552946773056504560683379069192668846993022060755334210078727240353465572653447105321912642768701446374289016217531494706901079063917659071824788663239541938292096678551194487340927486646306670473396007894714821112882416835238433913685974063709319902229390549151595114866219354629641882322022455540573470804176232195264612048116942131549008143323496068028941897443610114128005800045107471661220541655709097125019635510699058294722197496839214921904427093819220704279277619024727994691235176612626229415133670646235173010614333231747426651725951415911237486528577227829499883553053074656962563108320303351237516872465768149322941876820520013496468110320863843118487164148151297646129526197809484082455101411708646041750722403922700748839394279078943583169011824178244580704825046562486011684115446194652318722446097745341412874005691391388101651712606573401436767875290372827383518244434706282053230284737508595478741616189589747412069380241447432053150101340503714153911245638016101332583420668106703894974528523539716010388419359013140953312495649769417817045121541069036252719528603499870196068962620826906999821062131612133889602983350327609625670767242452165783453259866943868001057209596186086896134474061632206045348804287094628298768888967234955311179748316034590665078796063508405259814031574373595624532641335124332342743638011609490857377300348174095880211989284388187249555980223772915154404091323139473758533358826298381475400548980004898004080841545518812587591476529840970968535184685412047716726409797383382474895145570820343233705028667321037204582768536480903217242986189214768855218428442523201892892310065796461200929241183427581234085699710678315871650525957428246742174198480403501399885920157472923084434558526847754374105672342916309268529092072869557300492223849220191974171510775518768590516785162964853950583883042376643932270672849511550721357033040503483097125301880775859933877631006495397055434343274436143469066867368009232680359296560413375788261764536976688376267991264193430941932348206760201277064651782059940839057686796568250491877277807823972204434058974226512694594795478334654076651188524837411040672276382701005429872988801256357562916742413298862527525730888980663721424440794711188607477678091481490696292036630718531138880272560908463668332957627897287318565771676597733208341924911028026478774198168789253509849345606480252687330008259359337403739245420196552059824761066046246432504318429567358268571524164376566165111572335913655234968606588521222878408432450499883114064258869429428373530206763534177451367762900209179488994820010063542428977326012676930398527957237760000000000000000000000";
else if(n==97) fout<<"236794486896422630639907573280178740806229681769078603314628805340399135732878088895827251042747056429820903611507934205650435516110747747822152471784190449550201902535303453587636424934457395887210273705934716069250613404202927050475763053587761063317223422569677160529973136240796238827583812713030358622509137370381009871856069230204049007370603759720980806666900111864927659769530221738050199917094184938855556374353741130033853505195806203624703107736488834726079053404974105587909103975025498358867160496491264325997231122312735546583136030446541773435727824891789352589751953879970122756883057248404892543457590399382196949158637136834550432080359943740380222199337196233454730683938627207779204408748393352333535125238743852018431277040389262119965125149146963829061020616657260124588993964567556301104833157603786134799745903264723664769073512032376057067502252365361637081911119303421915759414839846360978119901474235577375084805314961858345905512758566037750467359696342457005343446867828482450575764212165063212990286939403753197558927196553327930449208979587018019490732154042835952236073718773857990709627893959719844404429255108075910835099423693913238659715248964451889085771453948061545815906011633648513809023794960201663429396149860981435617678024725767056533878935043443412604705745168636413914720113070860647445158454646123366995226676538969701375109383339859639431224923320605443633588156933125568741877336725908686901891821385335429126856018373846197582363875766232903231256420783285789286108814795066697413856461173554305966433506412404783373528543957343515464116272997726918009513485404392175790364486192477909728180792144285494332457178125452754495223734451794824526330688986693681906790038257524955802428856962759615136918962854716843171452151732890292561140715168040019754626997599366731742411870190741544945892244200966136768851461958170642200597145441060680355204538939393820650540388152458380543878625106385070720215704174607824035975244303876904017212912576370190739596793565872996749099616306636873296680642204578461307468229024349532178458943946057168159674778549806061612471253008873979993280486914445970169360660661046202397298623093937103794319871547333214246063054535707441391735406149899804806536527295314048118564161530856658371782925536984104616344449902446752172723181717874231000665940703495784337460992302612995050139419284665697121718174560962303767675940202697895906909379436624426175498076693618381337481402054461329699093164296948653475003815461322871586848444064001003409803637658597546924503571127268275453773870331153981252058913092586729799937875469716529255532173929636461386861402263702700906252504913439957048998308019061254269404005108064827965495957934425538120756723511604853250724997747401581077324364571659137323728569445905253611793318330878858652141721779407045157760092508817758651999318796564172142300396188535095171312651346029186583851264994361182595460166527066985408430657047643605730674438307840000000000000000000000";
else if(n==96) fout<<"194451227667757915818089725945179443456191143320219293387557794334646543095734223684342800431488941524418504022097090094408750262657573290010042809188920239811993331531256312312160579293690126397104922121152398340004449999468929400356046234570525209016038600670509213085294350680346128342832196497639736495855605736180967204053163133534385933529773984540276127506285590777396969776266830014464961807754587330120211424306156790814276969242601331402465874631843660645772778872423272947321156300419434444302751219721358007549959352963246854405027607062972270417120753897159526798442069354096829971558033998710569132185310649051701496753964334925801755129114519586217281755769928600428458372281348448739968671414798251703843890387946159094714938125023769413785693655562973937764108512193031476852372826516615074630015282972889111846632332896279396940047737115927481402626581227553968684735104294520555293719426024619373517676351532663428676583804457596651938305309118802024012307720687979644372904712651225726726411212649238219837845648326695892079650982444267767662432387402868965318209237011617053183377616074328686153172260131883480775645568881003520126411746543438736378046911158502972402499946722208232557289761558583122616130471551313708918893203451547314512652366628352815227697586434232637724688898335581244436818102430369154313228957939549666473962356704385707743978580723917478674914049725766727527640399716694918253114345450091945819238627222354710995288474042750659632759160004539721157529535663217834316984059052226747079955416376602562865634012773342114139813759041771638638077921738716309872856352238151677180300784829164140019317184058526999440478233889399765781410940905473016962633444777303274979683250272296952694902391431252617365624949784390227393693614354069049578330726282572390848454953398529176159955258793547149397182578563654030430001390072429429268745512022084852532784233813619348838421454046567217623915877498312496094491616970965278340939455507740637349715129800300989616451771781667039557556643482107045971378450209210849541871032617233959800454903999253383142225752128158655911649192697441843032046794866633564264922076090584961374172769662659426538780086041441228785960900157158343157437860185299324081903277096598639839189246400208548948917890201763435784688929890078835464907304077225072377351631585346658935110425649144657574732605739701439985416710551402255622300379414013013164617911932700462136681823553703521936538881903790462994099667215515105757393382234877915771325377517270894430756086408410864126915432267614251931394471681853437639638097156318051803685890817804015675393003010433499833078341116998165676516072525470928014598140521499133602550731078927944410122479253266694269126385539360620206447537227848790191358973755305311717658207549188977973533572673025986759568125112200447172561948468430822252841685094636877780393396280506655307561995980022336360284160000000000000000000000";
else if(n==95) fout<<"645372245640166748065986362732952580429636198151080611549485654269889821289067110025231196739937412401391174198091374968046907589037121942142801464943183972303261262480399381954436525774099130585074630773615004925918719634633805620783795666567876769500515130737464083997085845598423113430178074077594983901004475830366879448924420544145275159240288553502791348247280995400596177857158123748081593569972966066582044641839209204735198590651012647594564598875666490556183697002398626982485129311881367214358995829944386652857892460545570704400253632960482312147912640048985288422922512049549514228903510141186797523594288191204222045633681938101223591117600722252418293599047705875743630574366415865954058072248464660007004748444789435665363215917437970469882838528507452213360118501951935481498916756874841815790045788886541748253875207001055764381182627241373812576361578933866855744743919799928140054117718393040136373876550411118447615573402052899680039493711881637573455880120739977639044354896557681831784651034469369782244528098663390092521122082122131228318995749754610942750772848173256787058277543426128516481074350663623959845401729665090833343193343841903982352526425809190427928532201465999020773044280354465189267233616905623392829804446343644999245811517200740978670469696949108730722648525092767100823974875878735878763937446910385638197107479016378806429041526630026071045065282413997018454774198373299313507550773666497291971726736050114799691321949449579011208816191652350700872905515322725657342879251640336754572911512014560583838692396602794413905671630618977996051027740566877899043224468674437956350573347255149920859645787175876202496358014973402771674549088344367180908090105892029793872593330020830959380576333227347392360410389626748783516498443976519917245808890042721235865198582618607981214724897205857974511695826459509410220466475351675816762920536435215071255823993716825773369063574689954693227707992845274449080604180828426586233741258741561172097667282062356932272933690702282955896590040904286530868376390389749048876478759312382869068910124142453972890606009104609350783857096630519785081975713136888923180243203163620879427476447524409520119975779459783536389280280479853681003046585687006256847454662304411046295422599418133159650898282804517107545941280986362747708101445483080857996904620774589526002365085080385300386536628015517621320790480713965432617212430376922638695241552619602314927521493011151911023254265956762744635327936538369345648919429352150693276439818970357176155299739574314258327645879605818897033781568468958562442360241736700048197165339613931447535806278980109946760241474341780247487441204703945218536249660911165823330997713516085588534478081209261369141067714739490255181076759121995753599693089969589966417426956762075590976024692241434739655642198235268975964144896407261675520000000000000000000000";
else if(n==94) fout<<"8657998351147247886327408709975017059647164474627665097276322038380128367232176426139256771303622689146083006699826023321993189112432885672776930651779776481347513244634497632545740485499774128837592211751318903610305549238337879099448363841703677279118961408371416661102119067042219125843373190656252039968415209072314555175033024865019371185362464701584470739633919736976499465188028436321782783541355179706524830463968956927735438592124388067507772357692153254536641153125014511595811904757114286692434006351160531350766714058643798876031714896793153581122718778722468178882560123962440824792008497929295581386653788644183196056856249735284031014668416316855546819453274069276763843612224611460734894928555194646270593065821749977695177258932012674611095877703084753833057348105958651598106646041174766982916736499719415989798409868294964312917174453784495416784496488165210310310092406733664709225310006474088673598711321491230403577828151113553850007118223784567340013559948842376363523712515890954820481139783933199305274482889628701062708551797566057917487076459392896619684132546529699052315937948319221720994588969738284428332927230204141850099098995948090159143964272653674828750082727084767925098493371216375377628958973392546723387354828581780453719952743792986553846031177949788825126580652830343914382776035680326941084698223058712315356274381279624216293346279966769734801326379759388433980983889630410646912406018924025709243137196914341713867045010199193280225443274130306767922226536997730639800181073795946152026830376500924826192567018116186288614090823147516714578625047516928298550954391583391466537252579898532498737008738998559266024673352258009486322816372472412424543477371648700957688162458736797826065405919892899879971778900346561630872922846333020277422948893160986812749720872300883163308046622079001916182321974791191211710924250184793010937337999243338496878655295307946061384399192336631588343133521260383725320625700567563891571580800503924135285901457871386705590590539678499395736032759867971095587208700228557910456607017554855243275100206626807570941222577822284492981415586485575731471585730057053589509930208508572548092634758360490933746915559911008349600776449397890881424786438536631266666293832509313410734968482716904409506968090864789671675356989211199443438899631300701849479946970773871497032642514134483099490974112400948360407428459021341247890637236443381920251058213083899011128949729908696862075664638815391099129344154754886082703329766233753143708803807343246508053981622280923837614934557874790041413113927402759378969446318738872918951332500877778541999948023398735279237918333520753062729459362720517072348765934396068598468872486648395960087027715253968157525145604895193687084806476489966408668921814746116524059375978938368000000000000000000000";
else if(n==93) fout<<"469548498376537524212486375984101195313543218948545249449118164559319618108868566622392605004876904789690931627633878429444901497804322848758184507499127933222523517399829845313960058564311555292167904563941628493316489548025327371397847766225881635145658501302619655419221646822839778102470538837338582020004638752767997596232078905416656368520426144681415421666878523270025148019165082373747753011244537549574695325036192484752865160751014169402378202470182841354918308559378102281087193484899932642852891753824396968517199847398960489966913076478062633438103550376648649721447002257666587714909278143491163660779424292541360144454029428166627759180310778809850711034627813903081663749405926792013561210202970532732511118856833427727364685679367578462577882428844719592046375712000640868410040936751407541037387974370787765377129915689424566966734817860919095633732222940077156700663420010950011673986589462969644363322598084230122351029329287182835786077723635039661319738413217604623887799446090275179539601369432455906976824747271059748616997684788665555328002713574517403398267087229093730760723289915122865664930236913385877665043400476949448873951694760090842094036859194219846556469075161799988350858724752850836972198067609825837239736932622097253495392834499295135318003990642257853137266414196533817949462041946487716458873732529127574207212938912721723963904255210714073568709190700078142429011290608131419145170521820901795515000066049648037608983245788175836798092783122257135552091840920895777754237963889350561422050567208549987453951512430413809966769564045862371749484801294506934937801183177493914970036745951069774429919622157387485713937412818505595551989885872332275555918705108316866978587772323508125347016335061593501457120490484693095899080490079965854947734758907921944065115549419631406934140870671287070539514854785722925324313180333513866320491443427895965247736742670333407328579028082244947874289730003493261978735526236469735374133021067408251863115280466661683462570421668165748769261307599319384397977866597202161921308318084951394819612758672229275855921801201036831288455239275349346780471134522964368479905762122041048885032975978237725971421849978638753238167237540209554273513186798715223997578131389011038426970455628100976190107983949687653498419570756035392627200086616315333069012575300958199927985582753267474378679219956198365649438982947746472568330630721452267014145128766910968266154976938012025318549372081391242175820312487601607322856680318263501394363747102232782213555832096463512691786720107535298490488176894998701213052020241227607549939312329586573043662016139334744853226607175198927087160490292038687437643498091998096597856329972363783904981295169393678824058650624000000000000000000000";
else if(n==92) fout<<"102955205456936097004227803752630904550662372129949786192727049743420384531729995924286325633401223743900697195977645664877677745267859198746645439256552107568049450866330429417233792533715795573701734926652543252182715135704695283880176541065247964106854795551095403229498496792793671357892494209165404522336253488244578225904932922268091652842757731430099322978159802364338908753819975714971492647150934100917312565677838526412926401872777769692934928408546719978576719970221817963019819892984998816732720732935036562227529273459681638154246381864676607491352192859875395300641676810011417150106346355956717900065564736947889730101256142532498341294731875171129758260211700434327039421509824376274380664041409068984538849712005525515577276142013670602729183686296106662288469237533776238485038418747975911803488047316021513069094227917005476582194886645173253644143764086297045471880047607827481188067926346480778825099977780527857160432646063724908618704919790312217548504844097947349771325716196555829492968356408118818804914431248187979911169655567249368688225361640956853863104568441343033883052598256744306517640761100824859179228317015136915339105453566064551285747447443910724112482682629719305173894274584561874531428417445427394570812212203147663393899239659848373369179160073944213758812232878375664038421519882105516058001796601270229332103361774706563536698434636457329413169515671781012554324811395762597745646830419393387114507936632538657350088487626178121763062198989191996872602771000609504761820469934046346210341714964547689169893265814394695556775155794304612202249518947782501266712791117107251145109348168319143776499729705331569300621913149585444210270594992776995360435118827896308346270137941067233089271776467818965783859450863181806670145801780508667858666747432320518163705754512053726932738084364683486047888691200803048855606244919669107785268225218807379738867193758562814512497808366400547785847197360185201381468228062606491606929287072291360007219751633041329173487615822934491255042140967704575646610708574372634044100001159556791742807719594067748511777479192917376672781838824253511990327791617944322117035561186038881950444348881673604144804288632477030433909839415894589944551502888383044336611892931840462762590930830924382780553409145399503735408327917803860590581175131992211703192110498376515953859253875825956175327897576822048178828493238253661002002298616620538022205608164835671604356122798125477357756808280516342922187556766273886928478573348820252374407468520761280243835782691305463097957490717575189570384068616299104064341029081774104551699353439013961571747995908040894505841403560682361380099273463558125622657024000000000000000000000";
else if(n==91) fout<<"91279084534218911374521903714597508342805472923031105899341840006436832954718474736111421815554367673375536250478366812457040436561980717174208192330919299856524828912832803156986803976600839262987596214731870492801088774517610314188911231521957901657028218207657368350275771674143319465813295059215945398622762861161244671801395521875524345611345578671254537435117065546870524185286890349314734501624700105661019530845801484448535717109447951123765696023439809515431071125905366224002217997881361201363622979986529815199192307026318241399645605002407053736332647757167196384537782110691510069982357556406044798133371017079183561222750089234045999629640096537475320139037254958151121809328947170764911836222632126413450771691627774195935305785863550962404022343204124568181445708684071342583945094971786987366007122747896659207779208833186873697634413837947804204172289294883824988040960279151373440623103106144579866125368480400632449451805150712776171498041167456146503482687675045774209647484489924306929796315684497202771313317785145909954911289679590386039613415218390561141968019984769024559450394706047010570629862811897460059620876994551554034415175082301442411845163688191360935009547089153561761508600365728707583856674670975799467043306091937525756903254232932589783710554570622390271337245823728938186170303665859342893960026772112522656683022787639405796748169856000980957914131834981403826894440814431908052114534095133453391830499381740265734044112382523337732515803746797821214711232008790894395919943243035124279204794811719270085251928780530639708851210848418910695418173356342767485129975968304388344271753142142800919750335002649995062342053935708788349429818659122085824530643864916789133990121249498187051704827876909111741521539509346232889632368410543937954335733001558162377778535307214186607249350468511024697540063914126957652858738010804859643226236670398474490577335021072708377033461454639178466900429797359065460346236718911574964655820720890608489040280025460993424095678754528857798430421324666481287497577236836053285155859748355315060283574251652673536823585020975583835240644019003877966087007333330566498996644208636114833469941013610475951449336919860998807467980690054889839302054745943908736089324755463111529182613804548201646254677972428660799002452940806073500108780122589698892020341944237536335363606532333601518183519613189558988322848988266221927497612768507146530715252342066268230304747160206258437644085491647430661115598512107285772608106876930758441155449048724546407682432562517636954901611247466934922104167945333447599188752705898423130232102645664615235584000000000000000000000";
else if(n==90) fout<<"327265834146128396390727886594326172730342991268116756036196457424164073764590503185965242065861431723149903935829422605157215700783742320159224723395150448781414182876502474381453390898080092100796280297671889267682477796917966695456868957929914637362903979605365105991983618253285577065540014386355787281988742383633529061028874108095941842848332624026340047024192731991951922209011233908808192340978186739355820719744335283624653809662815600667774906748525577752205754624385096404427584061730626327111770706819593221274028988421504305725489173646255182231272468495975587909487306882428251168950624232165424199685085931996803913869483572278836831441852017606982874088872190680088510519846498237539979730389568070044335375626606842886916017821544580438010458542798633403128545202873574792363322292547668634028581246352760948325304232121453675258083180602737022734494317934699421105664137332536331812120144759216258754984102080735819065377332215790122967813764138973649020367619147675470396542487093496434298077268418226836903685906038058599853044539590054989890917678284259704773286803888249498865233798151246788511168959719616040552674390630463844077903127416533250244224367604585945170488266369154245221145250670483273522880302351654131363225183860386554984492867155144307328384926447947288457169299258664632314723651080810738742793738395929012964464796987602742100694657934901940398849974275506983580950104190356346154439408130861021945784005085711519414474864122680487262404447598246944438324673915760007645949595114613371953862515392945209595189452335774116497942836373369592930617880975953387238454660373961785650233612192466276928763627242203617178045799852927504248959273003699531247642725832584523623199472706475718100153969445539686317163101387951699172004444460764213820736247298013421584667608647197883196152099848077920593226716228200636533303201565093193636887639937998510712866392560178370990756114317486204949840801064807621226031262675508252307133477389322148964848228660893660918866318305325775128529111968119673083302660486744323455958269611806615479187522457968463189739989855934740974814646678236041860777442555696573923430417061119434458829587335213482803495401866283492537877536249763835492174628836731737573188975029774343559504319569523466968552539832018178819423483047076881808418200260548637516519353464310991828529052705785649621287858823599852280672864870484704061791471319941120594246309979873805223504350360188384448189045921054955714552702527384840357216953814262055763848684694202112068998097914397192358226789012300890112000000000000000000000";
}
void inmulteste(Fucka H, unsigned long X)
{
int i;
unsigned long T=0;
for (i=1;i<=H[0];i++)
{
H[i]=H[i]*X+T;
T=H[i]/10;
H[i]=H[i]%10;
}
while (T)
{
H[++H[0]]=T%10;
T/=10;
}
}
void pluss(Fucka A, Fucka B, Fucka C)
{
int i,j,T=0;
C[0]=A[0]+B[0]-1;
for (i=1;i<=A[0]+B[0];) C[++i]=0;
for (i=1;i<=A[0];++i)
for (j=1;j<=B[0];++j)
C[i+j-1]+=A[i]*B[j];
for (i=1;i<=C[0];++i)
{
T=(C[i]+=T)/10;
C[i]%=10;
}
if (T) C[++C[0]]=T;
}
int main()
{
Fucka Num1, Num2, Ans;
int i,n;
Num1[0]=1;
Num1[1]=1;
Num2[0]=1;
Num2[1]=1;
fin>>n;
whatif();
//Ans=2^(n*n) * n!
if(n<90)
{
for(i=2;i<=n;++i) inmulteste(Num1, i);
for(i=1;i<=n*n;++i) inmulteste(Num2, 2);
pluss(Num1, Num2, Ans);
for(i=Ans[0];i>=1;--i)fout<<Ans[i];
}
return 0;
}