M = [120294571677898903240356152530487900741280701903373310345664434531211977763153804007281367752216605848960771169521503642368299661918603284481616432510271592697939555031118390135818862120042020489132292886891304720752890636063977645910076571564306845917868721730284669936796293742405809304943848135655414392811, 129700172801436249990591241970079237595724409885942082029764751594750448122109720946440896043552212011373294236481721010708519180759376629667496680095668230592581876675890030318671384784476378111069216304265728859311561790201316980640417692709193146527911688184199547568510451810733102730266782757489826433253, 159435722877331641976354184328068656574066348217923673970411843567774833279349405915976056408154044302638225291184459000867268892567293562302192688442455762220218530452508512828390835779765011909648706615685385737786272185521217981360965521205148822608135595294169844942461546899141297400583513684962472092203, 115522054877336891552477735064038273124803846649701610587728061565916679303091116679228627287740195261921836119529033907275653832496948572551980945637103823629121124778416287302613255048379685646978252121771489405329324492281525048249297334467579793967518393566843843837432343220094880669009230454321885761529, 157946711211247950845415156354332555286481540650438711849354913769243740257367403205620958969866025255080058601363092891095863576770395163925706995965885715354617049744918993535515666298299300028827094956500268999781213149192859231875203023358911276765521847467528488785080976073016593567446027509779676997852, 140167985794605064855878146350480005748429733921686478434156333875199301094517088019596063564893422127086728617198393522897528599092983961609914436682653384343789127057610345747442309099842732654916861915550287840789330879055960877484889773667027108797802998463597815583699313187289062857453335220475850173649, 178296027423032926816853059328577406817122464033859553638661502429007240175594890823028730587123683410058257189558915795457888248745375404406981738640854423005712359679342534460889228936253723803552090353913412612516106804772872516183467698379324556995316808997798745210800290842043534027286031051964907324974, 121359207850683003517776013158505963634357829971511462863059960191512520079532777669417824657554243868290792651444574834106377317932258291830814517369768335537277651455261577193982285862539380563502830471071697950073090825690475034196589355897630092911734848744719062991990774126112179781784179630016429027178, 139732632048677850532372840322435115648421153587746304566151263858370395817513221382185610167571176721969183611101306060296562643804618209145437759035682963215402731410793640166003037085844412285656423311124128591859775293209525633704873668877031000746815483195809193379676434770968114110007454178039778753840, 177559257847095490274721234383101485509787406752336247385154807107465997813548489067284617197250980991917086190184325753736254997008747967523858623793984169171707265266701219863737395698653171875580083899072330927433785734205984887717069556296103184659708684046718166732646229977652795873299560829239763267287, 172357113946430612347302816713219422750937125928692687380947887254795558660784471516398196089985181402090642884781663714638371580362443175086368858012409343492048796867871276419707781904689756392703194766976738675888202016056707560354772587246125702042961447749362294071358852866178396428017536608453216620810, 95429399150492955414827702225169021905876176474434544437386377157379104632033531408403804632608479256686136202864266307794976278351363440386769619605820214396489627096432911422798315333899660401245389523016126435292295582680359606958100565081470442987653786440893423663410873746176881625871294157204946823953, 101949026933874774967050164077933618569804916796969487883537219937390224683154413972217100129173332674319080821019435671450062718518782193128492591693468939454825358745485383615499548707142037287100409481783048066029610174814148119808498130683674977066186834629597074110576157521420383677575323868880921357440, 158782190961588405189973145435707356384260472854894118536488482238698924571926908227894781120247396038143945578945413527440386514188985853506109002441443768257442338029299991841872761968671693206527199659450851391947712435556331311395096978129544255376357607442858592913719651863724395031787706363054085791474, 129155134338008562334033962787692652255896020600857731796626350181081709365046919953744630514400151772510555762587049906068524060954631763458880497099465436802595367689448713838280619900850377569931892695443987416596216663696095539514283793377507092881016274239068893768930999084329842545749386748550597455433, 148126499638629657838799168751690409474162809069188478853940812160354410617374908876537174768905856908356690976916998207880146602459316191962525384701595132638560776854433958762603448027448354372362408434718921977739885291470661466055981292982469241690881336923943065657248130317925500254046659168579263264805, 125863180289399354989672683393240804594426286942677844331973668361670048724754507583955430197919979969233926592034526315199620544528837570211598580125365588037459301507362932527000508781386936715527155213977051700569471286276879880240779027503450274870097899686246170622342742193453632601857731430329402200244, 138865975893051206264080483287993038817112579256527148002962294138227281026870951300683340569238371255056736068750873492129134843662725889267615077928423960481714478366971605667824377584934369366982048226603116003369251168739810208953684971024303176036443814516913540939506879172517468218763067726145785148352, 94065109763202487550806814470187330074507446811158359345679347740474821483252001173710197702309223201259401070695683668920866196800478671078168614949353650382317237707730223196092619477515575478715271086658119515754782505708131392237662500644996246016997257585595160383688492308707912010739558889880875561897, 144796387461212451257536305970216938765594956661059136009081877341345671457423015212369351045958995036782800715408256564887724912251939416015971194296917843428383512005126250915989663052434490960833418985349436582058642154145822109132545560614761341393984576141201750917359697136199588046032121848372077847718] S = 12608351631387095568258553162541536931226118375817868009401236888991702843601313178949793108380206161734852041687214909846541496641542576065023537032702149056613936557270989302095924330517230621858668537233623546745028963467384699109033066380427081740284750250945430151990861540158747530117801195241749301973664403 N = len(M)
flag = '' D = [1for i inrange(N+1)] D[N] = 2^(256*N) D = diagonal_matrix(ZZ, D)
Mt = identity_matrix(N+1) for i inrange(N): Mt[-1, i] = 1 Mt[i, -1] = M[i] Mt[N, N] = S #Mt *= D L = Mt.LLL() b = vector(ZZ, L[0])
v1 = vector(ZZ, [1for i inrange(N+1)]) if b[-1]==0: if b[0]<0: x = list(v1-b)[:-1] else: x = list(b+v1)[:-1] flag = ''.join(['{:04d}'.format(a) for a in x]) flag = libnum.n2s(int(flag)) print(flag) else: print('Opps')