Idsecconf CTF 2016 : Sequence - 100

by Abdillah Muhamad — on  , 

cover-image

Problem :

nc 128.199.236.209 17845

Solusi :

Problem pertama kita di haruskan memasukan input nilai deret segitiga dari elemen ke-n

Problem kedua kita di haruskan memasukan input nilai deret fibbonaci dari elemen ke-n

untuk bagian fibbonaci ini kita diminta untuk mencari angka yang besar2 terutama pada round akhir kita di minta fibbonaci elemen 31337(n) dalam 2 detik.

karena faktor lain2. script saya masih gagal untuk round terakhir dan saya coba dengan menjalankan berulang2 kali tapi. kita simpan 1 elemen dari 31337(3) ke dalam variable. karena n di antara 0-9.

script python solve.


from pwn import *


r = remote("128.199.236.209", 17845)
bilangan = [0.5*int(x)*(x+1) for x in range(30000)]
step = 0
#fibo = lambda n:reduce(lambda x,n:[x[1],x[0]+x[1]], range(n),[0,1])[0]
def fib(n):
     a, b = 0, 1
     for _ in range(n):
         a, b = b, a+b
     return a

print r.recv(4096)

for a in range(0, 200):
	recv = r.recv(2048)

	if "Kerja Yang Bagus!" in recv:
		step += 1
		print "[recv] : " + str(recv)
		continue
	elif "Wow, Kerja yang sangat baik!" in recv:
		step += 1
		print "[recv] : " + str(recv)
		continue

	if step == 0:
		num = recv.split(" ")[-1].strip()
		print "[recv] : " + str(recv)
		print "[num] : " + str(num)
		print "[send] : " + str(bilangan[int(num)])
		r.send( str(int(bilangan[int(num)])) + "\n")
	elif step == 1:
		print "[recv] : " + str(recv)
		num = recv.split(" ")[-1].strip()
		print "[num] : " + str(num)
		print "[send] : " + str(fib(int(num)-1))
		r.send( str(fib(int(num)-1)) + "\n")
	elif step == 2:
		print "[recv] : " + str(recv)
		num = recv.split(" ")[-1].strip()
		print "[send] : " + str(fib(int(num)-1))
		if num == "313373":
			r.send("3352088021869444926891950968167909641103741093377624236972723921575579819403963321719395607414935119424296259000590734028637227143631117804978808058489009692980941935708272711164505318999596374001957603187027768375142131943205592748913966692752724324660232365947578264825993754159809560371213873413213425591919287098308248549015972319069198672061903577535660248809052685504627826987785290210221175072488825409429734143747251152829866021557919820869053166327464824734880470316244573854588367191294417365991507651158704776983398282800664563040567831129662545081961595407202102457499375738587832979974230235883754665084225722089271122880562040739440815185109239847788329575806594826942160610255837887099304764288889259672279775947241289098772523201180999100106486410079911695469546971405737836429456865052645999876061314449077261139474883608543245547110406307044810115316652673804758049679166934052668956535418593608450804347770240296358644972670682038901318631533380847515357800187588460906572713574720365665646941972989086185730219362523084982184275740333333859791577342870657634498601897112145629571492932373255949189437055064578874344455536554334513131158227058556558874674863437316997947117116359705304922316646958655059768959237287592101303670975807721016325536749995014204562393069776114687798373894714062481065102435870679344828894989203962754649883676654355309710656258855264695378771967726999390244006698002192900088815606875044113587090800023481667449617569961238558826901487077450016886008835174486401615582037499229290846050710981470354612360534310466126261999900769508180764224832852151120515477671742946845141402057886866146373078216705421589294369459001027255867392130044411475409201276812841326541079600361820834695286242739544197973876758345175123158305551624786624103971163992553137573508647236780914235697310000608260021842106974310269792009003629424173003806001665637069755046634550489284157050510368991827470916145952922983555645284435698508144225117583411458569546601140717609319779045835648648117742560444073393031525651478705739674136988615986317805015941968003352997939653123114813733228074078515848467352592670912531255146342365437271250683212857160891960846782358329777665399269227895543213703631279046404306355870659004044156823852763037790821921711826883211479007935950798215740284746635196482818468579848609327274494320329752031820110970859741376603501918510962309315359251806401282136727096593042238110455269248761329009178628535361941636499535174759865813694554961897020604729135460792365469456660126260595797219220859487765414177749886027218889795125592246736245961408340873371137290794304052067143819700746021373363782916386726751763359805117917627574888162097174291604145396411257776337105558869665316274259420498028755286639597488803307507250305717790558479936516681619829694122207526692355898808632752617602339841363366117933900539025894774835017880067374583157933868074700812607729441172883493563465620469970836944941881154652885379542180319646679610368588231127090527034182537583007170763447229449312896847980882993925860577274991887907948370639031961518580907880300379404175944365765405595195297909617149512882451768247646109105195923713031529539135159627524087341708857566627511659336357841444442034105297979735288585498258541299078442738443759719462571029331445023697893292718647035056872411924545742684025056168761234379818546564918590665435281610367809523776662795291902963582051313608015900055962220888924835181110200355628010816713864535115118534094454637484691136585157285299668201428606129865222949879704440268405108669601593656216458879726707828734349470770955301888073069888359443507072777916974464050247912403653905903647642349213324384343337661153979457016676728083697901809278804695808884942135197919559490942786676833508025104562451629591252300518742851358942058045605408688202750823074601032815825965890844877235534556542473560323924263671804572617820470791711826619337731109822742939520415828570883552686321376328182463884316239840343305663994809779948012160259751028324558845259145998761405680058945431325663024957573885218966974497105491221538105789430906316516908929888764942863521965813088858860004192191362748681485103838767045412294464036206796849507264822504253332550571099997161955048743721529289675163189447704336844576063893577034763018552704850805181452711762880263422891410488510170400756903627311735633841832664117354708116655239357599012950829450451522650512765618425150924333481166711050029775253184973716632839912639923057807778127215204249431096214630989930221846947610612703102304884857986475748886248066784913234659281817110990248020977612668543823652432919116283653352538998252526095501635403473186583310291269368708050384992981810973165045935777781302890094969921326475465673017051992896574986570681563148255376335491588539810914964785482714304823278054433421349849515832610922472006736842208460398119218204406407204582335202477363970027854668778931402078108183984134429384959750289201498321439007616928075550559061181183036858976791100959103236971550085466270479372281940830231934019663968371110099872138766107191124640171711519612147658521772634120047244782734612702460763686851859990323061943019458080981169811107899512768946170918265147749169197944821150644788126390037340222091647580327293810959363644731092313767485804084431990903449921098494393402459045426763243687541618926816048681364711624789766107502960216972312033772500922845526812701827403350860301559356924883347350841359692430772916212691464470827354004480851151348100068986287277185268761516216486756468225266937261301185620648341655384852196963954216572249553435096138211642917350928329814306875358024729899414659344958992728565720514948171081281133512620271960698761211770783224626720666498713396561124925045189530816226316782683913436857309613083239129389253683890919720674965355888814229624577592325260202061628808822700667480737694537406802132521900322735050114734232002665896435866501970312719736563527169323029939471846877760271940329983053584497946300265505444001367619513477911429652355255590821484778384978925269131335957089609391465640584690301296398846040821397258019496967904101172748835431622217711587570752833950571614197123873528949206862255539850114892148059988095576947043834449523136445454860122003763356275259017278848131327642633475961398763579202793408994413245174100404515912903407918297793554545181470187650656134673702167908130103039460609429668745225464316342441208820842945795419445841720052781951783051159104037964752553842844325523763576265346361646087634277479676663251742018736300464534568067836893933640287777696267419914276525881283740496660755293817270962319904859532281169904998059620356287858774130707586052980750871392953149055281681166901496541386233165439015554432219322680807417528727023587095664605769667280454991699249766350614992315297227113807736818832616145250705170964114600881245276862838446588122651511262313659596065623072938683320334499377244665206396212155331422261023877227331268369695921839282637129651222933642861828692239298375258033875275511902284453907128757930375854469442895339567741728697284198478724559983128203296320270429356873859776982805715772868357938708222349096972368029399377764934012176553502233429778244449229290919037968327728709684080247212826343149793460548283920977798680805615455305986594180907842815776461333844803174106341137439361844196507943225430584705264588112325879516195576976078867538565682803871467440553479981449766955470823939693328252014901989556900743828123735170224098078061244406026983189891755219221271404609916157775364546655785270568797200486132752252782947414149460915873088048422547153831366460934540183151451103596059524111681665815806148561882330363906879317968750883447637152693165618226486147667013438361754107439397494534079482974000788058494998927476931251640049917873758817585999202585921254348299309179864706878263860741035324690293124994310679963358508029742337440754148444833239080901325811797895559977689051578257708802975128125945222575104892598828885352504331707302576097780147800764282838066562306866389240048301118948082311556436423742188654999457732399979684366428964690643013597872941100695299769164957534111975668259619726884407750007323338461394883907993094559940284288933772904038229321602789201480003326046721312154592180017137496807266521814181162883024034582395388355920705061971853915062313066408117046689095681090418265236111524311094478401044332279928018369043153895159767735868329397245854739560219637942901545356278867963170276623923833315635676374149512334181544090304198205880474691492042923969171980771996198195668972850182859020188346257993860968831439691532835109394605838816377543627411510550936154772635243564710672859154641963391821507411894004254776057757345660471360037452182909961999012727108120783079873002534671902426592273322497736798085123737590065439279705433458033820397796176666813766734479495483796928476681798079464812939098735792497490441140390891171730669307724782035687176475553950035965201524111310683669049769867864231502229820449730740117498291759094654827288103575174611904564450001769390155696017144983635627822414785745376569157989165226893329026518081843160915237528640636927764846985738219947985736459367286291049850997531762009487324131218110884771084154882630303887326208520407541270805591895259891720950645746392917699571783042507791287547178951225960670621653822505960040003807905925189054835158041416175588430974389260305558347888612088938715096504381140725842975255465902226618477125909903595022918904109051133197534969099719793267471932903352314092649670776602089896784766181141854573745436082834303996030323160812127412664741783581673228191434845166108447784111065710763883042343744407934301078652450084060485788515105584347067907287246382850123899567252270190873663010071133021645433701946958196464905694447317181061573133258756157621585407757012180996442848882949509257579307656563105678068961392992603207286278340678860839907331997725744190040827585653449225176352087252089586370386443429626862725321774551965369238807220225248778181199573156006852109334413482859462376001878978986986244376292162228939999817807623825531278210575832401300457406251527512185033269266025687803634073219397987191692273260067117576220869897633800609476920583159302968415627215555913141619247692040877686415290951763751424511143453399456750651548607833207449261261236045682195533847448341204474133401787254862154724616924225083341695001192508212374587794288155735655313387154307248453388095335527215909862949849841857123320937723286169596523829602359147184331215991968687439544571395720502128642073946005398591805881054742951717495957403182591424443793438847697379306604176894371270131579856850560925073904243219848109115171075938887904955683419768078634555959004708446646143724621048671929333386262383633872351132146876506257599781515125392065204622051784328462998800505460918960332253452711772129819310153853931364417481883923371338982317944520237537020988631352255448661655229500547521914034830700968271240561145939010661555546805750685897764494508839492955494847988881765587916108167690406493990837483141317062942743753780707442556827773792125769249517717733500183794587810644184316264870373078145141478645917262492537164448457361264001076037118544745891702527108422957460564134104694296144248812383829120322511774086503508808331648120258705633282501343728015586503109088366574464364602071884259955079228916817974694784665079582496028163819928721334962409276085397575273792787397621009032382944752674775770229864959116069543749399305335574513829956368415254632099615993022365250538562383201898785524240523522885211518535234367268665529436777277984613682790421809646219804731940568891238515882462041689806932187363105454673898545468343321969789686867838682391974358080007093944806692028442858100714931506317637178688455130525577998869859372485270704394050785435684212892242460352266543375374328163322648762667760997314981190831749791277408469216755502804678440685717584335392590946521656560008620733334147598127868992263333773719092703969061012974891339551683023387543610398994208684847027457606890766551069654591196533558188870294391599347500260710977568764167077891873159761141878755559291470298564202412757602103258503919129303384706609165446957182185141887614380885646677542667248119592715203598419525462625686948466608437453836869646183574698219589395164664196104950542316118038362013844010751827719163534059804558580831454574053062006843729915010726087548679054803858372243522083647523900950786752830712147657155959048864851322837432303551150713747682564756684949232460258477174876345357589055360170190593609846042328350273790723608562828927590232667299261087756953539057977950338630695703345769616220140031287453566368022470254092495412608258299621968072457803724756258087382747228015386665083199867548870662401871440255607267526069177069759718584134959113117664163903562559563515697932989856906880643579609484265243388207583483039171458079569045829851103819214849290327769625798865720947835685534354425095934941216564777038442221200155248115191543080877294546923647246422151976557811496451044979968321481454879140081770501623524422298229321227128322627773517918582355242298272235374786436183393744402956455256375157910226767997084637073432141005001223362159298452595349956121895658323300307196994923919946893706278993274156573325811882726957811443796370741736575919769145643316690655848058041141834690040819624928886130023144519640968424997117478574865266489185200169381148521550067561344988236677176825940252269879469445897187186446269708044591230263753576911088061632018995739467136464674590438178519767280246291969083682975455859560763522071896361630194306718268437912911384091704706183842214390192518468283575300732868123677183640936573306834179238693047511273647736528604985690631379894427358439353045366510853737334928572470280327591234118663053143672010173824584495317876979959899289651004241640777913234405709463922490097684770741005389449422264836376711980498928495492836820789049965039692313847291897811941004162532444594817890035532633163519717662235615097096636847174739869716784204765033537834001039728074228421288842072275860107671040260292890562587122635508647913709327994228404992030094371089760591207625361338773884675903637342308550545743296513752461250017193731523639059518961852856132482179815736389575871595350848709286864136790741119474841879612879158494095800132973180047035919031416356852235513515187850467026963578335721952367453305024570956853310122530017909222778873277563033306819825783813644189246113275884702843587181794435191800926152166490667070918698094980727577060017304491090998685545090257069368537854822772471538751049823908618341997235797428783007632887075933999304438638195594873745702795265486282063317441775450625983725939861914812844587538965792039041030866606940658473143665927580158847044137263167519225820582778764891768331381923462444476181296285797902250564040597359671890635729052212853165534735157228208683055215515448360469432072347680445887723255097535658862362206822112210721936799492488017413003759558078374887618866981064771807045858478560728393086958855790307386345690799743881990495025777460620603934659763717707278499803695819146478270394284670137922568267285518583239604993744855109574590819956035299867427292509668094063292908181941615087719218718346404003024885158643557899443776409176897543452986352560123227206600023263012603362782306165324391883415778691575646171759642500123875861791195975322472046233564512549783709946115889424802658282258516821337370446015027300580420160352586209702299978094714655322610834668193548876922726228111723441818984411222305055403078601424513745091031772065708046134228258968173486061170125722421207487438794751873493531405129703976004415547129937132860931666113425588916538157903565910776568986514428073437430838830517136099332867159393395226501412512263806602445848883823984246157011559919492114991727607797939403311599617926061825220034193671548792104775099218852220619747093182257490335306518555110224256709533203208436751570405026325908702357916475480538252858029422159786988122700448639557348098183234884096403515695534420163383196045091027943532510389338668281286265516687363448232330098020420282139116226619403456720222927129607848598850561371691581794043697572256914735819605421975639453620685473143816098213329426096260397388155919369549382742586112070116847729254466468326407927203871259788916887555110286686347500857866748850336959783213048007230731981672603009749906813385220758751391146586080715605911054452783957661016256657848539533725494323377410141069662190565677732885878271775943351628410623972663396316937938021743498273608548194581049515509121422033016879836248787864603155690198480989027931695435813990574015967933109232900002248682480049046010821424154411212545440785632704410984895535185473345150822862383009499796804044266451045806331270957331546464195727818657016736813191431939775774446284884601203229771717111908242392682084228694589453833764079332966063881426070716883533744028804259917264818870959327268402419594390352830014487474735151786961044462355274172904980268021008178252417917516994886834675953250238181096310154349272475605691461005603202202132163235588479746849578891816027319650509655685269637413235327989914016495917354521431599816943292279524075137402213197910202333907348003376485922454705336390312479944113807995784424347604995783875198593972041127444547217073167238482469837399050500193504732372790664266827877074572899852836467178344309830756693954918568135791126916609462893979495095935280916611492877364879126469045148540075376196839166581005063948998126042088185693030937010287185769543961804005835745198147130799596369100953983895772215170049625412212764743997816664218256206247934839362216043454977835515647649355541111698808232516154018761391763515979924654353978861648235880968364786034947492146623147473506307083295640171981006868575132651768138559091905335736107210431094299845497469556924533966845335315941751438640845061279882998325824571320887606739699261190221501047236100377063192029029561792466942314894221157752907280967765886218281071489114120926777843507717040244929130602851081862957401192525941967872070154883317468130406884060040077793403565895540128344735309972797785369262976490562350415260985321112769595164394864849789017631532134478763842413354815291693589463417001447838010639964015928352035462833602392750409169869766027995874848159190077970537531053994601663673247266674667659607468330983080383122338563618182037633728756046763698186780012042162584757060074451428115431925424062760319498785103934578689821714947645073934752659822161685865193461424189882841321599579124879441138364592703377495210450323291384926565302935735090903456406376171610406085194516356390232523830669606647415758679302939113009674597998467520386859984338520502830715847621603477822291224845330536789357499032799170828743443068513812024983356779900270587577778511096442033096685984859828664359351238300176706870889405956577576017303102603250555942563346154498041607363806432841194561217381687602916385304755767600819582126468515913079355694675624770818927853401884846946055364122935856506880896559846219925691034851802425759673678652912373730281100955598931784729675496150976498182695857577849868896201021392368250772602419340440899412579889799792279242364515894821355477518688829061799150479522251106577469073138775834953717781425160069180452096515363671147696597584580447763140135843038231568586786146300719322254029028435911000802717077156388813178974549933458969713845394813043713164018912803044073486771483796999173867478459382102685973339779081436434146799506819749975646753637509352686744644505414801855297030921603263888267265075666150465562884490276388588735874950387515945061216630066316848299805983722935465988991519875019068135008047428975620553691442180036250437306888781114888557955745066450333819396664492262833996277301050620137157042517820555269890463440525570067027655517980400161306719979331840368879455555411667156567267206063492042336080113021452321276263948553258728823364053591844531572650870065488256013862373388755846150822819903748006399589679437056352243021557663070158891911190309817274179315947025956816681685739247482587787919254709368316015448341602050921028310613988921489192861951976581325090694824814111460396519505237972002152043507224611030728801876773070386082587958701019734316966209183737707356493480074211066303428359652803174825468303197309002673954488371924754166183749096194324177642788620111616971219391978855587123447919465924960376287981183272671099174852952171885492890301245734119827945877697760607115693000374939374338934520348084831271138486905035703743746471666283954946070826913748237115706868985903881758795536196975702737778755931733870251444127285325052229135822133708647814716042009096725562401217678879057297938786410125282531603472415281005779949830143274638999206586410908016630839924927544272057304374142146078959943072176511214482641228998724285002480366650057544205551924840043782128624259905566670570140517258360693010086159433512869397291985620299187527516525902688452592027049008391750154515465501193567218778086148632975426048002239689945248617463164431977841448358908132936023807947255512440289429977973015849957438803503167501826492267963427266491220854550981760289392355579128273376771744923997409804626287725462353085844600548181092701413525803450769652619576336938437419697195788526506099218817744653194810886635858716318495891196892978245885158661560944348211447487879044753621343803846527956750273070498309854180309146049606278112302312342725391796042360560576576559422194515937034408508540627509627704662700707410151310592795976950120500325613147685573996974172999206109874811832339488828544507751853783554852580192605345735312636954322249464101328750270752437406979525000711612641882045424716428411726737941858088162763898444951815027987162878948946270674762141041138476361100684654946189901830508626858421327802666728205257501767782450296831415209406677207034910953871107941963257065244454591454491143373067125406486630832029324515327712632255781398473239904391104950204229720036919061945816898712040103883230078366297104069280246427503549437216931594851304362782850657815628259079024475610196477218314994139682886784085203580032647097341025881118332645186879353620019014590405612788094381055190523890442528458521405271160719692442324162465982195556773515373708848701856526092534136661063217941738392453351256526782142122338525796732998037636264377749093646711180407959389489534563626191909307761362687128698341551177937541835605825103046469824398255994980628401909855804581530647827113845177116122441517798321252032046261465114798504785110381371500511409093784754443375746958629960162371473105906751075764758554505755327277551909172663266026073906769423998931522914679718909016901465993821289771007426602396343959315511600536522821157385721264386076780633800426312373868367361572031826642770323888816850361633249716244265193158338931270406276689089210181063367452993744967255576189199117000915152187886813445962935309713185725848723812942235860270650195855908150379856811996947283445605616503021011061153680220607424350352242904486739747053663767470078452883222550243840389710749150286625310634821841550644221941580178419720928327826134774150958656448919474811804782369355766639538928744355905952601188740585276536260625410166443577204517669129730396376831283058834598164705288370482744087041645595736014786764811966113202930610076864502519569138893585511833141431594834924753110715755333997475766620578840253386808343360848385544649591938832718403068931923118818719259470930693634991304452759236883662071210541965076694476399644820686803154916025631196350176443643955370176935470153934432687310437461983324264520313817300871775873323752943943550329010954769173023504786305712193041698083003848406241471067855465665753468104353624278182006774976798183989087602335485817254230414127071702263511404847941003436304126636549668241820046222652112478845695436275237019050066127961261648648382555033620073813336247094900683904544603500223341322953144539520376113890459917435556359180459276874571900393695300908391284226436516012400298664790144635096350064005955555574877041822481265565376472644220827033622909663597838327419983959438174300130663971460467430749141136460462841853651071893917022534023270323242777717318967747602721346153630649919217901607002922511242797776657819810098190215487802704348343790404930146222527343907783789468816271617128008224933317188983472568176926590616049290366469428003730872068702533231337620759652671854511987389650373590776939270326087566045453955024242563778296165765806047852555542051921405782101231632102656909679644026470856082460385481848619039986854270963404235573666367640593184103205616803590542132252412992785820778576027129424551985741124013446629708967601496507301545464642715093622379380349786206940313067729572914082145630782541944145639722226934484273804499794202349503607805843630795114133276601082723844833939406944927861376528571374672041967290351524736244584363945700345977837420670948557993107598336131858851134011737820022024512890370898825070242205482339785544984309231234093312259336431048827366473473376062446468728709982232757072922145519422926396206777463008861739443201207176358224429465097678500312625874852673702725518558992833217805517119407411614208248686058895684836026101630931075423099108557465034171381278560506262626909757860126980683700072039708435053350131482389742541187989745226793425168382805458162987122273833048651670020579504161310066925534378654358616049560744466317679596697305150488092500097392044948359728821066074162041963312454987175559110259357306581641297692991785553871624013480329656819913724688148234889705323797967123054455616971348089071388136790196207055916646935116490108455235149300332002103924382533319114826823411744968732326335884591874858934525287360781344584938109241487050184977850596566087063439165110090372254079450520141775400542202179873413431288483334733286138472741303241361537288055430146022608872504403356186293075195449466136686790086106066992280013011591540596868321569560763192108768667882261030592202871211269723497780298460709130311311698300980275789375935783478441032057777013968914098215460811551716260643320199150395376277163370007025384062233304148718079851898082423512797818402741731737255411707014597316542358076238125149556022420461810903628940515353999699286603695880283730798358665920817555876050566009625466333799407305374394256874205611933824965651933807458510740144040766483657160046251510312482332817366135189208531460496851790308320851360770782911541211194512978840672043921178066120222548990516941013271230549744193142684661641995554364319318059941981175555661728765501616515039158849965236395341047232232501361909160488846968010535117685910165281046240796951541980067253234442489960298841053969104276211828727042506456037199526057923670961942215330527990366695563452142781548830512312377608529580909580722261400084507939557418955961051231740500303967480539133015340725661238950867492975859934021250054473677250223007000258296471650672380845822762542921731223619803099465689886670717240380377623642594075341605888796789925147754357230346085368027303610658389077805825651988014676829162253169799194635549675478341677795662381814644720028485977465876498835171976954204825525352062341048773160577147101045722200927397059993900173345832151104371881570723012078836806995233168939548557632930041949058890147988622858204381704134832878256489465218174093191687553391351653126842083428481583063935945321969863279039274262909838032433486992705137409049101887463155895811822390851801721549271841031495534275662399641074862967296707795885982004799692965012346145543101926841284572618111785804004334723366485398459881554001239298746851529024626267725794230589747260682971200018471308798041820413181804799194076830338139292266090132325248735434293317683215061789367981825966062733771209675648125904374295690634827060444652082463803244102688922199525140833642716120518487024098419873084561178281940240754361635783532960668894478047459855540908212748558282894271724556335849587139904216712794369980615627685027899836461106050622647491308307773585704597888862545586940489222443397375433957019672008736167860684858150404778717520183122426358965917990519009645074489088936094289898871014212538188402908106998810038898343367840537703973854171076597033268316533633009690198197344526712712688469057596140402076429222380408048179833506083739731652305671631708373313147799684578632116715358048799566256400253788112625227941645220873650034608068313553874909048166624022241354231052998122675452445172422239607874429117479907390542841707450443796957348557251777904416226378645551406972318667745541098405528105724623782080459387312058687088282888076205811147022099488903865379817649989745171402287170050151622431209651666146757966344928803285580470993796359996422908335742545192404427366225840480922377610725999404282655652797507707052361013762841672971760704626690179578399787266387601129940157757978827317632242481487461002691544077629812808918255344052112314564555892592576125572619705423456142081248399739348752331246889212762346052640007534186158459187482093469560680027839494949170824242495317758850130416119914074666268104569699890488830507067307921502799554217058781811653472163388167720972029606185039501387813879671901402062786135496725174313969818053686629420042686344221134638490823296155808937643275225942716420183691181840300677094394519591455345083309985741752188360897234310660461826996345172898184838378285645883941486991349775527452927843766040162154258845972977028119878288925053698049453294268991210120640005188198123468577762948473903579589080112530048811375677714947238101162139292521506948879967693230862264925398496835715713230761009775869059907622437710211611841994458241455997497632844945494993355189908626046644596683266484119010877487702268095851008975128433192675234440694504504441125907889775741317394659022277893363206998576697025337797091492630912274141301563423897722355543466839317676915529566079861822823189660347388417046402914583913165799992863448861815244793196182782274146224874056405923472406622749473593890971525085844625141074458110058624791470586685584211169178119482257105651853100599700653590229989307824988909300977670864781102965719452765839500549294516946714859504442662628271709985087837895039735214143130469798280869286253519193163401424033629179023382255393423138743388759738599111776440464003968315493099742213746336650787871659638940186522024155272607968673425702091293624272659375544679725990616145670779893861640329103350770273539078783764662770700070641132535405140595958684131130420900053751385517432304249519855525460683587932751231097677215124600451895312164846053090830666852285176217363271586447350245948856833375157154602171105082573773888950320057800340011405546633039032488826888641763652031890645091787196067729753748620145201616655928539813605207241950597807265729962163710536556626129745532051255731752353003313533719781231078992153271500565764133910775897670223100668927241688152280643688684514465256066830037561728781249545968785052147972934529674098304032753909039757652904264486536891488553500409779749206825581654348489926308241229516044916605110767936365531606675981152711688235465752937579254593246600523263308662305291968373640390872353290642091730454456545705727161178185322885698186195390397907317779851122284090879095211989988036697851723812621650780636258455500167558474572915769764335763133900176818230786122188387266195814107010220346592652619350755309950051597705988587752270311858615596361811988620016543441253300730276022324462118530084664871096611910655737249993849591854427668461225444991075217020398521409437386852851330139782427175955760603170947256007428725777626343896704777832833760771982300041542646577076406953084209976781352934355428133308518630110318781803241953613350071434776537250236004885199463188650878440497672539401927598873330056130422934386669182491308284895911044069453690992362661046869660165551961307730658568953845829673428757664981580113332688381443553577068708775345499835962607783947912191161340950117999070462757647808773379198510485494863691345119006428525368813533754802057308985517335557510315051899261683868621124541612889672427559437098131465689666423813464663523115780227298050700718649591274588885207395325958070973044052011212993127946349537733496779115774910795168039696843940182874493535082035181985585409245297506661659713306751458575843936573065786531869325154097881138642994806302236591713734610706809018066748589772510821093519782597142742407530365456192018889615311893632561501875431176032085474324584686141374795218589325691384019425248713514201459795785609304852007790227297662538941961795889997883513082345399343563140103940578407510935187072279532888631181102801604887489108954862446584251786353263813058664079046163458172575166481179640105052580010750698724174053477796794220113773632044973637658667718695217369690239170680206526424279258845722663494448106361813930097081311318975031612904834031203567212757966729053163739620007206452440985919274078569831528379817453157015600969800642825685216321690036115798557219229962403130382982340215248632509626603996441420610573193433916372201951164005176215876382212858298766665507514658021910940110805071885905117800713874840864425828804796228843725144767633137151931541131202097928166067868041630891735434996391181205859853902371736496538909056186513242439913313587654267042833957019165113163130809736044083887375355008701066885765538317776110947113342163965709069324402331128040695890102991420021474088231887294634704942590349694828788378045416420611883935967546829809045882022939974529172632679461828596599194291199413966388137254313293237932522301556522953931870888328830952214282824507259475789498605480358980285754571997016937343423245959304993926788083559609720076283748461981035121928436637248802595142185051883578726782739899365944803180116813715753983524988565636439304672866526736844491563659031270522288598272990645985769285605308639021015918300615962477887782154198677792888094550123053987777951115466289598013072117739704036588118684209683990565067943335247636903659538122238191265851889695375913647640611769906169131450604407154326540705762535734250339115417904354169397348949214089355583180763817358695897262631552624991349082691589783365340282681577733438395466273833717964521922946263423877676366378373819261926602211155127802230485301278370819806494368939626894705598541282794043271812653540202431719691538725719921190862466181855837379767060820952490431800271108597206254257400532373827739369880829094699680192976103829055983951165862021402899403616573591039430039055707261960041133290768476563438214012335169851304039393948810421741648346842950075264944500695734038707308506472659528749856028535960660383503292686915031586380328339940633581241801518743584142884217347312727357654095020105965322606517047041857312523271316101393032433082689861427939817082392535469345560258088724930806794125161410612993573335711095679819622687285987130132810606472768844030934630467621722422632769352471831686080679528874648318896504463336679657520047702190288380803913008387460328069159350712806415034461814861611649754791524422724314718507238031994469860682929158712367112980076395774021541427625971100871199225738689933676114898771657844012318750553501548438366030830801233886213336734846326305630240036353661374453982698916016941171728327588472879644425276452617484187793796206973122719911985910553592420780033879059442250468639170114590629925549652502624581136059755442178853936859991284129036137059825065757315741102290511009655243812322803472559086655946211284545674638496048937644712330816473697517331125871490179043233612614835804385046702692304618995200826678026709444036277087948998834989916415845255642859533998380776124120738859358759201820011801372958143981966519109992407223972999587329000569103387882986906721344957487959929708309151141003021623435352674251817095710233712391360295390123575142041079477645992040972547355964710006228258319056696998314229900376452247174987025042871330786092397432920474901849828527073096120311964351873145360321774083994349624651948924272344012953144080634125815984888358459165420813444790870874832188517643415962379215293075609767399525323672112784515950844770640579039905315525218380128821574375019281289935430947582837053698899801466012724859036556936431803727242691344441866133399294935974827312830598105181552259331016771568845742899269029277743627922237796617072496589856699938455248944069629595639832732964156847137235557914364989492871902353865649297241679286964679421519221890296309783473033948715264691694580088728341324616626175855429884291127097944656675462532140589014587148275935755516851496101508072911630576882906622576156639476601963620477228053802206287195146210958530987723686647813534024584234487924779207494943381381711772341089387027514380507234079426579398663856393033209483933968299052601575588905377091647234348485358208175886501477184903707276197520297486631876255573601787475422183086374876194696457669194328556622910142033671749569353171194599952425584392417281179130429459219570604044552611857505127905393398535338059919141718868810587752010838230450301791347329412072694243967971848744064808349055930986219048030471440246935301392048840434874427487583115277588851715271406332523801249585164272832131422569247025506748518093591418320717487087876839722344792707010859649516322313557768185073585974767500922232997986819754126368163180805303793060709339325078724825601214216217948463721511025295948130103234687127783456896520973342840898029303596077076141239461130332437986487170516453847624250910428163502917626608621078213824630102070834929473855208255386532939404505524130707245821379337175968603213218559502640910398157149802407913459458732466813336024837710464804536219875756895474518068326136545809242577625758865149405477204578130433128472752263505171941744642248968816338840725500087391911158286074582023608523131888785973248818208789986530911743255182831910541168144916455222041832042288984548284197536836349455645320093945302034874670507077032491178151643753223217882229233949159223264639599525415187879763454573803805130020648696120597241065031461176740566887882677386276727940101093596673133535670346887544812136345657014905004713484347194168083079678716330741960193227634249649736618540699711617030644237863986320026832040613364869790666351316944740987925874179935990829122555842253009226851690415314341624778976050678527114476539623474427346042369802249108739444781146054746161048065335590885921927913298618044368563057019985293121745167105018400779199622417723942911277560318952615673376221291359336357908143578964572020678748817812032597814901567171512795391997556652743055150344337114407365388490589382171362629960910429722223542807837546802595912355336858862089322423383851664183772914668493918418139690227683037096887835736087265978602830787773857021368995449037180111139353619855666462341815312586693720573557089653968253309151583897260548232598963836505447841982045275598201904605657920623631396793136325856290632987242835139216079523325392355113646244591700068488086396274716013539153726075918812510144165393290491252682777001347975139321383397512455814861674623700620575919997705897900315722303530118939637839652136926580492493539697471829494807531813106213238187124583477517817596537936526356367840065107055520226773197168404423034997339345608711442221777290589742088342140601530228235750937030205885406965647623738822977085007831910829007716734304187519502903147454462657865242245356073833552333650640020104471332082065134854503220027531060153504170373473276629924097150408086059537450716092189262163718718942805215959116592205747269006232301475462033405531397934987900698149150330107883196154699996469839777748858572063232131952431080555535848498801406094129795693060056314861306141909308573382430743102965396123110503242527244990619181137215342951492398221340168999124813411862299838632703385703653873893166105608232729133430619083862063003831212054208846867416269010548992756967303530566566508395675112921383526421956119733887437732016929852806733856338207357589476705584930587064043313049816134784182390488296848951599305957381931957880380439349231909149072775916371148503771032907013057760359158991048256845085764988575065027079942754145845795423027471268980964203266137258886091115237190352016327935738740382650747399405890898178972431305596803528937889046679502058593172066453319838990639354981749372488874579844126715056613252739795219009452430118911287817764796225691502427000201209277706926261630412746535037466950634530170912514608580360536617737555660121721505883922421011290745487241460237116775563247462135641756936959249726906269996050713873475834698399742967032321465581843107651825994092003528015635005621246018550789251351756952893670950248618104663567644792548859613048513940313336811101115328360669094029696680949766864288870661191882202855786945947014764202602748838032824859970616509454104665642161867939695002946390230324180990574486427093981773620374205229881030437734525794794302315143714450018534299402457268127791794609836976824473089656596394288509855143080033356211584885861078551286165930320792377151623340525595587665029023952669322828924862053807737487446506922361622954098660233013880522048997704744283085738878746395861121338281260499637565121589510051626573647989450235054243121532020871327370893142420351357474091130495649294736728796392145843452033602854307404642528847159825873900911005716552803379508659392395764843842438482297304003097656226428505443073976726144627555441377030270304667447892165049105321217383649409891900316436978803121271958933097271565369101253340625255364615382923835936997635696935082636030678082546549815820644001969320186838006138070193069350737808149948731164535313406872443203551897294436622023949750619893010470180638473793682684829458699149968729014926938274082033069340877884951765232213675585971163118099985558560015483000270583251828906374466960473680649904565784253018031432112171664222438150976445486700731368666871640580502940497534123483175584335869993333106592985502852373707344469193529524162571248347325841514501482501968301261930528729292585728334157054204631694559836477096589297916323572590272176874238441100761344281863257951051199877666348911210278871370384692313920511370208754298468485452770446682919581754782484232546309441308775186648295996702353986724477065508322440844447112057012157688948575831067380667064956536730880772268082161949045873843153664973657530743115267946320002657896583179977235355122856934889031731319978579084602092190814751057360868518607303835124819443241589493068510494101175785461374207870168843077461771989463959069469465449983421193902040262457768330433521763156005948872493933626360281635627425567357571672699984875504030975686324315803751277314667191089828275373830580520525927238934202393075973886044690811042460381265819614853834365998775156559672046041700693318424760586805599911456703799611805545789959899167877496273444735533815055095669868185412386097915751379420670803537711678612846589559379216524731282453627639019186361704466667421017506224857689389399364260845662623456484515312118400208006947074660582901810630979014541683579087683235332293096889983042768148158645090354894313553078581539955846307709444794622688786191505613029624708552084320208065861460311582270893095359056348000718995008856987696678076217210010219263760824261110169487305001151554347642359833792333483591105521153425188405390020114416830713447414453492840337167423206338282616554308472137694114706109014681885632751470141229703074539409658148982160373032238854793806264339252690566685114075479455563617142685145603361865513146822757787177916499402672974183752652154020992927748786914975399361564418769536670211652162229842675703470323205796879823465113403284747224416631504288463791106444043354333686468082127948762322226559806734743186137828524215032295568630677723106928149017434017691488787545437988696176112463520955721054682270594174027581170788421574204211582275160770167340750325260221445349277641953852797614934107911380472332845523226641248588373175500789317245900427948494016059735714597453842006700021239162076035976328170969633126843205895726356127493094004336137191402582491805583373886141275606282364526181505276958015158236625846015065577214733611326629564999680092844642648875913518233159948990637278830603806101661456791614451200010505350679525266532325107833147726145158357748986751918338773724791878131732772889165215435384830155709930727086991310665970001474144913720808618383710596825810734409674462882548287207130733745076817868937794812977312214569448983495501173772385620304084542364404307892207767181904304265389875873304092847832961790669839088165193924832672997093791923904135117388080561876703222284450529552486479640291025357257538089156665731772243691158021203230251779000783468322788260432891964392042032290838703849837363629713397579985308294889301448246039498508858968812693209074447933148574881510827551958661817042657639335936999038081039024864354364152876202726667729314459310120718450982677708481024578369420958748984855146272818731362858684902771553556851415219277690726154468570244883513742952985249749042000953407291939092895079888561650942855366919754985934861091955235549417707950033558166955422670825013937413500942092896065413289951369423161782924161941913708033028875519372279879046781083695891667737704767229072307029819228688002782514416052282509003579026595868505394967861650846139176250467940694805560778581038173886627121848589336101023686694729529631750524865218262034047518862814639218145773375526552651452952333907134707799971106356296858755247558356430971657363275454436814523248252424231746889707063517202914543144419714984367138786737147643350062598148315948761083754814338697086490698156556150552382213211009533404610326009788896803594518810955425381123056834150247157414064037732190871101806616287202202034656611379408464495046971924379447558584295285468607506551754025865085950096051686787572556366757713123700436938036517289419311868711985783332061050052375871614684608892778027382080221959007131101882132988624542521714281421143990503870252139373291994473979132391534548449183532687035606816187663837795333518998054162880067207521152010578600452100690982092371737125183403221278497442393390814524564206560511441047615659124552597036929455098446062237379743290208082114351586229632211999600774641468372374125162794801383841231221614508285039033234213066265582927321789299099926237959387020646849549993608012657543840759770489323322056674105506212106981512084083840349271516157393920748006667780725437703406934897406818536387472527440773745167748237224591239463329180980461937447571930930939808091764578952877351309922659219034710113858688101467339170653237054263753351861229051996999258757030383492333180600261416300154105185044352143233212200070567138193194776506685416118473094013550671703600617933643435859276946179613628774688953232822136996839602781482293284865650019045008708427878724556758713518944948087925737222731996401657971955814011071178356303505697633275125641592154585909661123540645732966576163333633687446569296975224705183508085814525073938029007038646036106515318376563839662387426220622999355617499032825103124051577291830160037523009955341315987694647274895271638608988254819307863221216768158735967011374999369533540255673905143195328885379495043922170015274651383092796112667749726315589141591823394348304784686318050498358447794441216994855387402934039999576343817470560170708716604472352435381879416571768665852187042458593341321981776278938484991306878846288681066658182373095963093968062671296664124518259423284440040497802316709075575055493559206541189576365800016831900130106147188933866597968743248362687768898602280384849537514514617296963253043997888436677738162113507105381140855853122971048753555196852084985724952637979591604705910705541989509881188524044185533509136622404524125034903515680584953917111354790074384365877029114631053103624723764065505719785333653501463673508572825915084278549520620845822055567044456546535090419978637830087531534438528594700958287627339853197716437289811991518933647406483727169783218484922180972995057007485617130371230463958996748432429344962427944109801644229172272230888603042928553640866904247374428524252120515725119661528490868648239399109901776585464579459078139060692826006059102981723253653011385599494379709076696058406702289702709659012790133876691549732783726163322771981476465995962299593326945899072228523442914381212049097825127890326817847673460187940412227629479106934367499344201829583214330648031656336069080556465846290973819263803167609518687646790887685771216391943388862673720634440989892066190438501321799183481425151191122320285368003201978741101604007550212016298720192645605319684209409019722317052419793251942574612925540876657165519702899795479500424804848316850937341806420180698914171028124176357993646697402942184415147680640062785550846277291683377423461897818655439003615976029154926020065752643832173659163359704819624637002338181173764057906852800394436782810652719570944903811616384259255676060841735534951924737241378365752655968373371271848360655397615119429909004538567491376978872422525313143745940489086799947921472990984594542798075498164850687335350772231804796219651512273230364971318461285471954303529652351538710726901252332547965259530404692820467515622139569720168264885484037512758836414956992130969543263377496839190768431251670856713169792086356440679935890643907082161193289510677602740155191606488070507737455872003768692952642698969446868462769479554394935140923733333202427617543530470954046886863366768617615552452168457875976160455328914272220124327768864453367527776952589887739164226308076975528345895844400043786143302406591371973017849322712913810860955237501844635647966664517593931888115065932033583906792939777538089398560648569492951857964601209211283423515898255115645964784280606577572773434961075347404836754505363178102681272128224591811042416570362505703346040844410995038168538484772495399826117533608771420822068775771945588674400398650850039988583269235957633254003137843784270990998195307848931070613740797173726721324525449847039053266300250604612854544660164550880179213891223629518145946700847357892302031834493883249521119614002658310304351601734416161012489776217012516783635523342645203787860492880844898032009945724135313761954178418929855929848340424186004923417350338976510914359935067375038965030250601531298456941496314614584644738317532178319131711775418059187321088950078869392496132220219548521955188002257860028903715266747361259354826902452397462506699172552378941732621267847076373234342047698511088469892144869405262272768651448678581431854167549935358229680543632477121312688517300981668135068832173134295388151705983820977289756932675912506271112741553212859839904640877424217333225007101836803818146795438671856304173312982163222555122262433102898147412685316433634633880099909408632791751152016826586331289823034812439264657784254025741405172345609861983027438014693457879225134949681958963590655864133376723650162128409249068930621722770170401986334590708970688420440022949502682633184492815190161948820645429085735267363165191804756573002945180724076919172899127587008181079999968528067005314267821727510856241093462803084162363810817266964505770421826838648397708986977649552306258321312982853383675175024823654638094558933472618388368723508288450063191922243647077799758228077687291837816258364112625467590202563535608665481732930711557483203221336840164360464649311723269267324913440105718661589274519194053092828822428841955582816169058282124269778011649494584882254795739066011708901493162893809789469945201557935170114806736487068432509067709658133958473090412693876805596741053744473031954349276757255942883916354017300645220251252123596533156243006471645570921136528202951235824176465926720966786797060525643840485894206279123138021197761674859450458622131415727772632288417451866616221555570339632914483499914045198317726920623175732963976435988864231754881518657722867721024804890819762435641657787750309598591662753257018766099404251390388167659720256753849216718639727962134327018366699154555490734181263423103463408326577847803602875162597235226452327514231867403338304039158156945886520825213042978445762567348972699885536105800997959812637773472129613405386531832853788969636843466828077567902599895372351483579988613679278302884227521980201818886374730725767986742645028371806221689462315621270073377202101489871493744190192230442594492812319891719757198422692381306111383266491191010945148800015185105854294654968854230658282354086990109904473903401474632021424385478643799870109378446959217995673483444675543609006369185704298569352707686812845804046775739404048564663660974684595373194328718801472122791506063861070964014144853855757373994704799500279057487956681228527229605680878115769638301195550536689527848656824747009454410635681354589881808825738408324881599400639644122974277211589702910795117802323325694622816660508856126494254160369758582753993202091686549402410112332238887733714026813989328260709256915032324862175542163212409141620322761964368715938464865147280134882404900722995059809396320764156248938242872667422264120189806619250754604656740550978600144864879362706295604400671548642929090165614899424730899999802942235294686632759212010548464576727425995885121426433040482550372164781353738203287832691457860890944976724891689522739221885958113838450089333565065248273985194908944441626508481423148355514542004530372665128974307647055751687574639038153198284053095609412631883479608494766331902063891169723711454351593079919732643674444352496725077674056184117202243103008553895591230696139545938190430112663946081660341413313211141978801467274812200826614935148352166140083277408387923704656113471752499752061954582686718260840668254937926428816974360520769346997148125205399707069049942488800391891863344418703340585389157299829612344838663052282240316868833787819974953087987608677136677199872472241268354599478669967911840338136819294872756531956837659546204632517516718139040506346877489678290952046504218456323567369516393623348598623128001291113909126808945563602547840139381508767328683636487040437461799346569371300080291713938171567632874865421405016830054355827513387618612459773550805132074020782063538322122236807435014596112497174905474043363787728925134456040127328057122545347191128129839478413175744505264625394863357707549397177111772419396345333179961569899336910310841509675898479116783209586488293099590461762080511984544249704434724465148541596365658259763049790917942295447386158154972857677300004235018263195466030963955475777196754762278033598236255623012140083890866342703799910745894741813033165075934412010252875846171879590183903758452593890716840989635381184992048561564450031271451099631805806786783852857029942490518193867767061623699157955700713364320651393675279387833974864328019834690742731513861847850628019073928977537915918457898260451613263813761750187383304002105062290393191772014031483594587424421210140504025529820386676545539860392190805328636272806395915942698901063945999221142807097215340347318210491085883389353620238558490800758355823970352603874481616943269895754901627544453422903783921031657374499225168207078067362548509879948302900602817233294685125396377104809821917045156039224323726007237268533091676497048314886982278773267112649818808695268439835534274141277973114813522597470367827909130864838065603233999668799599917096929271370942632432842158620977637145867810583482753366386103987917706478765441662666494837404980946912124376166128033314467723038033157849810569646388057481543925336535881351500872226095602535911159517366480881718349372227791431348610603319915933883609936680134247791759654825772789759548445622640883226887149435870752647928184388794605814021897694016648797864985110488888257475808068403371227144267437986395515391301481651269255464742134919350102353520370243298784871855009834276589043240859949896815188561773085609693164783882112446803205595655929747842536663538310926492354868107784728288742201409397481158523783818389096370276698738214234575393952240307999559217333708122480448985440590649802985916091537626969790860675920292133218211875706006865168341617014380318209846291634502379670866210954160216008883133072845575346078531901177297638794841152388669308384685613816281636485152107592269467348705668736101752948632130035336108737400892403464632366482599990159816086814732212455269654265161237800464430749065176441411709088960294058411173401836120939090873801833643819748502637475435823340285405618522243524598921290163964495302724766552886416390513673688919090424751671073699990495761412318915667974023925546334346541968088845369918965601015531923248820580879365104485745756616590944424554720415174435424709835930687965429704403039245164387463851807392322869728579711210806230252106276876923252732477113474991874697447793354497096200152468442184799147357055722166043617457839164681773012286514076272764861194338860389690106363305211802283136983676989528640758559727798416905328617316772616516875582808095728104411545353662647265390420578026844291669416325034065136388505840166370607141257158585706590293026496712136872038678151799765854957794058351139263055707685253117380212352072722461412136312309664520711533857133581602921817022936722269630413541699290807885944535844921154418422997791220999092562685113322050523566481874653849014267576421293613522424130577927900726612970715088857050589618550768494406625241754914128210461512116655658240653103330121436945548476389841727532717060390111216748991381711255083027881174971363225646281462145203505238573825707877488952242062924501280667256202226027460711218012243635826317736318845776820012427972258175891658798581205972261368355530331296892739735011581959422409808743795881551206425002352331138676449843845800261323669624444829825379509510968063403902767195880640052905287268335346757520658493030011721897915193233353087966134724141923602932856169488449388007101257020773005250822574801244152459227469274227367809689499790895228080767805425086031520416842016969611541526417169439835853687848719844218092715794800422833346479024183576035454977840997912903081184289772587846715278085039832756481320961488144093037998178730263223536007757248039738390438705444001591519005425303538618071324047048182207535054921987551785415387342049023800469290439633526462024640679823161570191672816903020070121681165133380605961995082503574792644220920394695841668436720654282576247949093665607810393556825564294527987849919166837414271038166889321112343113190955786760903569186674178947039097849819086231015214634469017286466436466301459636911661305675755446075312522814953847060882927007655424197164167398746966983434028534321769446524987723037867998806536420286847664113413354508561961480976473180421521849124753649932462504851616535043696643889166301620676531165834648179910698045191547526232670578210143928121967093494349050675782662930243496477737761853168944806682104842132628022682468488520781850877738826886733498062441368610650699860538770764450140221436922063510735103504123528220759779641344516445870007586103647533198474371419401357752184971988660388600384226693703077689009948057439779786887572469388554209310867293844669852118237806861495281203721567470445259099211905344666325800410670871565486531359384870516472384625356799797142484652081873673563107360970443878280949690175767116218775517655960625716145769579575854159988266077180333142575743136769818640778980682927395315177510530929972539649428959746557861153026267471435177491973144836142765587185104542324256468699540600812232181882392570418060474306839173971367293577961967182486500233709700976467420856091440064692006963104626971907573844730299572407097277456587219784610921631253060597931030067475989001268192536713855594488684166673751678562996357900403634977218118876366423472411741000289311054113516735360473654143396413469060263919945195226065933904731199908921239201645339937393428552841545709158865036272711122194087440694693815683255049813803174905624038214112493352547528011075944834846174928024482784638826710496922831986556843882198295752295015545700981412480102483410487547932443702029930220855999298700662135211527569727748680332737367368330430541811301841904846458530634550521704264415404335913799902615798585026938645242547253291128439079815622789352128953296577543132259858616346061415267863221317308880349768649783894008594234733317540063222691350773826695525738654759147798942216587993763405736404621142258441071550004137808019112900739313995716664334485328989143047001451358305038892688924833763861399833860952996712608890950720189148639284207742217941770391438396304546818335307553946243385169037986379458200746132583130550423392541414861822623691817584028735122066157961859232032447557412240556958866841250472556862912121092621731359672476654989790448668699419920907809640218946133803288168477741972993563314047295523275948750329038091767078378176433779020582845663110625866018886460252022711306820554884084252656778814660480745147109340704841864189859277876443104402979614390737421634877357707826605695461244137176131583147704425450096442035127386241695861504445563773250181051678405489940521190237795858685831610289058118278198140388365484080680685850692467334732569056146173141250004839831022057919213145083278642056892795394428218011605649036983666457380823638088500198536044223604459165212873821006804665184931405075750270881998057982734545426624992378877175798000693935054010492856804326263221345476363616853835931114534098112394125728355484075717431838058690624548602197899676457422046990506583972541443122205228200769491876119047643981523833214919630757919691462692436295881180485042507860604951440499691981732477138226923430674466500534710236264858144185033694286193550549827144487866512162808013796999712682416491347274637107808547274487139597657055200008250267304615227925690283447941693776405493573911843179579506948850422629017541858653776768951575016046285681114656011981027571585968521021064585081718193244583941661898615436759508899940400852931835918390824406863348337746370103710237215913549746271054431576758162768850607175362074305815365602514089719108181007089893239463096827275725392104154325012235311212125701333039740717874747441174771535040837599488181953104654425131269983498712217912448416215464996890378499236009054773762978339489696434473924927107695378556993157375187622302692668863134886401802878648952115567214852459487364225283617113784100602364274298181527957774129114089944739518829771176089233129484882669471299301169789151111190052752713399050159908885619563175544435426487743206304316621569649035859342256599196105931905353743588026673754320363373466743093298051292996554899596283520603913032708353636049531171646976183996821069792117536912967706339288151636562484314530952797247999692379787674361294404915569991288700231733740676360461857592059392616014807402874869600611734624536278065867930678914607223579173098069748514893234310401079391388714183220076639380939174189822990877556277461436661378896736884812486649713185831550585746820131090895954173919771801948657165182509319276340977299462982512327601572691148585362466957980403764219374290118301540143567872903896507768286885718804837899944243509033301473441552769125840357370279038713491384707472732916695908704869459230546443897656076863895938471322316843463034941056419106430896701623586737591938754492250327240913596715548812619089325315710586048230818893517817892637900465855518119429619234668067892665515221686132882238020023182259123956351964673238254682629446837443247789837923773794249460528722255250984502957981157020597398316492439672320101643737270392605664117352548425716228031531747395275051811924306639890511701140786257813968127364811471106790385966358768202330790422101663717470183562580546243141683904843296034684971610265739657618344702890339220909121900651282812483319845889813700371285030592800542441055680170070266204788339286266634615248223349497991782704189861138342094375262272552317663376557990060931768940521270442350842135230173981762599531700668613426177999061132428294330751138772198909472372686715817614657834335068090039026105589873556364657341530409282973515746768232567225534802199735217800532454169227097458685503012174102859182992771376084324226035910166668714157008160974874220700671662203907548466540559469946881726755220824530955739180413454703713239237838757881252422492523251139085223623320040352368703903453144173874976213706733733047699415982703451654989843908780932802817650578361636773341103609537048839705459185725988608760248266468852981034423397697477214703136717870109470709638782678107977080539733015491660975498218925276289962802549686244434895111578292932886042125955350568351921144405835173681660824318980480575340073280617115670711248705814212045217914867538432636497159135554586690674695136175920491889266451018439971223957146047411727244785266226532551123464467424845824007887345557927956509948670354302175064166352353095721215136749625691468420587501156480529079066823570793574297643851725555830190630890185442324422413451890864721254761445091019280937267079047153134547191505625123365147510561753292394707458326707976020453568803698489823662006132118599063159991869560011628016331840624881030429648808542737424039051914425677234766922992362067007825768092705131970927087841087964578252877118624039657870224446046348859620556758948973973750855850118440904943864726202739\n")
		else:
			r.send( str(fib(int(num)-1)) + "\n")
		
		print r.recv(4096)
		print r.recv(4096)

print r.recv(4096)
print r.recv(4096)
print r.recv(4096)

jalankan python dengan loop. for x in seq 1 100;do $(python sequence.py >> res);done

dapatkan flag dengan grep. cat res | grep flag

Sequence Flag

Flag : flag{_mamat_dan_sekur_selalu_bersama_}

Comments