1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| import binascii pubKey = [47890479720101047634465874721733588529458602584042547084885239612710067397911921683712707636329934460158471141053610749768725825361507499615110092598804013605863886559109234791871295781012433, 17306080590881240226973021568692278622106514908533174075028184037576298550181825348179740107832976610900388047483522889401921332681741578752749914061517757908905943995549124257722808908433935, 64618734070132149133043189748097845012693201380285326592043049528952199851764487736690792908947201153881550509998150477886788025349178948040002641952695971628673055650762287546265945445665260, 11572178510977562151222566010679176674166489644659534090528870073959316042648494224057282436548552565705991910956536151877144714656396158785476194860829920309146084179237627423737798270873235, 62196810233816189491529771811029197081476797750889660583578611329306275765025208956566551386027659087228784882297913127940518464966137340583782576762750221423454798227073002329955671611689365, 25445799453532980627798038353857271728780097848247172238433943861432543976575715808100544892681554944699471483165879171353837748233994557222190580004960874064341707638297817251822614980141588, 35223858420492388317649545980211127403690774115505040962463054084976437522082937332334720862965435091724010180004680637584558400015360059476797286765272015456298419746044745795993271240814672, 35121039984581200402922837581115765654829884274060278703425982831404665624934426902708131504508780829195408699367933362367159647837759958441663481403293011806628852505023693406327504207208795, 67538778809838592128946448770498413063759139122721954860407577510665609720990273509090254362075602122198936407629077809851485491473307586619210022039476674369603202984202977787099573616834019, 38622085650793934886406575167193484206941361789187417806089300166147983896870975177904836125428940238166570095781260591840640669670149648833878130690233522525050513627265219010000935526129049, 18935284697155845354960465404112121227450585659675596436724448270976425498872547131033332071436507697914549301686346177075999917294683377443216386771482074882385742505603715650321975632724784, 54944911214190839084394889212286782353711251854119824163374886964306824399606209102750434200725721778678594129799691860453816914806455494431931253083023544960097545600093943404101223611498258, 63459763161801689885322397098064532040028449194365511085158174023514522479075454662461900061674561962215790404822750184142857604553190088712861557190512679825425885322003485683992224716662634, 25185054256070158979583910677190626015432520436023613314360707067844844597008371330923185278210482303746995375136091550344464503838431523263721441156867928272117817068889652858759756598749783, 34369708548219136966731283236442567519879235802700406693525979418930027759436135667807057552444263757059769935029042525619957521160676935544858512427663180820896522147593553535869379621275265, 54411979795276842018935748745655567337843699051648445196760965531207255789423569263678740135377305878323930455266836756522958305750987024701161852090550926467398480325795148259268006928224434, 46538010274766249953993205967406725430511043214616404780860279666440795397430784235016802415313791914894802520676277112743317298794056712198646628907739321106101313652873884372733288890302462, 2044544534162932276517859534083862713408344948942020008783683372799164546686312429022697848961854559681372079435724238607250947590361091420482429739899224877727617272946738916740366308834783, 29429129930376463567211312144136635056939457507285628597899449121700151290936201117181781277830857940417694725319710751731219675303854679690383229053201853329519025366617631575644851952713578, 57648885896010151302061370332885115557025809337335317529303618753832879815352351189123627704367676951202493283263977993720015034599132670268062674506195739086911852885146642590374163648564058, 11522388371577043178362369171365226697221012854900179556124533243884867338107554280644303011401722590470750900224923890904481096987722298699576342784532264682115794985917874643290785021634539, 53452223251559811121660684975373672327018613083179661176606834991504198589152512836748775386626266920888693403407889133668201706892665078721519226359098404552106236785661057561969044031895009, 17098038135461088050184149236006345988669040376948163102979643473786259341820620138140743850819575398571727138313597653874703455257047331907844034779020744265611179763866072660848927496688490, 24624989213141393599136421627426308739988997724740056219694463537179885255035960529587936764131122993699989787017529146281019673312008454827364634296004321803453147535687661264733471640556061, 46808963354730822922630781846799481077560822448751475678099912058347930126419718323610891344168661080053989555321277621606936399121186313111821565721818054568367642655938737736237024205946401, 52301851709732946383496668626114955821736865782133704149898850454005222833091416874016401173957869647066889409899719440532635314954583670908717985974645787158314096404166951434515455519668855, 15504420651165030863238502358318532921530766438091734137426271216053125092572835586136682875406170729848375221749403775447893686211947542416476203378440416994495524208961834450614630924224753, 53845244041454884201264896421163672719306374104877846479975305147409001970585837009900650928208663990674705383573495774022455400570458947957696802497616524858490383693636725058399188070224467, 53320115641685505449973151967480626827374354552992591308908350401521967061019712225001877543509120106597815349322208631273284885002508935108192594964644800778455806256812473313846521153897994, 20650916840526373942967259888207960639479393150914766588906488669674790861937566021896683363132531778560267608591055041503506480529460308285757837076564915891528098900165978917213862776803810, 7647221951980831027864872634828304336583774030692405522849972079601096149071019833591327820374487211679751203724054783150683265510672819058189844053911287125164558020473234907784054585502380, 51122149496750217714950350474346219484035892538826702597587439156267546094819230274481498399293815181680744491407640669025666432891823312532797135096999938076702634029794451257375449457601452, 11106176662481973752506582674464491746546744946086406649869303128569997812425065929125955699774444338119816102079087993110246907332521834811054677676820642032176478819022934201159722246283857, 49441793808079339247429292530966210639926699019419363453966412703485796062012323451339357098470289700751366185325661411250412279256145675963185632001161255556104186739252964991960803240294369, 55757201763539237724912593283917402944253104461625899573049241196278323031482862271206651196679357626196634161948563923061637539683170888902239515130977668907630998215217624773010076265445489, 35255013346540096769179158145962266450240902970836581977206197721420914975925779037714661801788002296640435397639803656010616598074888694769412070598676177507574700745679437200657866113709288, 28677915757673323460883754786253287769350496743327500673282747094828377786321835906506238876231447805461860407281425962071490482607552926048870546290087855235882440104048181188722161545984760, 36832473000022897995776868775204717908267736915723539350833976583126132989592736166990393011027253583484822775865156980227282099232574738947850661770150068991380046475876872162963017862336167, 10483052434567206946507556478758108660050616105857488950119879764860233012770889637188537116662826423922782815168012940818702282821107675832832743523475943384166287254713171536505863774275116, 37843348988673844586864714880584995431028657144296847150519553139045622995871739625046657410159438531745143792241595857136669585832697748445800798434675487215949167694852097644697437378809560, 63801940747440571219775612087682561742003007498938248989707698628232953945748671206200884617572426735040069610767650061066614967611791628605298368374854364314769848476055113374895289368362023, 27401261357958673784341573345101293336909548271626934667252807847302096543442490834435672626141462710932036015207956111369098063837481028342189134036501494796032943134871921206584977585564041, 38573587838534453149765717791761958046578928546135424371801747725027808399201545346937047060582844123419323986180484636131281500823636307083187227789969071361794904849957799049568121837998703, 53958809010041791246204940912440869832738497201813807115785129969680131761298777643174587338943718694619281235678586066319207625066612860966053497522773679362034891107350700167614552316018500, 50985386058059210451612936182174921905673348704458055152471206605022399151370055257191043119624573495436413488755616821234583427600550433792689758231158706819853530730093890564412759571456481, 61526581873238366525807907069566107420188803090255153590754940971085958833000281110099384465689672835153442670488792654978535611603016377644689845961912963268016750015209503566671132923648667, 66115764251851815805252858177220311357623241846369699695777900944296474849920777003505527285177683418068967303286393216169298139386172829889484583226793396555255594082652526046581323628942289, 56322441787847760021734560736935605037302824249181806387521606918750720008784410121818210935175167353759657870107245611926472527874382807417358951156193619567808892922889736682128338049625376, 66749142907557060568057952408289227327595421568972621753887212145948734814712801071982226312222604397866987186802147751513028224888210732436341851269875301902493466366742262010844515146111358, 51056899417822683397284470568610570616081969342356504909042648326285742514426286529758563599869802794823956550465222184899242851014015598472763932402579880549146673895299866922272624555427280, 46402951176781382305382543989832843613266925105803405844831059050283952939575888666694605761613288059890684024202116382001036894168854758976584139948087416518690922335113990843425054126290320, 12065832569238949034865764752698434707030306169241561677192021559438703088903761656153257883864197795656564436380786791677675223023571826350416117007971141367735815386990337819311684295376236, 44886309458435584802083275660157014309366063799859831692790283519340844659455944640580308694947843109079110695538214329921418405320824968608888586957323908715232021379092037586034785360066731, 29386982083268025063730312562640564119396950231157600378589849079048714493748727014742993160943930426624237642610889710058760679797587120942137342535425441272337085186349384658452508437141609, 45051915987744577118001917741457465046952381578823575844118866049653844891839167467493684884654522469683686342158839779155995726504994168649447392134326580953141953620367005022040132214449270, 40553135649430622740269793478131327077725656631052833120538914092547070047148541153038227831713984321641748561689924496994480579110518897692252146768732229757749686414973236613231941778936576, 21464599564997071143394297400058473318634391404013127548884533593999412741012853790260318313443478263893185054502704842392161011065001040545999548747008053262301762245262744365985481228131502, 47214669755067642805860334107804261880062242526455881752312915539199317470565510289509764528212453320740816227952832714670047649455280654216277052887261857213937684077852348322539092355955538, 39918726512371159030614955073980116018140721168461876527225631580260657509258702397497947318483699036402232312780557063602371685707961024897124960534338901271224585585553852375813194410638440, 24876773535077683071999931076430700324843873553062775658964571237356225839560924844545431886292038254805753109351790455626468967819105395366160645715904828446617057409862371168623180593785173, 16030789241162016522933269405645868792382733768394727338214495839983302925798161192204993202259784601610919248815029414186985467691612408921074207754534528834892246148047868635830917657677889, 35553796011055547870878411131650136620503415666893802897340847032947353524580144593352295792329470944212691414845922410516106742833441530755383228781958990123115900025551786417013743827388692, 62673648432275411081341766697032290765283058243187612698335653710427344216599976855009951361488002484688319514932477879430778058658808499857897963564191221054346097393115767285106090751461579, 1287389176720855933206380771549057562104192396786218372824674088581233320544599415587194176017332013281782884549820989913212316975108243111276219393856621630299086467137370029217124060922515, 44569484885881439020972963098192212266103702947225457965447554697444780420192324148429307961894155838879388574414302922112848906384524453690201205909942858046081549978759427506857795516494341, 41982250843989312960177912833982103164230930870043817969665316276525821772635601701002400734019716158734997180311886060839296105990003751244800882878681731724425563651974878487388260641804193, 50753288119039388249355215356525474915154016939428731363218592051093719258593608393404721642328957576372372155253852641491240831567041640785036150777623173481207894755893787349137208810036905, 40150030449596629834148934759236087758302769989731857773145397251963335269018710841911759758166788125616647866471418674637124556523862809743540887443606715447445139460742674164307942946775183, 47385231603301754494344230217022089443600048332493522992838793291850437851419809911688211569807380906500058453445580848819019462688415900799866316061606239716588873547502696443617522672949054, 10265375568811987921537853112148594507083075889644899904926203169143853469031979831656272534407890088262345216121225336666691134819008641409732700150767431127370745317786986896432851558238567, 38027168397837436330927258310002421806386327133011872106274715343373040155124489798582797989380164044700805962566055097075959108748821220589354423556173910939691940183603502293701105056945966, 28119475502022331775560873982231129469438578239447457295516692515489612956767819865339606966323589830711966498132569803416872605774357518202919903230981867849173537494188479403098506783779643, 19433877830875220463552700368657159330748976883941597521079809318371780758290918423983197058253698598691684537729625403801075489019240440070932156216830964439162290488312425256274700221716083, 65017205747084258568433861971468576681735505262183117127463789548516765673644042994274501802698064634795451146073822207016627342206483811355475125779328658126340490013695217544733403855283162, 8188874429727846560353065810015762074320579322994245634866746934892971743490996583620538923366999752893282158728675588672716299493912917675412707911949910035475273682337179669349995890955256, 20775566322744445261977872788413691515994264279843320167757350480664152328251673788162551448309256332113210051536704829491198336810783528320280167566496031370027839033206898053033238453533257, 48031284568978624395730531918961993282336483561501831296562566391794707340753086435080623876832644442531697049430415300166048844953802418865957339472963339196833188947658896258777416995565307, 32563195284346757212502665993025673574887354605361230496376775165391900345564323289884779772699261386525559344690966852142283380372064078711007914857728752271389426555128862006515236999962240, 28483057012518884649344104341748821480885818834409746119401871050775675282905197571836768915144154427439648971888121561703597771095327625499812837772505741906424160759825193146386826063459593, 53930980508638243218159832644643784247463499913535875699823113135189423647677007362111002137255407262569476265789475281228105528759509639367694747206577814357245031868058721634098788917658150, 40862415649483342642300635142142272770684932619838474593649108275699165152831657461185841742160013583895803922332035583405193392844010131569970432378897613030382750759114962724561852402403696, 27749850223865546988932533741946988581758159285076939979369182032030620755486132418271894105015067902501750385134024097768507159362399613258387536402829654246246847094967648856140358416127750, 56384617982152146915240068645931719748974352277125868188059082258870099000097800831786615529521137390319734123967840727569869611093052949730559738482985789233954263294554769054797516678068935, 31115133333991519977397026361175302532447912304111279954627875738664168047457721703857967700638268866659187901801439319106101778450098731999632558093597583806071948327903315771034944746946586, 59838223966091843953802991234416717306155804636680940940378608503846980274776681117680629607379071285348942753670478688023508551960008779095570581591646337360520268904745569777643146568905376, 3456763768834567544290885475934806813698968477044246019969252819797995936741033097176350624484490933749846171421480185114114905037256295564744504730286928337070640641630696291725751562444023, 639518162850455777159999153770297448947864001257693657342965093352732231439897993724518032049178514711960617967112598444150434897636742692222508049844882738467501375736999768673049398919310, 25261585586812952646823487572502519854389378759224628336148417055008633144506211939973809749092911026617491077545068051786855624512159941833451679770032563801901896151831736445520546084594535, 35160047263835706995294681603763085905932800663226726121389702290067263915149759598640906783095930257903699342700107050707520221310637129035814334828478882300255623019226382389214520057748189, 53310949924711572059794167502218937136263660667796422150385168603861966119605253223935181108229467154131995550533181634744819266859869007427951611316339176610823528976129929706582644027261912, 35147670673552002337047366813761093542246398791942072030905142174139275204848914390963158513445685900917434695976385858726366168119968864015475229674097149836429516375598438098894097241381286, 43408429378496743190420631062753899342762752283216901034356468525835100647873950784409283581016138175365607951158461197221932513552154271306326246974977368912067408395615183737285582890355219, 62063243142996555789968157484514524428605225613462931518845757862551154803259618975012392512308390297391607137192369588574760402323098218226733568112333684696896132413803959874632668796925195, 29953414111677781148365843776584036369083684968564888711035011195907351104925203592329838330317829467057510484075806635221103899055417745695085248000410891607596279984244940339194434982013004, 55432024164789800960727220597769070602035192642662159635957174023648088681720411917910618727539451448731058046829639308430283845089282429868900932678456352501843136131326432425615765666212605, 12979040575404576229537812044383388897949654366232719630637554423104641601920187154244742986152741578630716176503979974583287817527977641533770957610974768954841315897996057411126838458341949, 28034543865922560637979586151866062247799749977236725564929921967660611498837391625628284588308761589312591838937671884230474731314934593800917290665749169329473846128367253686482251808925664, 3941639917559710914025101564121333907551155571314300900811152596040368140016282612171026141223893639718244775249175433563072372087546077397446893152673009619644659770178968395643090844583613, 42830349355638513429827810786362385026948512772311196448564335380439950197545328396207563914494901136818397754395167690076094567485833416657116518512426107891992364598284164966280091137920458, 38997132984072874822421888377506096511039936040769519298934352313604813766017734610151502777902210903688564422123974900155842790267541850419313988610605830516616224974634871241106942111219845, 54210110754088967067315964096587042449168680279768400759586356225363764630643007236999143002647808237164239425772026237432818155019042658425965558280998728727610593160746548717363274627830859, 50879328687687675480154511416262566808630194130916080280086255138658224178428796738252263016989969830225824538238435472317454714413847041084256518790302700004175350774594916898879199055449231, 26023299310243914651030026596419866104312679443426851461874608983882093485742266321737355011518500091411221417616463415756726482082879792907887793655777680530254048514492996421464868513194388, 29301706370902833399774598024654294991344557581023254655293247856325774310049316893941808695766646499303819941092790694817023155093654867702429825908658780586011187389542494167855761814524940, 32560030972480497622480215966254596334958777321842540613896120664791443051099580799010197534005295613262122541066132741053168147261847511520675416842108101073019271341744192220863001015199022, 29757462891666562833730174009602373370415158570078222137090825813746437049093264228102449764082125543133788915396574929023203871095193626397321327267652134551493909430159103570312332729351522, 64459134194706692488396596394571903708861478528388559079696563792662335118632031609303754770096849888318922327693110116984103101647278770492826855367504906783159678414280229400323610061254019, 55452903178502862203020377926960730221198560235145112323095592309138688647618435944960338169215158378613023704811018468816179266993048656660586773112805076508761694121938389047188178324495918, 59320842273581200814374580521249849373647782130258748463253694406410931184494190999751077442247065548643179061567904610845997711905725281621191049773282963557397538218052041818251182752855439, 38736946067722633260112934455103480084935521414048903461452081057476183572473891596979271094642633065094097057084480877422239993042490315071847987808459186366301502467739201235764725358099087, 48721265894156056905952277095533768016609338768209191233561001123757081793170838939523702731776299671575698127926914511487545460587417729068164923992347969138520141343433790350345377986479148, 5475207699965395470393579141953600867600173218206818552094130127751683349451988467757695673358755456380644170189358488762120980972664018885510713672579785198564865857476336299583404859080852, 67695389728835377674172629756031445137399079340547787290150686507807264781193498682842999529683223182234763029178402738188970086953042799701404966347034660785705075925590410563611335165983350, 46776092001348576617421889840236100180345594585639924838310267405650336036663380104676765695439447446143124691712123421359270575987911363202808321442151983063806327798102151242813459219459744, 41937597179884180181242301155443115984094166390258847769445588221477093838538281231848272023055750547021108442927726159738154997749942224806706940982252848154589170171334691098056876465147336, 4003014865058025393533504307926074656608093219404964640538086997963900031200037203899533531135628468138050021631126700323807732791794667571338542803851674232275569366355911240600688202102866, 45406102663642647104140931820921143343270063883778513614493317214350564991814237722878099820249907793588946050885220215003056351955817651419322062620176828079550489326343177068211524169912040, 23014165717629449611190356930094563210033936763414245226023820703971476574457631394108476109255551592313361711016419523520588285769699177030751974190097775866427425539442237771448326548034275, 43225001657474200007932772557429690026662033490644944399526906849081564577686183246048969793154334910331511578019627631014514241152004962740295438541930061305001981197062444464828234195559192, 52509162762528958589670364982641047311854466386843277025234841887423607667267850969270231342922748026561180551538540539290696578476711628732447606991596679477090101214510146032393649349643037, 28797431586590073476588188173362840801113140351970709154074176241504973868515373059546982369779502298480872256656476486431986538949037113446759919164924331424392536635870557873131475938817299, 45361152174518659461020602436692456449724776463168120575083428514583178288046088169053453375429210956926182911956742771211313667810885868097009790861986028474838306331287757430178819946566610, 15380450561918355055245454161527001830868660056598917675852923772013647272467000077866507194835897554135066162838660780328417694192008286066672910918123981615670588037120069252207725542463361, 66019949159914440685344527064005717374006378783943873831604106115025477109004857519374629680722736393442035301303434089288807527458370131908898660408381190388858450832351984147633756523494466, 48948292762926461916919536945081749904379725880887619884999184033061027908318959826991816318842982154211413421886377904979858727833510903790630304066936828475221974411135578334563344217472543, 3527341687278911271956145478053519250176177937252844851614028375626143635753150080167006992068777111081166583688216224909154616441293419458231849264545221506127711402537411158914384303879220, 32539461940627748411902230101302306466719370137054958513819989872959631111358628018103961491734857981749175653822287531991487047256730245455896936197371853880540885730256343803322422381234515, 57157858829204520510453480860034245362991150577514805511357200511447732145262970109999824039798209555017666461642300834233548995987938422223901680238762743376010788523168374250171614659956455, 31192991614361009946669065070395025091968747451251592982471570936561465016675319968692592389438933937577253169643880190528787575170767165841553562479245154197643965414718661724029518593092668, 22592379519409093893292356746568269411853101104868995832559958752300526781480391073843119695003664129035329865666642438034559347688735554935667960343515050463160412913977310129949573447643213, 325369832108200398797440635780375611059505243752868554519873339249396636081895752876423902400932208443280036379942027921704463490733908054910750705349841366505227927534728424753210880576975, 2384382008334415397610025335389148728483566837970228938185577218203422688213640277349573466352851415613066491896946104601344915670959432029394194564806649706844162238145781132217328012835715, 8051336083358793626954953703697880493616832419712182100626895581416015247073049484503144172098868895223245709322792324705393193906253025656600481573383453528236045540840413671373616148363294, 45134925503782832463775660225620930914905263704452536646943762978515563862243324073772517234195426573985736742200485292848751771568996039940886511862724066246220458933238442048987723554513991, 53101534689779308280867973149332884963021228936129427200558388054891133014723497463717374754372036989650559678552556630284513183126741553467809576910961566956292989159266523211322502389459953, 44408568216896251942815031411308255717682137393714107336247389734417923007067647580982776730634518044181603269216143397627867354479549886303448714096306899588545605497929285618898755708719307, 56902862149658285995758534254388859518382986869499932955211183630059916197260768733176229301620995679535171050134955328198435287279846722984422114630983412678413937629572790392004202445033026, 43980959840611979948694677481058008886117037851579378889158255760573953527360105045824573559591090370199498846891462715966766290597424268344589189046684067375832458826868863719436501538910559, 38491468623099140528110697466957718524255557114017551747234077327183353842307451786340659109634928353002574028220585574231319267087306634206509569463868080230728671552704629739753014897540855, 47065929825774482666719823773545730419069109352650002214391081872515481193878087049276042401267875126290857853447435644023066012489435920106283813160481646583683275952814626003590088580984216, 48813355116732421112951659863821796591374414277836234197912045423463566205202844255398927297215375956938837736252806970199036327958830119549269850683176125849809935569564220327108626773317062, 15718765671029537100536056270679564984267601777335619839691558713284072119748937347166175134400053416202267376953877049338792232031376457792178818974580953567874622793390788079159742881843381, 2829941129158194146177796043143911829979687983542974205120006902020133349177459425302147786860520202184160755485308119156508599258251081778018142791223053210426415272391869667527086787171925, 61382221041047358343902504988132254985702194617090777778072313410012447911832532105159051073276343280153910136582550289624201753143610516465502247796145314794897916228875726989667313341299165, 12486127848571087791720332627480305104009293963747823794461304187398551879575002042464924513973040483382779076359205334073666171368112967800858047078661988733293243945378109700451735011623489, 25765114657442350294929129174136223538924650521057172279891292475996043546540499925060159886196500459260512251507657449481693342549653120797826801229874198824732411184568685264027273448064627, 32560292454586292451337763245784879601520617993317195746191188731642131934818013761458612580503991689131770730802363520986295400860660262314997403495664024703949339137694907911273773148248364, 41279607445881719596292902006756743240201943533642508845421832820286579292635419559332591553293634657815840156134493075291502797902922617784593229645366061649372663285267682587727424163032076, 5026288039942223440679504868744883016675927454083115530156897126360403755867564348632932914929474020946426158444349491887102235279820032001282122690109080291935135083056302062176475727818426, 1885638356605627080844162270199106958695249007680523206251451302927835077990852045470549220386486923005620439434196374155000604374685725347360873617737843518018017679336422801247011624678499, 47751030409280093143658446712295271897807986563894265061473640749841753122597695749627609546074161936177534497713873939511165303358560252542203698591265891834826765905759119091744743267486639, 39476148461090701868802844682781949221430450623502857507219187400341153662206793460838767395924533323318861171696672654435325610993852035305139739330629594839751320230677208812326444883218278, 20800988387487578722561980823761759882117929656986996300574419286720484770803725469321257783330834185074131386130699161242604408848472805044058799738348222634281607097406382352074095914895180, 45742744711909970519354109349522843494178839125867787398041630208254939607370510570522906378231862285668265548691856481277221992968801260313769428128712391060083898918087174473568769915041944, 46372953350072902526042574299467715063746976270440450611284191372466364804001640085802168169389507384793865639147292090162518190108604970254706589777022385268385632068293316343403465376088678, 22564030347041978031409441300674168766206966097011798833973337893649683783425460783341073634080800673577758095366649661558474109347469026262666550572721208170453915585761882935936997337867996, 52378722700037591215181818032673671490996107022904418995329767262643676899140527616064755006698830428709856375535002089961124861630113488626035913155752365619994602367084668039635942602981817, 32982324229284358791511753415907488339705637019779024051328408131249153511749164001180637299949877506528943159288179690893841321314955678968942933535028943589221105330688291211075288187541527, 8660643945643470552319010824159044723212686154599362421241600291490689521777021510414092570893864099806970261650743146047462532989315808400102949826303378831717576280597009123879234926477742] nbit = len(pubKey) encoded = 2909652231728425569265625007321857718037015065371024969749755798435259464059989111244871339170285374831492428686001065467924762064728730478201051298880204350975166751623773250187162351346224749 print("start") A = Matrix(ZZ, nbit + 1, nbit + 1) for i in range(nbit): A[i, i] = 1 for i in range(nbit): A[i, nbit] = pubKey[i] A[nbit,nbit] = -(encoded) res = A.LLL() for i in range(0, nbit + 1): M = res.row(i).list() flag = True for m in M: if m != 0 and m != 1: flag = False break if flag: print(i, M) M = ''.join(str(j) for j in M) M = M[:-1] M = hex(int(M, 2))[2:-1] print(M)
|