HITCON 2022 Crypto

hash_hash

Straw Hat一起参加的

总的来说题目质量还挺高的,题目稍微有点多,可惜最后一个挺有意思的题没来得及仔细看了,悲):

BabySSS

shamir门限方案,组数没给全,但是多项式系数比较小,利用LLL得到约化基

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A=[(41458, 3015894889650529600470920314593280408459518223054415623846810748413393737686521849609926975694824777687791824408686652245102687392987299828716863372946074882798754477101786150262288970710451710086966378817944448615584285684364802621112755627795146504720812935041851556318832824799502759754100408717888912062197676588256634343721633045179136302533777168978134770315363985448879229514802330846792965525004570768212871252658334277172395338054448791891165981203069346039654617938169527772805687564575525262812469960675835101499054296722994451502140787064163668418661661374437567033971648550576296023422536253955229), (3389, 188433716494377932944071544153838579057591833387651830021721770473524507947811754295899393634645349682360212761145039355690817927625249659010181081209481357850193656763556243022791637306094953982811471415645267589939465925098159204147714779617946431727015863707468081949286110249296858079354949234074465541940264775783884708819566758872542606519408358277173683256608326688673226933790117016596834640875497643330432185114931410656582728964222203181026468387428893233826461), (20016, 100434774699078525844435127144579870564983915777345068724291926367405061427748836490810414860997895358378538088786283372231649911113841061354335739776409724471256377867811133591349442950556374825868587940833009529662869081130218551306459690738900795035660420986807973542512081415453215211908130387754214098414826747340962722685373241806099462750595976574593799013733614097923338311883793416643213898201680852118540438376386415411317989072583126108177482838299109479175882214603698768498421016054035672774286507312986602290254323930575001551875601243671354491241420409219), (50683, 444545881882748849210617532697661279371689521082184772844723908765173319859389018743414369945234307906596253496624659734919646710483514374218993496994560985318096082923429834553341897367168830049334302307406087637232329348570485341223211629167329394484624055745054495405880099706580380696671879365741197827080224977821589102425678989782880274304484630899425664722718972847034030888019348402685383311095030884356731112886316823960378572796288532824588478234949384868912708000223119984161992105752059185137674711077940232530298853451166664700609238496874366152042676602089571801873748042888046623717879084695143810047335029), (6445, 101461065764578261241074518788237888467081270902741849861528201922043223477790661159690684156056890167304291810116447916457265705130707166062372766839626095333813681671546097679623755546322833727082145873422243641505450049118758544298328784536759107951763715458884889255549767465897671061295486677353893450789955616926292534325337544782386120469581214993770910137353221116457111551538222138388416162630076391624447865248920466274175229034129561913505977209131490066291917549232913771218316393849495621818397), (1359, 301175604076484656987097022479686300460199620068959954988990822483114048418823291831080744590394713639405681060973359346474547015206086229256524657214311815578895906855833813636970640902962286472992468394831014254279137613828904924898823470285520515090889491445149243620044782726415898188702226878029241518020146726699446397961112596830223444821094650508662477147134721631935528182772284099429814417490160457082241680661), (45286, 244867719210730952183489456726726432791149629831242968845409984537752132549250274779516590253042559196452609852176114909791657154092483479876795482861784431886143414585698773882088948703730268947925790809436449512089696895048994874003651088538416399435467483409931121063976149037130454114161175715871108284419975118570732022104749321213013756795645219060997019373915339235627535694458093194617642834806820772479160496966470147893963746139947337914575231526069667124822677688977724313174612816604463495630041075005651663546036363128325535621487658461744362098985183050127661470315454320073092665472364666768205258769), (5649, 4766101906865350375503575239791521167258753430948472304582908507542293595346756303331383584550516424087839316050412570112796817549423179461056531056102741963677007097061600281918678364910813585444151640384802648969082273001142879806475184857246441212406056540028447374033197873299250076862108042582790928405869475508762352345569281589853917902601519294573327847401601789315980414998055948162169170771240383220643819333682845459742335249254576151835966500230706707674854493184181354958093926469960861)]
g=2^150
L=Matrix(ZZ,130,138)
for i in range(129):
L[i,i]=1

for i in range(8):
for j in range(129):
L[j,130+i]=A[i][0]^(j)*g

L[129,129]=2^60
for i in range(8):
L[129,i+130]=-A[i][1]*g

print(L.LLL()[0])

最后把系数取出来AES-CRT解密

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from Crypto.Cipher import AES
from hashlib import sha256

coe=[16876298701281144467, 4341623479214198629, 9201397801953532306, 16204350779251421655, 7345694695627297185, 9043033823256673136, 13493545904865138327, 2528656505346190391, 5860787621291874225, 6911473480019821660, 7243049348656678008, 15582139446035944589, 4898759005642311623, 13791107940088032965, 12202568751666342068, 16987321544504012245, 81059762722874258, 7300483918734745424, 15522853686464250250, 1029559960397028677, 12494803888399693048, 3734196368338715525, 15876183448428297430, 16128996156529178645, 4948741747165821941, 14842428818718442113, 5559834054321886198, 15728109525492077240, 9769628437887116864, 9965299213511216432, 16259271979529821198, 4229013624431837547, 5351526237814543513, 6773957888903744354, 15645554050981602119, 7948327242954695525, 16879408807485088820, 4028678427431584477, 4809288965140723749, 8081529126186710847, 7560833815277423481, 17204735409055418872, 11348195481616076967, 1216578903694340432, 5872332661386383894, 13414321564692773665, 3519815358731143412, 5120611231903772726, 4274699638525163443, 1156680578665422810, 11533605743510980247, 3262872174220935935, 14556822122593458142, 14852936183989110748, 5260815632225305836, 16724519892340136538, 354608512346660782, 6315123139620427930, 2090521840274083881, 17914258078059478594, 8915266026793545520, 7633550742675101743, 9306196833324379048, 16775657501334402922, 10068962090850430903, 53746211197164712, 4153332649563623090, 2345418168814011449, 9887295388060984536, 618922458519797218, 11454815375689330253, 7951472701497910031, 13924576411140545088, 2847759873854470776, 13493139746901263185, 2449153562558820340, 17244128610087613349, 16841263615562893339, 11821681183043089029, 509027547159796581, 355856489167137322, 1690661705662377094, 3787045116088456450, 12844355662392298492, 9983113560564770896, 5069848799053711081, 11137625778284499577, 7836696626880825407, 14387144355632294030, 13040653029635159169, 8469174034864633671, 6441902548654130006, 1054167408507924626, 3297294965843274745, 4139569188640819500, 530116604287271342, 3790498327282851437, 7521471263757737841, 5547392118425333225, 1929920249747932991, 7902611611979821251, 104476927105896567, 12906275653182030863, 5475144703486940934, 10700443736925473174, 11218183961955369894, 11666617398898960015, 13807357350539883877, 5182212691681791674, 6826440877850042350, 7876617494447104127, 16565719315945899133, 3249206776894505732, 8291312543867747874, 15719222726003530388, 7543295826642959012, 13378331951002428824, 18201617500757492128, 7308172856848374280, 5422570462453015583, 9947318394966047309, 8085486783658335213, 14650296685926254303, 5491524275106992252, 1882441946478942917, 4296575711662619838, 8322461215449306738, 10191503544855118944, 2663837216318969053]
def polyeval(poly, x):
return sum([a * x**(i) for i, a in enumerate(poly)])

secret = polyeval(coe, 0x48763)
key = sha256(str(secret).encode()).digest()[:16]

c=b'G$\xf5\x9e\xa9\xb1e\xb5\x86w\xdfz\xbeP\xecJ\xb8wT<<\x84\xc5v\xb4\x02Z\xa4\xed\x8fB\x00[\xc0\x02\xf9\xc0x\x16\xf9\xa4\x02\xb8\xbb'
nonce=b'\x8f\xa5z\xb4mZ\x97\xe9'

cipher = AES.new(key, AES.MODE_CTR,nonce=nonce)
print(cipher.decrypt(c))

Secret

和N1CTF的Ezdlp那题差不多同样的思路就能做,最后共模攻击

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
def getnum(l,time):
s1=1
s2=1
S=sum(l)
if S>0:
s1=pow(c[time],S)
else:
s2=pow(c[time],abs(S))
for i in range(time):
if l[i]>0:
s2=s2*pow(c[i],l[i])
else:
s1=s1*pow(c[i],abs(l[i]))
for i in range(time,len(c)-1):
if l[i]>0:
s2=s2*pow(c[i+1],l[i])
else:
s1=s1*pow(c[i+1],abs(l[i]))
return s1-s2

e=[5079863274432613129652097264418996777847111634334997559197124983402447941465297015159231461748389793672000998292245927837845280518444183316572514431428012, 8903503011589875519020082311141303298577328899379557718226521775241284738826597181944326981363953007372933082363342602211349916840544865094550123031022700, 810078503113700404115612949501346868450070733271529170185798157369214946817681783208686089533635163730354884890418573874511294837427707136315613429419362, 11998346594087952543093777398698083101377631708112235206715618248409901396939250841629826292424887121270784898080691564291358237265847609657325852869346144, 2955312571204942362703042302258009024276741063115913106854968498100953947088019169684832323569137066981700793844230839986610619801546530789027883788517143, 11405714913452161309626243937496964898978177595678344229401866252609197764006011027498025066526049167441577042500236035198263901190898860845679070763873522, 5202698413748933882280889494475761605389575211229503890450480264820804634979316063457799162128406305182044884965409134684358548614269834445343189997485427, 5657999605333685815169204879447442322390476629046240974562616418730076667681353665710037822370413942194015755061290856962554579968111703703808127931384085, 6399007732510610215714108501924567632175065216839318864802885166764687927307434376125986399488157502786491164716019734776812429964665278461205109746917850, 10026326436529072463148485070400295317355017960329044514800778016845066528225850514818975438769142571150445122956487246774644601991649280692431867712418219, 12005856506867046441581048432445566020842491244470366079076602625602380693669538975213153359860286029022690228432181277866088100771734085992230316710705932, 10509442367922318061842595637429122814246472159876176250357400320363439326870659310875257439809240676732864199470263253077766595063778322273579956604258961, 166377138308687247747635582482289514293411024683083488359565325172681650722894828186801019028057141303994252410115621200415252485059436110432591262871247, 2105780378453614718983798727339131922802135053974909014096810140159435889598614679341532441780926903596334442638475608525939492037503660558054547833112830, 11677909339933959328950323513522773534091527644855569779814940852225705294912055220393155429257635488679445503904187272630167276630167854914545096618509394, 10265091562847896613436164800522252270029946518367424564431941427406758622443916422288543111195000975907579293859025701501486746251993134812097647130919819, 12891172085430051795558343186756432237478585685285888264503065273846622241811687539080571683575531608529054116801345319430227222186539781214178837380689937, 1140070072511802240375137631015099308243388035212775224768241918520097274121318137648351232160055128882841376337736795004819042928398532117807714779151947, 1630396253262738899446795017575636416651275942086001405395540670833142656634147358714744033339155052682386589799284617538519456628099822793639270582534001, 11664204007120796891792946501603383361201434143812157606626513190015555843292506541062897865863456400645830906536878503756121060840029072773681888687818192, 12953338504481193461122573174033906422583932721726767116265344346638348075562685046239924002259957380923248744291814927144839391809271273368578176789835562, 8412121751244408581489518904909980952317673205460125697378185861465728214757146920613058610748196488502226722260727855287624009948975816386491828237425477, 12651514204083473548909227796476857256905152321069110476147773450363095748896155569530802583875165954949185563820956284247016639138989802276815428726819836, 6975089010799054089964735627929102196942378751858175766821132100983565095674340572712975659930064178521012084797037281960945957854862556717436614601481293, 7814907109335276110461089930387154883687982085702344101369784149105969012654694719452822416479484946427657273791759562921274192592759481914257598388333622, 8884607868146981456632880701143397516760114274447121094012066740877620397972683056762493749329590934522967845933211513879829342214986756594802584884157349, 10929551535590763299012746322698292570849361232219970134182464952173531486553182453388717176427424675922971508360042565847530314593934661349110796629199365, 5694057044176469199508761592187745493195268716147130763446320096086518272768160602309610820934401488257203830865790354650013558644582813000919880470275700, 2114745449337577194729221105620254541915594563436529758178497663445098031340820050955690953237833815266028765284079577998108707768083861705943396167882442, 231441365353436866084007699568995700576816457908588298915420924086698235994498541953681075389217734610174282727805078104633013169714098772282780002070856, 13239007012045013430194850759899700784688149205140155930053358194654925277078073093068540786473990945208371858677844048995435511650041552301549406567235319, 12680081118914146504671398759372731237719453387802875547245817892348679019076154879329027405667510756043469239737251985274585099670725120830916084814053911, 9483491316816706071664293364138885890308327998410221369532596356300519441367104846326869182094135750976277769875118999020434213915754039372107919403088310, 11039200010205769655289663258663389918729076817434144454722382236522376751175010383701401982634631712342701945386223687194359026384798436387881693810220706, 9052040670951598645297144376844945439015259439072613354943358050631507155078630464516962003389675186097446236018726148628123179790633322049091993068259657, 8091186962224505980406641693775978669149957962669881072616949832580564669979840574884065537137790097302525278542211590891444125879967874009550369242103702, 8306699036754332947706715424832315074352749586745231934510417641672153738312361393740102791269140525336140836066358120400828731184957578610818207046455426, 1466313794473948277309517150596983839163150353101365541465229695746434417524182709079067880978258890306981390953904005653927366478806842643012653006402661, 12571793360822117850419077735602678429810199743396515248903297460723143127033426388383466862385416103769810789588472625779080240334522465289702743069310694, 2158076728014736743755566735010267099539658396688225624394003538637736687637217150192840514677751001810821725610238313043197409268362725765272027746026024, 11132027345218738779743450978073013197563742238675283750060935403962038656178388591950806590126283210022067664081328913303035238391159639563092095719031881, 12987410143250153848653856756418609003288516933418473598813681158481671898962904339530962420890186795039269421982396999423084824322306786776774116884437290, 13403379496489308982445686309097785258953302776121956147130519200352039974601372665574037457949812132249298495781232924094006416303300878657245100224154171, 9967276015101098827826178738176037345594367878103575483312618526546989123123657901376062209636424649010796995748103177886430569717654972940584360610923127, 6356688171702938004179216899142755797450936003881305030328669134685539239243689682581300832398685232779920349883017946991885312630250033951799906319181340, 12057921539869979656060618692822667520262806033023792533868850902469818093426675270752893785379751616837787452407981339224192817826352297459371831881777358, 3525863852947069014852514208434414234023980477834408137066615439290431997571597827999970744362312745888091236593282658567106969524811115361932473618217771, 6344712592985416560423178464086320199621232433208898804172931411965554109977125399245805430078669639319941437278084286809987460755627350063793089910854606, 11683857679297512831429424700319081617791684927417261288061693554069044991809824854913621398629576396444917633967400261961104769787428313633651634622797769, 7792480308251619956648434866603875439726970530104327934508226730818936063705611642757335019437055611618385862019162037405532408274146334593464615813583597, 8422480111336491990630059969437646385700192011634768568173908805534516593978882601947453527023995406134860303242191570815166715091495384793749128971611406, 10502683498594573499891598017078597914718487203828172092088634585889612060090137819993910858172300184618703366842488817707382904016813641625863876575006997, 5940751803709930035237511235396768688216765343518733285505284394863214288760303579711257414455423056403313307422101218793050186145714927867677120025919199, 10716927245988327805129531613003840523253032360837264295995978017923458852022355938381935329309747776938237058969541058503614546311924406072107555517514044, 8089396324717123841838443361001864980734651059303501334825432430140285924733118517009381249576088043865241411967739663946648140936900903275701328794099300, 803375845708994030293324395768607058384512071816847430064840663221991169612122569195439530834798473215581725869394938912144003553357448743574719702979164, 2417980818305878188677126070765530925891701566674704423338103174407240773399103138534790960735538671618883312867600207527982495253572693120248015889671421, 8649733459238960982083252223848553029726952828009833492023337866934779838698842819321101275541924311698657797395009869306722098092209821256837967050332612, 208330060900654859925260071826411648609337673909778553242241397598287718888300119510790695849054113984922401115541232542950480349552769790988493994329066, 10322081054443083920153764829235971283085950517689600004006475295735929425119385980645721105626536569129848759401358706030971117982739337019614614924928233, 4716147416396168714154228299398396547749843674335209925696461016971822651874425334549720688093794710586427059416976537120179659507732947468837442955419968, 9009206013337328202732736177606311909716074596876257537316107532091043281025117394712046971444185514966640900328577265952181248688718284969072370794188666, 13322237085168146757182487336447638611976232798680090095666521096834982945995397227113061858095860924873741796223064409446533413009409867440106215276572745, 167335195265334273987099562312455385859589597300266850130298304438323847273686727155876528781589029913492792260023711139335024898307895729258931805737489]
c=[1340428282304364342582665165194748707635813797531561083383406608515377143449795866062844295415776309167525958657460434296122345273680276529608968292918251068313214729690331782862758732554242318318011202746667455940986323222954543304373634413205440872809945630087001577981704222687702689005616030207304297463356114682806664548567259832635632127617547358935861899749511259089149539893862561133000512544726484111118296875383264559102357162781528463609339347937641458145858288458571983766841817157512643073669481012576160481323199457521682009798578104867153483836273012157821969941250977961656905573210326095180119085850, 4559491800282685031373383914483081855710917028475523406886092297712442827052155227578232897503157454990891465371576314240095633773069474152711775770512002056402815542666753237099504453362656282068319751512956734058271239235762701439823772327169372200855674499192720036526031806752630602903779931405746099525628423421359859064016326306665873599448273422668923755632784654715266759587548479031022770383086347333534319750840601656203170312156404548880303053197514211719539337445462967344340934778241679807283272286501563193187297158298083943139600043411076059620686557983102922388838555592736620455320374470975749225014, 17031516082322946074508089725822199222097545883201617283685408719484264428110457900142757738687494812109472697087939413886608501156300972175084024814153733681104374474575266039998770167944630790472160764404023462639881206733248304620978797480564701814429033865119898024881028604176304082667480190721220539612264479899628274697883922072850710863973779838597428079876772782625219102915397129802590656443679549995434383662918653221927450075818670460382862947633019698613227661613151679687641347997337952580492335250800715572679882292728206883833927367795267175376291596099603064985252763794864090381749198967024770866179, 3694724655521120956780786981595209817448023110615940436040966151385289878328943137211899731954991418151017163043032325818489322082283112102168329026541181934311641220560937932664355274225324647847913668895835653576004574641296319047199553573479130243917503363838321043830682091212921451326599743357073700635875306126444022738903666110966007767324488337904479179562704193653304331015438700014525795808187029881492540429448244617182602958015735939517377185899746596064939879352874100375480232538998565568347761032547480991919525304285539410546343014331914147279542289703294164403424287867329377365312889592485818945621, 9027100562163049207724492610972184532279447867696111215297876729524514578460782264465178548272521289266338164307601883845369916527966726111544601493078803518547085271897659040042920411772161469946645928436410956693581646659305742583366449195082224131989957456075418212157482736836854235293710405211468343830065310969312550771668811019498206794734765220487589854989460444581856005282672095279655384930588867943876984476816227172331827532458822898991956288440949331253257263192025291624606117284648522335522931893864480154325395096493496955510445746729049583031323646992833379535241084770321154877703647495952592484817, 14211546299797380054687747335829322609227571481894038188473378487919957091929930661244664726308048855142332026323246719732891398507091050164749225516160247453894604721508269393000965547439405871605942299535096186784124680058327558231481226268738944346923116717844406659733594811158055280163861217281408963901519070099047264225606750500693700654736907634917397155429689060841045873900608891928686645784931132268055618027218570463003358511364584464654258491222435951782481333800145113716654039306097226662505403820400989709994784764870615358547005130846947772730498068942342319037115361378276371857208188905016780400706, 11500312731143761673574879195125152193992124003833490519551296940083990094771671558524865643965093193850239474463305892954418803531479765143491897541081264293971351028658723763279925641124224043142082654671043614781142080833354052757844808255868635017826876839835921616283738016328869865286818981934707344847279211739845425059190912633447653290305910552698589094498259266075272411065408494311347022078336934055608536226793609143962279914164481400776503857796856116245938417446533368820933582932753072658433734519281283751080086905392625531977315344433628692463542224526860492119297848929295346074568302979289854602464, 9046868396950587447280018392089796627771301809910284859639727543260972843504614611911871027161012751768012862048329664833191919985443118257357212801097181162832820364920527466332803042811067062543207929551552293272943281964720087739888920808760422810720628511179913600621810344492672354864325849572045661171836646604095786975372766970532295769332080977189156718569205011302717577041796123166376199000536074722974355083244173937734230002749479237169509283717376017522807899600076026514198502996001272651183982577620056815981323282587224783904450760279508721755271743768107512478057718439668091619915028146574102075793, 14631867094987982933815393176965869457981016903518102224949303148416827510976662995395220073684409143126828476914962375182335108199292851174278028692214484078857255589883661665469791401299232382502994925624922025333999349195284835042225515241157805995366927931824812101708247844793305539436871159657658725570535305001450959581386665261640776623632838012255346475010577590082954476601080352592428132993371368277519948607589840878769396711259178319402591649220447454468080232285987619114517149009333446199308600052686892767002717284347846221044158368994447841089098096951642885223158971874585095851336668144132505659993, 5599810461536102452406194520411422606593905287895050632592302269952520888130781931163136557331453958641064688590620176850335466255435613919861120546713222902954779079869434817770299288004049161626370957354120569366815807706156492949562789331529440841718386855879121476538783166531892650855331655929180079184956404891353741254489006367618476468819048554975749242549728821598700012054269606969100585616123629318517208105060390805826468326386126771643830655848505503797043657261087302488316332453284747200270180880576817241041684637497275482545736622070992443066884028103173895599741604326372962206946167612150671627300, 8982773382133267864552453960999017571870614607211617106526031149679726665648109484590090334212355876232783558881860547828093963491292980039459610991613278895434144079615846075804673235302138909972714143973079375508372184910906893286782342725016210609261833852562512216006182844575876793348727370026890251611654510819058175748552901686002234391965359724726820622958221447294337190169554173373308335793667853901395900459799569062564944340667088822685902826983007050811140658757348184970013729905460168438636745101280870101530849866128609637644997805521792758531622634601243512609162235962458598843516007378885131070368, 4776714037827754377267620098928144906342242801705050317672464867593162071811785251459168192745326768131021370178054239355607751165519204646545374618914898671232367991590988572103690506647785285646543661500489067315028264506783235162057901291705131483167672660639765834204415161531001579375984775883821278324668771921659190308280657418220051598614511027675838906135199108617277879466291726356308534577025457656359973766556208006477058168347655582156582209333386218191297491975076190071490054064729724645567908642137924838498823689164958175542448237728492877213981298871854567480149891215134861610463708620733723754390, 12955996545112644740917803866248369882937630524241090686422582826252381963521275910300210634728556905621094888477668700310904304391876625487025689322456576766089997626616681352495462412331913712456289324223074497358205915609916082394137187967148644539369318800053690747965337030638127825144588949463447737270746905347499327148251416459938711516833171323223823316473987217130775624012175220351542763634204289561484275871164919923020791140752088080261117433329492164326655572470598858223563007160456881616406143569573171841783319223101831695683852869718632090381685883740919357766216202610991378093314839253530288103206, 16901016736199862091793794814255540931299048112622694456487780121613552402958648605258086553950690042815945756145868970156469978197654069147872188522834581570050093546520460771627412487785712292148666080957149405889622087901948729500191031659280390567976958210359952764675265768231662381059747549465437784503412571333637978859041246487865240295637162206471776881851699650993050617454460891295540284045548444601892899945039528016529111211088915175646118427377913466428304423727535946125474776132370966346036843764760459524907615766671964336828723349435797418493281181205408274567376364860840238043139559495691426991290, 628594822240131211142367954593899735116648972762470364057743893228782026645587831337238803449861303862942572302920757501201800076068743316950092213943034393279348396829283729962664391203807974500545160573470003418189178146823163208726262456728294464439875417626625907303169050197821493969212357198547729953416951427482214476844317238819226965608519625827384088190237200870538308920869156531640895937378867668135016529262119722673097338031206673632314616546922015416419687699986701480730334141960299843757660319468466662586255837844053535126173329388608666839066356049240945629863404764810815376949831344858547885557, 4693852674935499214836852256353955826813551090140796589047406822639358285230654121988095186959533907374160971506840710200662704183090087059932703074990064381342230277971232084632728790784835176097102813181930702626989922854505537881224479221811691643982477591509091470952787560884993189567128841729559705479088057390142774638662964958882083517865266881409205906009241875028552287199326988841123823501594770259534741474527371887331138212070139041334099990817778535408398862575304652025985799005588062694680549700020658873060040637400192069396857438709572174520703295247953002996112392660198897571424363322239165568663, 6551211919277628735513153921466430282539607401995963221587827960616318763199470632202691178343122002680154701339366896586769036964459538123967454045153700461656448084445209834657174977857443805737594976830636925223968315276899510735728755775873798356660503200350934823151227987214708415154599356338964105903553655496668607616201435529111715834450743821434250352458003241234690201828485690936396586533672468260678207693852178236144841302789345846607968939658583460888594530680277339965422533305648554462087897105680260979715915979285652227504415080999280747403033588278056896810300901285822800506588462416119431318853, 2771687088557810024619598258874619064833101538329762188090344538708400409828607871265718970303648970813383151498643491811125867550945171581660821704878943751032306446150424161708601165175671753701045606241610425075347501358764099441179129993037375704732602299419152963700137248139425275347689231650696071182722098006198939220688852266454832105188178018088934431347261842909649653723917388230117419720648134827316261910503911261568700336368664723223059808747750789653690897290468206625663032117551557597900487630446782475705376347771258476480004331311824444900105921549691395452519959723495805818459726906514297777183, 14410453705443544583844987735546532975525637315633782413099087154228526825359126140034972574260238018057699491087341611729336578926702379566436138469229312145827699035524711503934094379209930508142003308676167028952114272063618632205552196066295425887241611793575862158413539048828614726400289527911527145200550925081663034260024102015693898867611049019999957516006730505516302124560799891409576324031898853723635240080262721745664176554312800734850473545894958802021915355616086871215158180763986548302207974637997744927308664074921479975384493661122442107438682671230335456565779352770766760249417895377927584760926, 10446624851648419972252062261057733216144480623940757145999978698764332711554019250787662803039478615556730313844391447630310193927221307745888438506833593102503036142199129334898276552105720907232748816506776502870959671942819077249165547003131656655528855456945934706825041909492585755289885992746541903253726640015194979680594752502879084322400026056697922908404127655519517457792649648225569738467290650832601586273641261173065399903993051224388178681145138676428774652242749496343867312257338774962338700540278001117754077522136331395009562823300188826311719552467178990283801346005338754084567244436612272960974, 16690941453837828142672797826999528793572058939449626000016160634524847664981364572134530175715377075340955464979602572365909154054659084854364971640312556939657670327041153706196646306989832597065568310974436806653023435896488846033392688924250427966043310046269100527603947915943050133856811404585168205944558165453703431527624506334595045432506934627308020816086352060789500148074036129987141915081067491781193918576923349272144399526024790810392003819056087551693099439565144457445092404856674486557317031234140333788168367691688139043737717078949005514962010399921685317365431804878419028252309372231183965755599, 7351734790128690115760973703093812793072519827632832548072447195807902007480471016180127731301657745440385251537029006926632333888026239002344299730015524748788826686019615969437401225583133406499322689807413056713463098068667355385070847532369184198834207598352669656544159215683462196647737725199044824798073282678837171398365168212586338961890749107714904467296045469714271652112677906299834985415220309151596948564450708865593759133983653535527640733983728734214960531069941744742049444260235908455210325488557801948439335377449152560195683104434879100454941267069176600899676815001105544242471516911330449199493, 11852814053749182402572736748536626919399020564200900675586405027085320287100583900261556583965513307690019054778232441549997262525693266662818314668386265694006016187995755098156541780435539124457944899284605866848248952874146972343040283811454320281250441979737916610057913465323643402204843172935837485578326767870803637372791704314926025685682380130958935838448427950849265244350977714916287411310563094021183623076044366985847897264118929567232739186530626426222745228613819626912242012136378511351453840684390253231521607399296553754246401292359452395337495504543482120126173703670259141213609819575572800252360, 11680515258346811997068098854347364535490357219860825311895792496526422286111520824459113812597757651594512376214223227358245175755737136101087925089777262789925343054352251682360592224585101797544982606136498072758963128587795859121028452641129718304358849668024630074112495913796184572292662005419927159235970411359716968681332962196875306020958442122441036243160608384719188600274630756893869056204751939178380547130318251929812650749245897013099218155431802117401100568063382492523483470523642643526391772634038890094454671698833947832932880380383411894491774297856064992939855112202248875717434777826902138116360, 6599467407595393709976641549001058623470182696430018800062404166263871725249805658280224128778557569506127381868940073703390738703035603446680552827790766866676143743555132533159781234141622053952808797212014640503485459347240832741242576303113184692923825731069428793576947003103397304334027784423940898801842901300885449600496916258779200997975423290447140441742636608840442212988559768090413214007234760592321302413102246411007013932605946927555026506862066243643982819355807217239027897608872405242299373764432703651525748593277763533735890728570418041843090052814953242173431603082822626245842121128189905177255, 12649335520238226144146544247972825527599439320056662024333296570746837138900992170557211119508711622681992438639803063397905215969396668372616413128626515143400935465360120302273752480791983782773216615763063823535164246612789820339138812936318345293165888853776534903885615098996987020059528861479439042854358821863728432420135702255950791821420253656072262247397399669516082375304992560095395047654157561465359724902030530599992914513765552028040663935332637973788963104057172098953509886719579154899787397798248996415787995975050969030604105637892997866991445977377789740685154243809034915192326152061582888245852, 4341308989153335039015617605325454267746873439937702159447233111938201218249077345441598479302608622085118025673884628420317423258845317888914757433339688871195588107795984448917491868819134932781269272123301627906364248442780189715016357504753039452413048865838875081229811150066916956310683989066846512249436245977683975557507693577622868313920102861510375014322557282873398486121331456340891173914052162651230900032191164994715989625611148660571334745395621275743464750281460038787072702545836560532779983642421298806843584616892264170651660720915103927525089791168495959469429474807617128439204700681930145969130, 8624251109085797331633582372105795800900321936460171221297737409562221066325787169294984717591881109290282642763366899324256951141075914582675902305308545042812092670322130716020784299871352231878111195102199232450360640313104620246444572215742805665235046299854090927782954094150034249122912084852288118826211506742668073507483190232405041213599914166929190765759099623445170343760294838071463854987916704277678493880575033945659310567274930839846322421596543303580320669561192432714081099946770842542134545209160442831095054628189930039532876277358925678517212087047630293500924847055044897758058938577630260261096, 6796353291996395502528225719746265859215028724193381531163695895154926727081600942262501953480475775402788502985249685408322405420902683362298726853610074142374210914178831239630133251876172872592829369404610256709505238747777295848025891726791042384464161147870611635499821511785366396631844378547400760103040352991719787769737309579714334031953554766072839177627882903994546597123766219726318299227049816520811153718445308744814178607010485214938439124267330815710021275082620902555141959150917887099691847638403016482874685773291407831143496798480997870143968207841596975537139592212030995838662043351659889221055, 1862557227805408345182455277552676698804922770417232938095916971199412394284421908871420553390083538888299928127098562083887258322744718674796315401556000678765338489671235172474865286293982761012963555207610137000012000765693447768325830834442713515808909177531309594258082574036543128145395050760663559604421952022202726607273573695128683161910989855819506700379369103369037647566608161214301822473983950588485993838991605817439143760177735477197291690319853973194812349990313763686872961459366555705966047759569909537935566067750795787771713431143053395297699857115964615588017699246727201689257717502063199583735, 2964439432493421500557997987371606719650769309766711648321694952686310075496885862615169341935282517426380377051303968953995974940082949874127239987231831940647719142786249812854066683981247406741393972601731662110917451453984701893248611292982349440820021164634955330621971684621455565146244610720654062264631903555010606278729814422789973002615464488961507434889337828822445115969270258122118858203527309843659640067416367352548861614316708617427695891187365488238550590500441530801796959694069570915377891541487666975253770403560792446273225234935887251393332767458431595557673569431084076433828023508176578020280, 8137732477938330805162692953697090554049186466785340438216308284309862676875300842856464819325085111984654527079843310783856982229362065968212636808048736270292787981753637453745334857488902926745560894821290665653358850076862485554573529334367164905328319395951459748822042764069583302172262096742528181003995565335260380800739178598259075992900588192326469784908690423681201353548160207250938344722777293102591362479410059119302158864953056700878300792858403328966176157758772041007130353844382107995751947936627574865138518282925902661871019784105192683691188401701814611565743929316441487296628023759841618739552, 9789812162264105592023574147236501833445698251390297325760064782499936988586177065819438818207280636934775811504299291640809883811422161096932127404568073778180079394166705259113891520989885023993186440911738375537477706728054686062139582912244425669639866055935007594712700795075215828020052693387819348436153734281586864005178050791497933234060765174488078944483826023940039201152961778085722560914399920997170849214997496088773173536761634958229357652562005479926413017693215776769310420882459095645374564148800988363446612651709555390025978408432558345212274287464383030228787363109096639685337137039829741901733, 10728344070744355165963763629751892867625922297973987741677007276299141015008626643399797387127616873409919181181045327456532611698193045179055607992319432880176042288982511579772376060162822155413762150683195047058114482979347481777846891612865837721519561264730601052785970734273476944858464141330339062573977358029587569310892417087462149587822320770909443388668286701491685739375537594610581043180715576915404762099796808284297813741425912057281865180899561043894979657989775075836619566009590877473384711971590240420182966421086427911060621397874130196018467644098528871866931765983581410347538910751557456073517, 13676042345880328741153385092862875501789847934305372673047965702299052353569215622109400455709194151261215953972335075060661494763583663241218637637334040893888392559913876596055318613952466293600174072659103129004902085375304477509742420003651193649010875977016011287360093057136266898945898114964892290177564908254900722146837039954868930341487614106690964660307912129757559054491195199988360986337215945790537504052663376981206043756764792895360406554448573838011844198272055198731294085132472550151106773274958674188000433689353829873137210170533764942694482857727959566135215916137444319578839175861729300288969, 11264859000548222296530227463739414046997320962889027070656247205680862406102698646307063743806374273386678867336641686660939870096865004003910695770587183733765594137477145806302897090040541995237889145886727169604252745721877650238223988565337420085920619119316553725572765168064008485500099079658527951119872883396193254107569749278217700469479304632888675720643087007481314379451547808068160875621230044739619241663573277867840195367042239669365339626171920542561508134785749479355911911631807918921043342743648192828802293236723904644706280612379712264207664901108742816059057218517537392573569853079053476576856, 741520750298655811785744508058602658478364777832875326316345487809617421367545287704848004763266257509689474534269387914500482300952683533332819686268767966688052947657373579421227625615230749191935136175773709081491440204212872634955185950027329875071410052442770159744185676900026492065907446250361324550862308659476629036495381037848342204837684088859898018032353015970025408843347116124892992708043975881215727351372562935541158110606985830503992381935765202411330012971372488657391631152051507105501837992062694998515572028435490659638526549406150083731719393833152204382252453626814457087517700488998329684058, 8701051717985462654772756354978379235488506680548754045760956792296944349375342126783468045740800370410939754936420719869851112530587047062664983865835993766051124831693609283767780956599532449141787657270076124086189943065195553723948014729702238400613148847778172848033004252099414308314615259363626333079237881210578809555794660062114290278881132498464269742689282084146444179236605553146025626720987942569702427248607261556010699323643117057216756998150646027146866834677743723643257699555134864397437064075191662444596994829861317481127737045404026016086288851153795653348944688829015906886165222667980413072108, 16667918993121117970967490442839519026892961805539264262094567728758453922119536618302493178077690717972315611042558838731585392633232417467939233343267723069526817699817929485575571588933771487429131750268218279717865422941603159903620912513330969652946643960442976380686334111740775060726873316504032193588331614033924836676369705574462127060868719236270129031180938017844887788490714221343188057732313295242713687557573200168665661123588246431633068445230793697572074955704597924861090873708089099853894085021302185683370285719406259158371272999780265401347992752830962763054550165420768416107820678976711115900670, 7057137150316132356670238358518014891162772701433156375896417091051366937084234102289215115365969970740724124789934863269388043904182730963867164179276327232079493995456833134330072436854441427261259194256217339612065160185717141098287068742006024940062939669584963239097285393984339512723989974309446694486908704929205556974228507983474379632659058082154124890292819336394576567612675714853435071387591165988091117534790557616750730596366853807006394674166745276132300625473717234442144838312472841371690860790349272408461380385506250494241900902734197734289763984666950676408378390007903955492471714623217782267473, 6999709647383553594402711878105669420049719851006009368704448264591136868672661372823025795588979980722652694417666376255265867848367320367221965388093305905671063628412808940284141950706499100126121339153686440891883994800101425485984899467231598113770424155579365078046812227720111867003570433745060881589950673519861488061859267688233836414986868910615819931963645226927920284644503719541860030364344646954445052526926162954279140258578461968757919630381141495862570543044505641907576357375541333757808847773229179657960520945572988430589579839014638798184455475176452427963270388302260663251483852384595351502254, 17526332517871544141944360849713847854890337163212699685623771668944971751721067719518174835086071748341151446303193115121718128371015015659383331010848350971651869185118244813375657657012513863446059098566111993591608951873910422090282836389413736803629878703352750798562782364296423501222818324434691560495350592244489825910423691779657241604850803404395538089970063474213123858020952205999478078409627067003593918338330499042496299760866698925513416076020823922125104169104784676338723863793514912464968876905708780138974179037851209860367937724961318902885594178389488470587123406692975903244836157888903240544231, 14941581006080100807934418609630951207899600545264236055579515772608635575205359960884611215824415930114815764626691245414879941517385249463420459908935307526996683064042553428245568706806620699867455651430885410710081631328366446800902430396820525270462743099115526846365500122314971031628305702284660625569111863721520273479797226857528663126653121897657406144521852419096183957575418129966558565786813183453031198493646524872568372327924542102131745863049570936149797302177562911348328490516844293173955567455227162273214870736419066638668477888646469755615899120591817966766553674302394894848966461759337719604525, 2463628099518836823475475958421251447822083740803359992364876891698624399146055751960980951498499604249905998641406552555182351975309576587141421664713087174382125354320539152453500067206960963721107187759023459150206037163187474944804349854144893586781951596262074064969399810943049227099224208183641336903082248333445722683060695422684461794953979249179173745626188479815597669528477615093876961341721900233189254211239162767158568553820448099798267150672206522987018954148171097321203850147400689551226670490143914303471592254089420629125779288646685788280751286802753856632726519166812382817904160458030403135179, 13922247690360432078575878151680200359657873754696918354033930089723349987965055546844177516266809730077389237200681294497738849927829301073568397448716074461541862483193843225629574082269942313522944705329410462185265391174170423607447886795606989204694106480337200811229745268039897005289087913150527512677862569236804176357676987695301639201068656950299797523891174763514704256634488360055397689519180185694225851615432625938736990084365481656363416046741422554795959047197422746584955931869910113611764504925784724657229257975449421073507670378806319688811653903175015679721283353753589719347010163974538403000905, 4532576077186800629034723725138553964965315042718231595215594559861507663285739099458764610313071748913763178284701824131871400172898227533538383998906126668620558511267187564894069886806052888588656732753394241051048721065986407634535742036160033686828469181006652865012416240639934785105616294933611371557872789472563164821380864281404814290718388324879916341725822216864567907101316524830879038757826127168423761665643493391078323042832743316166390868340247856488890296582225035860618132541745309094465518328991574318215386365519838239644681389958501569591586999628913024353465234731289032145499732793804292321154, 1773310816308869801306245689198861018329267049661126240530569711114200332508659525775967817500438989926361464067559651420278345735621977380847626181105464953708298323517651003014877787620224911421600827777419421078056250637055417183737698525242108934300331500584085349050988076055971220703841155873169914816843700950992931988971061240213683201288913864577137934449087918846857790114629861834551844831436581944542382406292665279966255990373394493948365746974182927341420920658656251801692484926604982751515845383750200890789969171310976724179019711273766080135587501024096750048547322734697395336280939176304279295014, 15160350954142310804469237284078562674619832140044124553793117172212332148758699678918107952728249803363001364735424256241266771595234218069357659369280883911931246477897954751207672361926906308286451071542736549372777604256084939140052029933134081041019788066621507186362465906144143208288781320935694607665359804110539334395291207346079461035634469292689078972680784434755967947816382393582434828657910201739387699943119525178931323932841561978005276746747135561083679948883774242473917519194705730441900884525119430072786820281618839005136252551365551781894126063085956019515391923377737579796619185054466274010750, 130070826561887523241483063452498806602407504598915655153364520976896806507493038368640288936888150111976267389031117023412211485913532077259499326748723601981599198523877206489637768305901195242085083889304112007223961127517574740416349633634915742442174371019604437304782277715005613557830453510311732868102713472996388676535341523953996377928876859364531690399467796853163169157553216121699280689668714043000834358073516003927744900271788179415813185049606836678342040009231461635746869416704720008270933862870533772172210080081465970999425665935093075240702479719541138934491889950955244122807568843144425832801, 4311080055288888511118858285586125789176570143635606247754145028915212516401036969821976722849184795761852450577577316524536295990072805386152449383878155948515689231703477837628229433044081317016719502896398479479236198892436345857656929731187173943539245590345134051506371122418839526761028976214865142366117280457998391119505271610632597463738878836987631120393255513998804860490905482184478275661823776390475718611711661338561463548517234033964629994332668089493626683859062874554236437953072879388685096751748010927326396319843554669754427534761487382756208112980655389360049431419579923187029033673975473486977, 819835734396424700462290667950367242068904507590741698140089565763386200787396461622434967138777372332741607138556865456980028955964373190050992145746819559013011363507696568852369842319870916299177061108296237366345375889708324877135058697889717588417766187349873069089486470661063531620007802164027301946130037046640307467122446879418086475638012061223241470335354634554632179298781215109303472643768980696061488393541897688951977616221843390434762977431955519965478568502503803943625939054374454629943017469211188681996977975220476343443032748666961338645691781617868040813200965429256161471340243407231520585680, 16817743338134296253608832732906771459524001696276552141177146276350056621145212649429915147872184815205143277663103897230425076891788504083912767037091012099282490220647217470853148693009471996810527138262311364092155941572737379104967015937410795591452939017752237280864615781601926908766065951811510986124136536393053189656165950072162977334176185758553324119340392316302412299146857810686218488217438356569389397951255539795790949095620157296891945676121714750434799500356262587654602934097735630316264184625565237408148541128559012466730187365329026979560356977667975823189076858835559200287186910494012706958302, 15527419058019659926627088799239789369549926948881551281355575350916696719952097976468650279986967113576860350695735478653393093071375811306250090669439710571430222332220326716941137250551436670673919901958566119067816626932726835498211184280797235203002927493825340435851525929054920708507058453393166676055177761505174808756041272397604698329801185035170160641594735150973116914696736348614767464254627239620902026274658251668558135325309472330970241765799471991571316342633734864237667826757707347523959200982417525508458316792445488306619995692513706522924896292358784475919304873066036604608601809195237308360645, 10863402509591803490308295457830799183402359985936262425624604427734860774283695722761628090446825481512087640630795293426100224477318675548022707857287442688747333611673420112102321622706011230633310885388074102377440456861668510352446572184532108909495564501078008880583538624454833201676030858694203291918340621746010409440408286730684683189592217292588014949562177154410978511193727685046110992220947331815324013519070445972357399165207249362641341591748779110862973934085431851181188145414860076400320540071127499548840429771258369397663550697666259913077831004099471633974917570594485287325446894036358469807660, 466698684349090459957684968138942751755411281675505618734927753984005315144047946984567857225821196211945934559938787437578302318861329951143439831436660377909767335970602361980371246904470589405395647585407673056093117725620197859731759088438748335089503262698396277691380125759727310456849490379388145657809114037079057797982301411455270400821497992139589989170306133825977893302529428926437823663154279982545646939628629970905576605274717835377233388012787615083223539532923821828893858490279628414639573213639693019493778479317268963906694647352195203231820621311569012708863667854760357569796659792552590218023, 1023797781719923464708970758798417708123819552483953105092059246348295161225960710665063485772927432492226112935157740266189666393836897605340835545598140974286850209559505783787938453243473839679568557262109722400700477687270908875126213863624871043236692749078187343756393031762675454359288197405325995838662920671651792758133610958010576693096945933908284163191977405244448817271226571597667386334006931752073116295177758765947508153049110783513024851368572104408492244072657284821101284872413682396816528742715332611550876686000055284460890610663259092482647435854741537285734651650556607124186963134598151277681, 16564343071247906492977067831028739067835584939773748290960930795361697545249586100745145753499518782888498183806950296606298726663386744217463104437453695217807536861749024811731100054586599310081314938051294644243822808024751817949926560878423427532930355272448166081398435644019309099906032698349442095868136285908161176383470893407378408379246648157175860365687960691651849027880910276349407812857041031046056430229956155034383670527134742605855517198182374121017922619831003422398593967061372225244315489227904397672873003773478882681711944342222405085256563966830317559688962313023861733813781258587626514033984, 3397418129025038108538183517048162803911635199820335431967671837174170534277118605731582586400528212018109684982907442370723609340384741664396459820586565286342152030337187361736218432270419900628771286247735128790654352156221133458831581286256488397306599083632665953991565025675960715225602652393552353898050575226404209855704718568705524962009978814612958828521047544823132917323510174841517611059157052808241880930182690058696405002403079625532335203175068545779044346307388982286924035688216105915045128526732334090425562441798213150046463677777429703410480433291645902723557918699514732817105955799764089310395, 13227661875650696581248094947152739775756925405001276195382845618590760550782231253466059166154730633131179118366545326045788710914665129587926798689966754246438284777233768381210374703956687023840305030759295626831261621221317079436970977916358663697083930969075333226581022918303972736454359109092986216632166249070324976475717538453065779336019041983167080072119959467474318159002281066737431178230069763018513094519232710923340982090094179181715757439299233762153022126001828634503881546648038505344045561343740155025554901477758872280836146040171501500569853509502336582015723954737530480673263410132438999894039, 11157462926302349281053529114864453205171155514599647991723650862537467315175298729471318929973919517992597463828654512565255494658274079288831171561559264971779483583198885149337812640553739006464294100410415720353967362153304977781041263841440335279618062050560647886426325086064376994570548008234557815040061493180834892666201302363337205115287845657601631973755445011764444494774406976655573161709056423289002805508164618420843810463326606007196354147454232185196031537791484052684898844450788438269233491534366205115702245543861530325153132174554428098049697733289859757034286830156507435817416331255274613068575, 121828591347926735655000905089920706443920412907399011248468200892307029913394657348465131780116530692059181583306718939137596976273372742373909314352155798778231921100038222805444327300020483200756815905618185353233578154893900661065453494679516256545644433061657523566218958383010531066751623316756714462514736692626528352294149701484785834486099104393225594477875013270041289136793230353205661421762408305399554411552164645913460848266125844408854097368065447250457214131340972727253943723718664979894046985392753791761501622819890429445687963931230027927083243496507079114325429424841756659703692000828152830642, 5752569670171843417105401140396310678210762887036873912974756270558536195240408919309531872667252179193084315247138380745694773286394075457487092566410485336281132228127041838465410880616989193276097871837455686615288947050161409111901720902237676812608339857898171495040262789086329829385035711535739922107238036364599165577060443521713480058545885630462874503330353157586555348806185939937610495873311320328271211411938987301325340844973281115913257951232182209572811349297804843241057863307938817063467973009175505936124348587072988672513652898141957878107746408720552036363231081774483585024291253478908090378031, 10129050211569384821406826470902625501449375438437827278533134671912911700072221649396723633035939480561978552074493538330318432942088357479234036893175255582031663638338653119234445075086151142902088246791010794332996604967971581528115007622176516111648010433614321487678719773496077911228903237264863984369688183156030899555411789472502505783854290840732598244348899559727433268941448204683187217224440639293944301644251746648905768668710991380800093977543873603430717807937251904067929552820726044451826117852688386963966360433740585891441042545690280866325527679689476275330957437495485046352942335538955252856494, 14156092775543173800443155811590285224144136159370658437684238669046797370963898194614195221892120010965473015919455414873017664738690459742247549358066198302319061290475510064880311251236221857618886328254670063109990408440235044077787253791681454987420392643686669672737501894371826049155661344811292313730585186463779262938463412163188028348767499060974999208919168902347939923390144774787972034539973584920390193978427788123393825457671538237727081387228403014681975281399306807097341107603245650713460943858462798476907605979844152050022541292210649922137365313523452596618209138244406937756666894121398437493830]

g=2^100
g0=0
for time in range(2):
A=Matrix(ZZ,63,64)
for i in range(time):
A[i,i]=1
A[i,63]=(e[time]-e[i])*g
for i in range(time+1,len(e)):
A[i-1,i-1]=1
A[i-1,63]=(e[time]-e[i])*g

basis=list(A.LLL()[:5])

num=[]
for i in range(len(basis)):
num.append(getnum(basis[i][:-1],time))

g1=num[0]
for i in range(len(num)-1):
g1=GCD(g1,num[i+1])
g0=GCD(g0,g1)

print(g0)

得出来的结果丢factordb里找和n比特上一致的

1
2
3
4
5
6
7
8
9
n=17724789252315807248927730667204930958297858773674832260928199237060866435185638955096592748220649030149566091217826522043129307162493793671996812004000118081710563332939308211259089195461643467445875873771237895923913260591027067630542357457387530104697423520079182068902045528622287770023563712446893601808377717276767453135950949329740598173138072819431625017048326434046147044619183254356138909174424066275565264916713884294982101291708384255124605118760943142140108951391604922691454403740373626767491041574402086547023530218679378259419245611411249759537391050751834703499864363713578006540759995141466969230839
e1=e[0]-e[4]
e2=e[0]-e[2]
c1=c[0]*inverse_mod(c[4],n)%n
c2=c[0]*inverse_mod(c[2],n)%n
print(GCD(e1,e2))
_,s1,s2=xgcd(e1,e2)
m=pow(c1,s1,n)*pow(c2,s2,n)%n
print(bytes.fromhex(hex(m)[2:]))

Superprime

这个题卡了我好一会,原本想着是不是利用格基规约分解,后面发现做不动,最后数值估计加剪枝出了,看了下出题人maple3142的wp发现part1,3都可以构造递增函数用binary search求解,果然做复杂了…

part1

s为根据数字ascii码的固定位算出的常数值

从高位逐位还原,每次算出更新的值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
def gennum(l):
temp=l[::-1]
s=0
for i in range(len(l)):
s+=temp[i]*10^(i+1)
return s


n1 = 132240475872174910020944408159013384770525986234801028624784519134365862704105251340824787510945183963356820885920367304711310957365047441178683686926111455575911962257698539064559510444855775549001648292058855493337857073693460061212792795075263084221929517773754699732129582794061997056827998985829666251060653380798686353779510948629280009197715644814616657550158740378670095210797455828266323922570838468050733341304227070902756780052159113811360169205531739117518635829837403006788948761106892086004133969899267757339921
t=0
for i in range(153):
t+=3*256^i*2^4

t+=8*256^153
a=[8]

for i in range(1,154):
b=n1/(10^(153-i)*256^153*2^4)
s1=gennum(a)
s2=t/(256^153*2^4)
s0=int((b-3*s1-s1*s2)/(3+s2))
a.append(s0)
t+=s0*256^(153-i)

p=gennum(a)//10
print(n1%p)
print(p)

part2

每次模,爆破对应的,利用两等式剪枝

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
n2 = 95063555614573541810575593850289506856925979977609991181205616159125089261546784721154599484613262518469706157215924537125160406418217535531993036958388330505871763176297570429533467696205928686731756713059807727405313286020007347211892135226632724359291407913539632339885950358476265995466145680878334722001
n3 = 59077122528757446350604269162079270359932342538938986760275099248290981958441838384256597839386787448447136083450980256330743221155636885358548541847176342745397373638152767362253944731433134474562146358334422503033973244936835557423934491676324297243326613498319086748647812745223753746779568080090592100960499863677438403657325762852705171109382084916335379889394829715777901290096314487661584614712488781379507151355301063123233880909931925363322846957197537676660047824476129446066149857051131731840540157488590899311381370266592295206055792990886734933291304077440476730373491475852882163732120626849448728573574411786320772125534383707413572678316508826450778346723441956945169297689138799298561759843280317867927205551400065163199599457

a=[]
b=[]

s1=0
for i in range(155):
s1+=3*256^i*2^4
s2=0
for i in range(154):
s2+=3*256^i*2^4

t1=0
t2=0
M1=[]
M2=[]

def find(t1,t2,s1,s2,i):
if s1*s2==n3:
print(t1,t2,s1,s2)
if i>155:
return 0
for m1 in range(10):
for m2 in range(10):
if (256^(i-1)*m1+s1)*(256^(i-1)*m2+s2)%(256^i)==(n3%(256^i)) and (m1*10^(i-1)+t1)*(m2*10^(i-1)+t2)%(10^i)==(n2%(10^i)):
find(t1+m1*10^(i-1),t2+m2*10^(i-1),s1+256^(i-1)*m1,s2+256^(i-1)*m2,i+1)



find(t1,t2,s1,s2,1)
"""
q2,q3=3637614835597688283811417087451284735795723790907404269598102567844323884268458831660382863895122427922344137308051772571787667106920348754312958580649067039352206952350851620944738489878777590555129193542297958160664605061629454033040783847224918471035675969664919877726877869514540502471336353104729922441764993392231792420645815412664583902384583343063457953995717882417 ,16240620626084129569635357960935943759269695390880055174494678796886574808475500548495232716180627242490107847091316139089796101281858955162533734479656410257303886772297342639191292527487307608348085739212472450769943235321492475607992447777362986084331955247963913144876481311298880062786552320641355475076857473420482439273670098547367649970130113697205788874617731121
p2=int(long_to_bytes(q2).decode())
p3=int(long_to_bytes(q3).decode())
print(q2*q3-n3)
print(p2*p3-n2)
"""

part3

和part1一样,只不过这里的的更新是相互的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
n4 = 24589423756497058585126900932611669798817346035509889383925628660158156567930038333401661451846451875869437263666365776498658699865323180836374906288949824205543130261556051807217164348291174483234810669420041361857307271050079366739157441129916338485838528114129985080841445467007786565727910355311119650431197742495274527401569906785121880408809802492383216836691265423297722021017515667257863302820657924121913047547741420413553737917632809270380269758313556777803344394624408862183672919570479289614998783678080936272369083
n5 = 185885020243714550225131939334004568560534422416697599024696590344782893162219788079305752632863387855011040772104676488940707663157284194641170875157382507202789029285286466326803699701161968587945867047101502048926016515139728368809523009828247173096909917611001113266938209226483162533302629909322412013492978440863258135181226831155024690292336026753678424906151360739424148666951389956182136072508650529271179749569637083537783283360860102371562796635391549934474381821125255176073752645643893294533330184238070085333427

def gennum(l):
temp=l[::-1]
s=0
for i in range(len(l)):
s+=temp[i]*10^(i+1)
return s

t1=0
for i in range(154):
t1+=3*256^i*2^4

t2=0
for i in range(153):
t2+=3*256^i*2^4

t1+=256^154
t2+=6*256^153
a1=[6]
a2=[1]
for i in range(1,154):
b1=n4/(10^(153-i)*256^154*2^4)
s11=gennum(a1)
s12=t1/(256^154*2^4)
s10=int((b1-3*s11-s11*s12)/(3+s12))
b2=n5/(10^(154-i)*256^153*2^4)
s21=gennum(a2)
s22=t2/(256^153*2^4)
s20=int((b2-3*s21-s21*s22)/(3+s22))
a1.append(s10)
a2.append(s20)
t1+=s20*256^(154-i)
t2+=s10*256^(153-i)

print(gennum(a1)//10)
print(gennum(a2)//10)

拿分出来的n进行解密

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from Crypto.Util.number import *

n1 = 132240475872174910020944408159013384770525986234801028624784519134365862704105251340824787510945183963356820885920367304711310957365047441178683686926111455575911962257698539064559510444855775549001648292058855493337857073693460061212792795075263084221929517773754699732129582794061997056827998985829666251060653380798686353779510948629280009197715644814616657550158740378670095210797455828266323922570838468050733341304227070902756780052159113811360169205531739117518635829837403006788948761106892086004133969899267757339921
n2 = 95063555614573541810575593850289506856925979977609991181205616159125089261546784721154599484613262518469706157215924537125160406418217535531993036958388330505871763176297570429533467696205928686731756713059807727405313286020007347211892135226632724359291407913539632339885950358476265995466145680878334722001
n3 = 59077122528757446350604269162079270359932342538938986760275099248290981958441838384256597839386787448447136083450980256330743221155636885358548541847176342745397373638152767362253944731433134474562146358334422503033973244936835557423934491676324297243326613498319086748647812745223753746779568080090592100960499863677438403657325762852705171109382084916335379889394829715777901290096314487661584614712488781379507151355301063123233880909931925363322846957197537676660047824476129446066149857051131731840540157488590899311381370266592295206055792990886734933291304077440476730373491475852882163732120626849448728573574411786320772125534383707413572678316508826450778346723441956945169297689138799298561759843280317867927205551400065163199599457
n4 = 24589423756497058585126900932611669798817346035509889383925628660158156567930038333401661451846451875869437263666365776498658699865323180836374906288949824205543130261556051807217164348291174483234810669420041361857307271050079366739157441129916338485838528114129985080841445467007786565727910355311119650431197742495274527401569906785121880408809802492383216836691265423297722021017515667257863302820657924121913047547741420413553737917632809270380269758313556777803344394624408862183672919570479289614998783678080936272369083
n5 = 185885020243714550225131939334004568560534422416697599024696590344782893162219788079305752632863387855011040772104676488940707663157284194641170875157382507202789029285286466326803699701161968587945867047101502048926016515139728368809523009828247173096909917611001113266938209226483162533302629909322412013492978440863258135181226831155024690292336026753678424906151360739424148666951389956182136072508650529271179749569637083537783283360860102371562796635391549934474381821125255176073752645643893294533330184238070085333427
e = 65537
c = 44836759088389215801662306050375432910426695023654894661152471598197009644316944364461563733708795401026569460109604554622161444073404474265330567406370705019579756826106816505952084633979876247266812002057927154389274998399825703196810049647324831928277737068842860115202258059693760003397831075633707611377854322143735834890385706873765241863615950449707047454133596389612468366465634011925228326638487664313491916754929381088396403448356901628825906815317934440495749705736715790281606858736722493438754469493049523175471903946974639097168758949520143915621139415847104585816466890751841858540120267543411140490236193353524030168152197407408753865346510476692347085048554088639428645948051171829012753631844379643600528027854258899402371612

p=[8146548592442976266345996123132853490697005499246649457977706700220974227149533573761967281334961993159106889103915430835029497970085237349414587895387361,10685750878049478986600454022422733804784834227531623991827538970867377925593354382775253050419846972347584519245766235538419501021140939003899401773087821,3637614835597688283811417087451284735795723790907404269598102567844323884268458831660382863895122427922344137308051772571787667106920348754312958580649067039352206952350851620944738489878777590555129193542297958160664605061629454033040783847224918471035675969664919877726877869514540502471336353104729922441764993392231792420645815412664583902384583343063457953995717882417,6759224678814800913204473280361658486772650199941114505283409645622497866148765146601841353932633241398607040792961131806556756943022446601137737571037341,11868750061342011267437975338788313730068511026231254554820987614699325962867540061083226545014725808842166519144882448332395484715124334891963558447955747]

n=[]
n.append((n2,p[1],n2//p[1]))
n.append((n1,p[0],n1//p[0]))
n.append((n5,p[4],n5//p[4]))
n.append((n4,p[3],n4//p[3]))
n.append((n3,p[2],n3//p[2]))
n=n[::-1]
for i in range(len(n)):
p,q=n[i][1],n[i][2]
phi=(p-1)*(q-1)
d=inverse(e,phi)
c=pow(c,d,p*q)
print(long_to_bytes(c))

Easy NTRU

给的标准的NTRU,就不用考虑解 ideal lattice 了,共同一组公钥,一开始就想着做差利用r的不均衡性就可以还原出r最后解出m,实际上操作的时候发现pk在上不可逆,找了篇论文思路上是一样的求个伪逆即可,这个手法似乎是叫retransmission attack

针对NTRU算法的新型广播攻击

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
def convolution(f,g):
return (f * g) % (RR)

def balancedmod(f,q):
g = list(((f[i] + q//2) % q) - q//2 for i in range(n))
return Zx(g) % (x^n-1)

def invertmodprime(f,p):
T = Zx.change_ring(Integers(p)).quotient(RR)
return Zx(lift(1 / T(f)))

def invertmodpowerof2(f,q):
assert q.is_power_of(2)
g = invertmodprime(f,2)
while True:
r = balancedmod(convolution(g,f),q)
if r == 1: return g
g = balancedmod(convolution(g,2 - r),q)

def convolution_enc(f,g):
return (f * g) % (x^n-1)

Zx.<x> = ZZ[]
n, q = 263, 128
RR=0
for i in range(n):
RR+=x^i

out=[-64*x^262 - 14*x^261 + 2*x^260 + 45*x^259 - 18*x^258 + 16*x^257 + 35*x^256 - 39*x^255 + 52*x^254 + 54*x^253 - 4*x^252 + 60*x^251 - 26*x^250 + 41*x^249 + 35*x^248 - 35*x^247 - 37*x^246 + 6*x^245 - 43*x^244 + 22*x^243 + 25*x^242 - 37*x^241 - 34*x^240 + 43*x^238 - 58*x^237 - 29*x^236 - 12*x^235 + 38*x^234 + 6*x^233 + 63*x^232 - 32*x^231 - 15*x^230 - 54*x^229 + 8*x^228 - 25*x^227 + 47*x^226 - 2*x^225 + 48*x^224 + 56*x^223 - 2*x^222 + 4*x^221 - 20*x^220 + 40*x^219 - 13*x^218 - 20*x^217 - 27*x^216 + 22*x^215 - 12*x^214 - 28*x^213 + 11*x^212 + 37*x^211 + 27*x^210 - 10*x^208 - 8*x^207 - 33*x^206 + 58*x^205 + 61*x^204 + 47*x^203 - 2*x^202 - 13*x^201 - 25*x^200 + 54*x^199 - 14*x^198 - 55*x^197 - x^196 - 55*x^195 - 6*x^194 + 19*x^193 - 5*x^192 - 21*x^191 - 9*x^190 + 7*x^189 - 64*x^188 + 42*x^187 + 8*x^186 - 12*x^185 - 54*x^184 - 16*x^183 - 61*x^182 + 54*x^181 - 6*x^180 - 25*x^179 + 42*x^178 - 20*x^177 + 12*x^176 - 48*x^175 - 4*x^174 - 12*x^173 + 24*x^172 + 34*x^171 - 16*x^170 + 29*x^169 + 59*x^168 + 33*x^167 - 41*x^166 + 34*x^165 + 32*x^164 - 35*x^163 - 54*x^162 + 63*x^161 + 46*x^160 - 53*x^159 + 43*x^158 + 32*x^157 + 7*x^156 - 22*x^155 - 38*x^154 - 31*x^153 - 29*x^152 - x^151 + 2*x^150 - 21*x^149 - 37*x^148 + 38*x^147 - 64*x^146 + 34*x^145 - 45*x^144 - 6*x^143 - 43*x^142 + 45*x^141 - 16*x^140 - 29*x^139 + 11*x^138 - 33*x^137 + 33*x^136 + 35*x^135 - 23*x^134 - 6*x^133 + 8*x^132 + 9*x^131 + 48*x^130 + 58*x^129 + 56*x^128 - 28*x^127 - 16*x^126 + 9*x^125 + 15*x^124 + 27*x^123 - 34*x^122 + 25*x^121 + 60*x^120 - 34*x^119 - 23*x^118 - 30*x^117 - 8*x^116 - 54*x^115 + 22*x^114 + 22*x^113 + 15*x^112 - 28*x^111 + 23*x^110 - 59*x^109 - 5*x^108 + 15*x^107 + 21*x^106 - 5*x^105 - 32*x^104 + 41*x^103 - 61*x^102 - 38*x^101 + 45*x^100 + 10*x^99 - 5*x^98 + 59*x^97 + 57*x^96 + x^95 - 36*x^94 - 40*x^93 - 57*x^92 + 28*x^91 + 10*x^90 + 51*x^89 - 45*x^88 - 63*x^87 - 29*x^86 - 27*x^85 - 21*x^84 - 62*x^83 - 45*x^82 - 53*x^81 - 30*x^80 + 38*x^79 + 36*x^78 + 14*x^77 - 10*x^76 + 21*x^75 + 21*x^74 - 5*x^73 - 61*x^72 - 64*x^71 + 22*x^70 - 31*x^69 - 25*x^68 - 53*x^67 + 52*x^66 - 62*x^65 - 24*x^64 + 43*x^63 - 16*x^62 + 3*x^61 - 53*x^60 - 22*x^59 - 11*x^58 + 20*x^57 - 15*x^56 - 16*x^55 + 10*x^54 + 30*x^53 + 40*x^52 + 2*x^51 + 43*x^50 + 36*x^49 + 10*x^48 - 39*x^47 - 27*x^46 + 17*x^45 + 25*x^44 + 3*x^43 - 57*x^42 - 27*x^41 + 2*x^40 + 26*x^39 - 11*x^38 + 56*x^37 + 6*x^36 + 9*x^35 - 36*x^34 + 55*x^33 - 47*x^32 + 34*x^31 + 55*x^30 + 54*x^29 + 11*x^28 + 26*x^27 + 59*x^26 - 53*x^25 - 21*x^24 + 58*x^23 + 59*x^22 - 42*x^21 + 59*x^20 - 12*x^19 - 2*x^18 - 36*x^17 + 42*x^16 - 55*x^15 - 38*x^14 - 45*x^13 - 56*x^12 + 26*x^11 + 51*x^10 - 39*x^9 + 15*x^8 + 56*x^7 + x^6 - 25*x^5 - 53*x^4 + 9*x^3 - 49*x^2 - 21*x + 22,
15*x^262 - 31*x^261 - 47*x^260 + 5*x^259 + 53*x^258 - 7*x^257 - 10*x^256 - 50*x^255 - 26*x^254 + 44*x^253 - 19*x^251 - 61*x^250 - 28*x^249 + 61*x^248 + 39*x^247 + 34*x^246 - 57*x^245 + 27*x^244 - 41*x^243 + 42*x^242 + 14*x^241 + 38*x^240 - 56*x^239 + 8*x^238 - 12*x^237 + 51*x^236 - 17*x^235 - 36*x^234 + 60*x^233 + 50*x^232 + 7*x^231 + 26*x^230 - 48*x^229 + 2*x^228 - 20*x^227 - 15*x^226 - 23*x^225 + x^224 - 15*x^223 - 44*x^222 - 28*x^221 - 56*x^220 - 4*x^219 - 43*x^218 - 60*x^217 - 62*x^216 - 42*x^215 + 7*x^214 - 61*x^213 - 38*x^212 + 9*x^211 + 46*x^210 + 58*x^209 - 2*x^208 - 44*x^207 + 54*x^206 - 39*x^205 - 23*x^204 + 42*x^203 - 47*x^202 + 43*x^201 - 29*x^200 - 30*x^199 + 20*x^198 - 13*x^197 - 31*x^196 - 44*x^195 - 47*x^194 + 45*x^193 - 47*x^192 + 16*x^191 + 28*x^190 - 22*x^189 - 32*x^188 - 19*x^187 - 34*x^186 - 21*x^185 + 15*x^184 - 34*x^183 - 7*x^182 - 32*x^181 + 44*x^180 + 60*x^179 - 10*x^178 - 23*x^177 + 45*x^176 - 10*x^175 - 43*x^174 - 49*x^173 + 25*x^172 + 63*x^171 + 25*x^170 + 34*x^169 - 27*x^168 - 47*x^167 + x^166 - 16*x^165 + 59*x^164 - 53*x^163 - 48*x^162 + 19*x^161 - 36*x^160 - 5*x^159 - 38*x^158 - 4*x^157 - 50*x^156 + 31*x^155 - 27*x^154 + 26*x^153 + 34*x^152 - 51*x^151 + 40*x^150 - 20*x^149 - 34*x^148 - 2*x^147 + 61*x^146 - 8*x^145 - 23*x^144 - 27*x^143 - 12*x^142 - 35*x^141 + 50*x^140 + 9*x^139 + 41*x^138 - 49*x^137 + 32*x^136 + 15*x^135 + 41*x^134 + 48*x^133 - 33*x^132 + 7*x^131 - 64*x^130 + 47*x^129 + 47*x^128 + 21*x^127 + 54*x^126 + 27*x^125 - 38*x^124 + 45*x^123 - 46*x^122 - 33*x^121 - 46*x^120 - 17*x^119 - 61*x^118 + 55*x^117 + 40*x^116 - 28*x^115 + 49*x^114 + 26*x^113 + 14*x^112 - 11*x^111 + 51*x^110 + 54*x^109 + 62*x^108 - 4*x^107 + 30*x^106 + 57*x^105 - 24*x^104 + 16*x^103 + 20*x^102 - 18*x^101 - x^100 - 58*x^99 - 24*x^98 - 26*x^97 + 40*x^96 - 27*x^95 - 32*x^94 - 4*x^93 + 56*x^92 - 4*x^91 + 36*x^90 - 47*x^89 - 35*x^88 - 56*x^87 + 61*x^86 - 3*x^85 - 34*x^84 + 5*x^83 - 11*x^82 - 48*x^81 - 54*x^80 + 49*x^79 - 22*x^78 - 31*x^77 + 46*x^76 + 55*x^75 - 48*x^74 - 47*x^73 - 15*x^72 - 58*x^71 + 59*x^70 + 25*x^69 - 12*x^68 + 42*x^67 + 63*x^66 - 21*x^65 - 61*x^64 - 31*x^63 - 28*x^62 - 57*x^61 + 51*x^60 + 11*x^59 + 61*x^58 + 3*x^57 + 50*x^56 + 51*x^55 + 32*x^54 - 57*x^53 + 11*x^52 - 33*x^51 + 15*x^50 - 23*x^49 + 15*x^48 + 39*x^47 - 37*x^46 - 10*x^45 + 35*x^44 - 32*x^43 + 23*x^42 + 14*x^41 + 32*x^40 - 5*x^39 - 19*x^38 - 64*x^37 + 45*x^36 + 4*x^35 + 26*x^34 + 2*x^33 - 40*x^32 + 30*x^31 + 38*x^30 + 31*x^29 + 38*x^28 + 28*x^27 + 20*x^26 + 36*x^25 + 8*x^23 + 4*x^22 - 52*x^21 - 64*x^20 - 63*x^19 - 3*x^18 + 2*x^17 + 54*x^16 - 53*x^15 - 37*x^14 + 51*x^13 - 4*x^12 - 52*x^11 - 12*x^10 + 9*x^9 - 44*x^8 + 37*x^7 + 34*x^6 - 60*x^5 - 63*x^4 - 34*x^3 - 8*x^2 - 63*x + 4,
8*x^262 - 18*x^261 + 54*x^260 - 2*x^259 + 39*x^258 + x^257 - 25*x^256 - 2*x^255 + 24*x^254 + 59*x^253 + 49*x^252 + 5*x^251 + 15*x^250 + 50*x^249 + 10*x^248 + 13*x^247 - 2*x^246 + 7*x^245 + 37*x^244 + 13*x^243 + 45*x^242 + 51*x^241 + 24*x^240 + 30*x^239 - 4*x^238 - 9*x^237 - 17*x^236 - 37*x^235 + 57*x^234 + 61*x^233 + 32*x^232 - 11*x^231 - 16*x^230 + 30*x^229 - 52*x^228 - 57*x^227 + 24*x^226 - 17*x^225 + x^224 - 10*x^223 - 36*x^222 - 64*x^221 + 48*x^220 - 60*x^219 - 58*x^218 + 8*x^217 - 13*x^216 + 55*x^215 + 58*x^214 + 37*x^213 - 54*x^212 + 26*x^211 + 23*x^210 - 58*x^209 - 61*x^208 - 13*x^207 - 3*x^206 - 51*x^205 + 61*x^204 - 24*x^203 + 23*x^202 - 22*x^201 + 58*x^200 - 20*x^199 + 8*x^198 - 18*x^197 - 19*x^196 - 15*x^195 - 50*x^194 - 54*x^193 + 47*x^192 - 25*x^191 + 29*x^190 - 36*x^189 - 5*x^188 - 54*x^187 - 16*x^186 - 49*x^185 + 9*x^184 - 29*x^183 + 30*x^182 + 54*x^181 + 30*x^180 + 36*x^179 + 7*x^178 - 18*x^177 + 51*x^176 + x^175 + 37*x^174 + 44*x^173 + 27*x^172 + 41*x^171 + 54*x^170 + 51*x^169 - 58*x^168 + 56*x^167 - 16*x^166 + 56*x^165 + x^164 + 39*x^163 + x^162 + 41*x^161 + 49*x^160 + 5*x^159 - 63*x^158 - 36*x^157 + 21*x^156 + 54*x^155 - 62*x^154 + 47*x^153 + 38*x^152 + 33*x^151 - 16*x^150 - 62*x^149 - 26*x^148 - 50*x^147 + 42*x^146 - 15*x^145 - 62*x^144 - 58*x^143 + 31*x^142 + 45*x^141 + 54*x^140 + 31*x^139 + 19*x^138 + 14*x^137 - 15*x^136 - 11*x^135 - 16*x^134 - 27*x^133 + 53*x^132 - 7*x^131 - 37*x^130 - 47*x^129 - 58*x^128 + 38*x^127 + 56*x^126 + 54*x^125 + 19*x^124 - 15*x^123 + 39*x^122 + 11*x^121 + 31*x^120 - 34*x^119 + 19*x^118 + 6*x^117 + 60*x^116 + 59*x^115 - 8*x^114 - 5*x^113 - 4*x^112 + 4*x^111 + 22*x^110 + 49*x^109 + 55*x^108 - 2*x^107 - 22*x^106 - 4*x^105 - 22*x^104 + 16*x^103 + 26*x^102 + 29*x^101 + 50*x^100 - 17*x^99 - 28*x^98 - 23*x^97 - 5*x^96 + 26*x^95 + 31*x^94 + 63*x^93 - 5*x^92 - 5*x^91 + 60*x^90 - 17*x^89 - 6*x^88 + 2*x^87 - 27*x^86 + 28*x^85 - 58*x^84 - 62*x^83 + 42*x^82 - 53*x^81 - 18*x^80 - 23*x^79 + 30*x^78 + x^77 - 13*x^76 + 54*x^75 - 25*x^74 - 32*x^73 - 63*x^72 + 14*x^71 - 9*x^70 + 17*x^69 - 28*x^68 - 61*x^67 + 49*x^66 + 44*x^65 + 61*x^64 - 40*x^63 + 24*x^62 - 27*x^61 + 46*x^60 - 22*x^59 - 59*x^58 + 36*x^57 - 57*x^56 + 47*x^55 - 23*x^54 - 64*x^53 + 60*x^52 - 16*x^51 - 39*x^50 - 6*x^49 - 31*x^48 - 35*x^46 + 58*x^45 - 43*x^44 + 25*x^43 + 22*x^42 + 33*x^41 - 21*x^40 - 57*x^39 - 27*x^38 - 26*x^37 + 47*x^36 + 10*x^35 - 43*x^34 + 21*x^33 - 53*x^31 - 58*x^30 + 35*x^29 - 17*x^28 + 57*x^27 + 31*x^26 - 12*x^25 + 53*x^24 + 5*x^23 + 54*x^22 + 17*x^21 + 46*x^20 - 9*x^19 + 61*x^18 - 29*x^17 - 20*x^16 + 6*x^15 + 45*x^14 + 50*x^13 - 11*x^12 + 22*x^11 + 42*x^10 - 23*x^9 + 23*x^8 - 6*x^7 + 53*x^6 - 16*x^5 + 48*x^4 - 56*x^3 + 59*x^2 - 47*x + 17,
-6*x^262 - 35*x^261 + 56*x^260 + 26*x^259 + 7*x^258 + 62*x^257 - 26*x^256 - 46*x^255 + 35*x^254 - 46*x^253 - 51*x^252 + 40*x^251 + x^250 - 44*x^249 + 39*x^248 + 10*x^247 - 56*x^246 + 34*x^245 - 51*x^244 + 45*x^243 + 30*x^242 - 59*x^241 + 16*x^240 + 54*x^238 + 7*x^237 - 19*x^236 - 10*x^235 + 44*x^234 - 46*x^233 - 32*x^232 + 62*x^231 + 37*x^229 - 62*x^228 - 50*x^227 + 30*x^226 - 48*x^225 + 2*x^224 - 63*x^223 + 57*x^222 - 16*x^221 - 14*x^220 + 33*x^219 + 49*x^218 + 35*x^217 + 46*x^216 + 6*x^215 - 7*x^214 - 16*x^213 - 6*x^212 - 43*x^211 + 36*x^210 + 27*x^209 + 62*x^208 - 47*x^207 + 24*x^206 + 40*x^205 + 59*x^204 - 15*x^203 + 14*x^202 - 2*x^201 - 35*x^200 + 17*x^199 + 54*x^197 + 53*x^196 + 41*x^195 - 29*x^194 - 16*x^193 - 41*x^192 + 37*x^191 + 31*x^190 - 46*x^189 - 43*x^188 + 33*x^187 - 60*x^186 + 52*x^185 - 33*x^184 - 17*x^183 + 2*x^182 - 60*x^181 + 63*x^180 + 12*x^179 + 8*x^178 - 49*x^177 - 59*x^176 - 29*x^175 + 43*x^174 + 19*x^173 - 25*x^172 - 30*x^171 - 55*x^170 + 5*x^169 + 20*x^168 - 15*x^167 + 10*x^166 + 28*x^165 - 14*x^164 - 24*x^163 - 64*x^162 + 11*x^161 - 36*x^160 + 8*x^159 - 27*x^158 - 29*x^157 + 53*x^156 - 6*x^155 + 10*x^154 - 25*x^153 - 5*x^152 + 15*x^151 + 50*x^150 + 21*x^149 + 40*x^148 + 60*x^147 - 45*x^146 - 26*x^145 - 24*x^144 - 62*x^143 - 33*x^142 - 18*x^141 + 55*x^140 - 6*x^139 + 22*x^138 + 21*x^137 - 52*x^136 + 5*x^135 + 38*x^134 + 61*x^133 - 61*x^132 + 51*x^131 + 13*x^130 + 3*x^129 - 52*x^128 + 34*x^127 - 60*x^126 + 20*x^125 + 49*x^124 + 32*x^123 - 59*x^122 - 63*x^121 + 39*x^120 - 62*x^119 - 9*x^118 - 30*x^117 + 8*x^116 - 27*x^115 - 31*x^114 - 62*x^113 + 12*x^112 - 43*x^111 - 22*x^110 + 6*x^109 - 15*x^108 + 16*x^107 - 43*x^106 - x^105 + 16*x^104 - 16*x^103 - 49*x^102 + 24*x^101 - 61*x^100 + 56*x^99 - 13*x^98 + 27*x^97 + 63*x^96 - 37*x^95 - 17*x^94 + 16*x^93 - 41*x^92 + 21*x^91 + 43*x^90 + 35*x^89 - 45*x^88 - 6*x^87 + 12*x^86 - 34*x^85 - 7*x^84 + 28*x^83 + 10*x^82 - 59*x^81 + 24*x^80 - 22*x^79 - 14*x^78 - 15*x^77 - 37*x^76 - 47*x^75 + 12*x^74 + 18*x^73 - 32*x^72 + 40*x^71 - 51*x^70 + 35*x^69 - 61*x^68 + 13*x^67 + 52*x^66 + 17*x^65 - 47*x^64 + 63*x^63 - 61*x^62 - 50*x^61 + 61*x^60 + x^59 + 12*x^58 + 5*x^57 + 39*x^56 - 8*x^55 + 43*x^54 + 50*x^53 - 32*x^52 - 12*x^51 - 19*x^50 - 43*x^49 + 43*x^48 + 9*x^47 + 24*x^46 - 8*x^45 - 49*x^44 + 11*x^43 - 52*x^42 + 2*x^41 + 22*x^40 + 35*x^39 + 26*x^38 + 9*x^37 - 30*x^36 - 54*x^35 + 36*x^34 - 29*x^33 - 2*x^32 - 48*x^31 - 41*x^30 - 58*x^29 - 51*x^28 + 21*x^27 - 37*x^26 + 17*x^25 - 19*x^24 + x^23 + 18*x^22 - 32*x^21 + 53*x^20 + 59*x^19 - 18*x^18 + 42*x^17 + 54*x^16 + 29*x^15 + 60*x^14 - 50*x^13 + 40*x^12 + 31*x^11 - 19*x^10 + 4*x^9 + 47*x^8 + 29*x^7 + 57*x^6 - 16*x^5 - 51*x^4 - 49*x^3 - 41*x^2 - 56*x - 10,
-57*x^262 + 47*x^261 + 45*x^260 - 15*x^259 + 16*x^258 - 50*x^257 + 32*x^256 - 47*x^255 - 62*x^254 - 25*x^253 - 39*x^252 + 54*x^251 - 51*x^250 - 36*x^249 + 44*x^248 - 36*x^247 + 9*x^246 + 59*x^245 - 47*x^244 - 38*x^243 + 62*x^242 + x^241 - 23*x^240 + 25*x^239 - 35*x^238 + 44*x^237 + 11*x^236 + 56*x^235 + 57*x^234 + 25*x^233 + 56*x^232 - 64*x^231 - 47*x^230 + 33*x^229 + 48*x^228 + 13*x^227 + 6*x^226 - 4*x^225 + 30*x^224 + 23*x^223 - 38*x^222 + 27*x^221 - 50*x^220 - 55*x^219 - 55*x^218 - 30*x^217 + 35*x^216 - 13*x^215 + 37*x^214 - 21*x^213 - 27*x^212 - 60*x^211 + 21*x^210 + 33*x^209 - 45*x^208 - 47*x^207 - 17*x^206 - 23*x^205 + 10*x^204 + 48*x^203 - 58*x^202 + 30*x^201 - 45*x^200 - 15*x^199 + 25*x^198 + 32*x^197 + 23*x^196 - 36*x^195 + 32*x^194 + 40*x^193 + 29*x^192 + 15*x^191 + 35*x^190 - 2*x^189 - 39*x^188 - 58*x^187 + 36*x^186 - x^185 + 49*x^184 + 33*x^183 + 11*x^182 - 58*x^181 - 4*x^180 - 10*x^179 - 20*x^178 + 54*x^177 - 30*x^176 + 57*x^175 + 14*x^174 + 60*x^173 - 10*x^172 + 58*x^171 - 28*x^170 + 63*x^169 - 36*x^168 - 37*x^167 - 60*x^166 - 18*x^165 - 31*x^164 - 32*x^163 + 27*x^162 - 23*x^161 + 21*x^160 + 54*x^159 + 13*x^158 - 58*x^157 + 6*x^156 - 27*x^155 + 45*x^154 + 10*x^153 - 5*x^152 - 56*x^151 + 42*x^150 + 40*x^149 - 16*x^148 + 25*x^147 - 5*x^146 - 53*x^145 + 17*x^144 - 11*x^143 + 61*x^142 + 41*x^141 + 44*x^140 - 55*x^139 - 6*x^138 + 45*x^137 - 22*x^136 - 35*x^135 - 46*x^134 + 52*x^133 - 50*x^132 + 16*x^131 - 31*x^130 - 46*x^129 + 4*x^128 + 12*x^127 + 7*x^126 - 52*x^125 - 29*x^124 + 42*x^123 + 25*x^122 + 35*x^121 + 19*x^120 + 25*x^119 + 13*x^118 + 20*x^117 - 20*x^116 - 38*x^115 - 27*x^114 - 31*x^113 - 10*x^112 - 40*x^111 + 43*x^110 - 9*x^109 - 40*x^108 + 50*x^107 + 4*x^106 - 20*x^105 - 30*x^104 - 53*x^103 + 5*x^102 - 27*x^101 + 45*x^100 - 55*x^99 - 29*x^98 + 24*x^97 + 18*x^96 + 28*x^95 + 26*x^94 + 10*x^93 + 30*x^92 + 55*x^91 + 13*x^90 + x^89 - 45*x^88 + x^87 + 23*x^86 - 57*x^85 + 48*x^84 + 21*x^83 - 35*x^82 + 22*x^81 + 55*x^80 + 22*x^79 - 40*x^78 - 50*x^77 + 34*x^76 + 24*x^75 + 31*x^74 + 8*x^73 - 45*x^72 + 49*x^71 + 12*x^70 - 59*x^69 - 54*x^68 + 11*x^67 + 44*x^66 - 8*x^65 + 50*x^64 + 41*x^63 - 43*x^62 + 10*x^61 - 49*x^60 - 33*x^59 + 19*x^58 + 53*x^57 + 9*x^56 + 24*x^55 - 56*x^54 + 16*x^53 + 27*x^52 - 37*x^51 - 4*x^50 + 10*x^49 - 63*x^48 - 45*x^47 + 13*x^46 - 51*x^45 + 45*x^44 + 20*x^43 + 40*x^42 + 49*x^41 - 9*x^40 - 4*x^39 + 38*x^38 + 23*x^37 + 4*x^36 + 3*x^35 - 9*x^34 - 17*x^33 - 47*x^32 - 4*x^31 + 35*x^30 - 8*x^29 - 26*x^28 + 38*x^27 - 31*x^26 + 4*x^25 + 49*x^24 + 47*x^23 - 52*x^22 - 18*x^21 - 45*x^19 + 5*x^18 + 36*x^17 + 40*x^16 + 36*x^15 - 38*x^14 + 63*x^13 - 16*x^12 - 35*x^11 + 20*x^10 - 39*x^9 - 54*x^8 - 64*x^7 + 8*x^6 + 41*x^5 + 60*x^4 - 14*x^3 + 20*x^2 + 33*x - 23,
-27*x^262 + 20*x^261 + 23*x^260 - 42*x^259 - 23*x^258 - 6*x^257 + 14*x^256 - 61*x^255 + 37*x^254 - 17*x^253 + 23*x^252 + 27*x^251 - 2*x^250 - 6*x^249 - 23*x^248 - 34*x^247 - 23*x^246 - 25*x^245 + 26*x^244 + 47*x^243 + 46*x^242 + 24*x^241 - 49*x^240 + 58*x^239 + 19*x^238 - 17*x^237 - 38*x^236 - 26*x^235 + 44*x^234 + 28*x^233 - 57*x^232 - 11*x^231 - 37*x^230 + 38*x^229 - 40*x^228 - 36*x^227 + 23*x^226 + 40*x^225 + 25*x^224 - 64*x^223 + 41*x^222 - 9*x^221 - 47*x^220 - 58*x^219 - 44*x^218 - 49*x^217 + 10*x^216 + 14*x^215 - 13*x^214 - 27*x^213 + 60*x^212 - 52*x^211 + 27*x^210 - 34*x^209 + 3*x^208 + 8*x^207 - 19*x^206 + 55*x^205 + 18*x^204 - 63*x^203 + 30*x^202 + 11*x^201 + 42*x^200 - 13*x^199 + 25*x^198 + 44*x^197 + 47*x^196 - 30*x^195 - 58*x^194 - 38*x^193 - 22*x^192 - 20*x^191 - 60*x^190 - 25*x^189 - 45*x^188 + 26*x^187 - 8*x^186 + 57*x^185 + 24*x^184 + 24*x^183 + 25*x^182 - 47*x^181 + 2*x^180 + 38*x^179 + 26*x^178 - 21*x^177 + 27*x^176 + 2*x^175 + 26*x^174 + 28*x^173 - 64*x^172 + 19*x^171 + 27*x^170 + 56*x^169 - 12*x^168 + 25*x^167 - 43*x^166 + 28*x^165 + 53*x^164 + 42*x^163 + 9*x^162 + 19*x^161 + 7*x^160 + 40*x^159 - 52*x^158 + x^157 - 56*x^156 + x^155 - x^154 - 59*x^153 - 9*x^152 - 22*x^151 - 18*x^150 - 20*x^149 - 29*x^148 + 63*x^147 + 51*x^146 + 10*x^145 + 25*x^144 + 3*x^143 - 54*x^142 - 42*x^141 + 60*x^140 - 46*x^139 + 24*x^138 - 39*x^137 + 30*x^136 + 41*x^135 + 5*x^134 - 25*x^133 + x^132 + 17*x^131 + 19*x^130 - 20*x^129 + 33*x^128 + 27*x^127 + 4*x^126 + 56*x^125 + 14*x^124 - 19*x^123 - 38*x^122 - 31*x^121 + 16*x^120 - 18*x^119 - 24*x^118 - 10*x^117 - 8*x^116 + 37*x^115 + 26*x^114 + 15*x^113 + 45*x^112 + 46*x^111 - 31*x^110 + 51*x^109 - 11*x^108 + 63*x^107 + 62*x^106 - 18*x^105 - 23*x^104 + x^103 - 11*x^102 - 20*x^101 - 32*x^100 + 63*x^99 + 60*x^98 + 15*x^97 - 30*x^96 + 48*x^95 + 23*x^94 - 7*x^93 - 37*x^92 - 49*x^91 + 61*x^90 + 17*x^89 - 8*x^88 + 6*x^87 + 34*x^86 + 51*x^85 - 29*x^84 - 24*x^83 + x^82 + 21*x^81 - 59*x^80 + 62*x^79 - 30*x^78 - 16*x^77 + 31*x^76 + 11*x^75 - 11*x^74 - 42*x^73 + 50*x^72 - 7*x^71 - 42*x^70 + 29*x^69 - 2*x^68 + 26*x^67 - 43*x^66 + 47*x^65 + 45*x^64 - 18*x^63 - 47*x^62 - 6*x^61 - 37*x^60 + 3*x^59 + 53*x^58 - 52*x^57 + 16*x^56 - 41*x^55 + 23*x^54 + 17*x^53 - 22*x^52 - 31*x^51 + 6*x^50 + 52*x^49 + 47*x^48 + 40*x^47 + 48*x^46 - 21*x^45 - 26*x^44 - 21*x^43 - 31*x^42 + 27*x^41 + 30*x^40 - 8*x^39 + 44*x^38 - 20*x^37 - 14*x^36 - 29*x^35 + 17*x^34 - 38*x^33 + 8*x^32 - 9*x^31 - 51*x^30 - 50*x^29 - 58*x^28 - 3*x^27 - 2*x^26 - 63*x^25 + 11*x^24 - 29*x^23 - 62*x^22 - 48*x^21 - 32*x^20 - 38*x^19 - 15*x^18 - 14*x^17 + x^16 + 59*x^15 - 25*x^14 + 19*x^13 + 26*x^12 - 64*x^11 + 35*x^10 + 18*x^9 - 46*x^8 + 23*x^7 - 9*x^6 + 61*x^5 - 9*x^4 + 60*x^3 - 30*x^2 + 60*x + 30,
30*x^262 + 44*x^261 - 51*x^260 + 57*x^259 + 47*x^258 + 51*x^257 - 31*x^256 - 40*x^255 - 4*x^254 - 8*x^253 + 28*x^252 - 6*x^251 + 40*x^250 + 62*x^249 - 31*x^248 - 30*x^247 + 60*x^246 + 43*x^245 + 44*x^244 - 24*x^243 + 31*x^242 + 6*x^241 + 37*x^240 - 28*x^239 - 44*x^238 + 48*x^237 + x^236 - 60*x^235 + 42*x^234 - 14*x^233 + 46*x^232 - 40*x^231 - x^230 - 12*x^229 - 16*x^228 - 14*x^227 + 13*x^226 - 9*x^225 - 32*x^224 + 16*x^223 + 16*x^222 - 26*x^221 - 3*x^220 + 12*x^219 - 44*x^218 - 35*x^217 - 33*x^216 + 55*x^215 - 50*x^214 - 52*x^213 - 52*x^212 - 26*x^211 + 15*x^210 + 38*x^209 - 62*x^208 + 34*x^207 - 42*x^206 + 43*x^205 - 24*x^204 - 31*x^203 + 50*x^202 - 11*x^201 + 26*x^200 + 7*x^199 + 32*x^198 - 64*x^197 + 39*x^196 - 49*x^195 - 28*x^194 + 61*x^193 - 35*x^192 - 6*x^191 - 18*x^190 - x^189 + 6*x^188 + 48*x^187 + 48*x^186 + 32*x^185 + 56*x^184 + 46*x^183 + 42*x^182 - 20*x^181 + 19*x^180 - x^179 - 16*x^178 + 31*x^177 - 61*x^176 - 62*x^175 + 21*x^174 - 32*x^173 - 53*x^172 - 19*x^171 + x^170 + 32*x^169 - 29*x^168 - 3*x^167 - 18*x^166 + 29*x^165 + 62*x^164 + 40*x^163 - 35*x^162 + 4*x^161 + 62*x^160 + 24*x^159 - 62*x^158 + 32*x^157 - 41*x^156 + 11*x^155 + 11*x^154 + 41*x^153 - 46*x^152 + 21*x^151 - 5*x^150 - 33*x^149 - 15*x^148 + 18*x^147 + 43*x^146 + 48*x^145 - 44*x^144 + 8*x^143 - x^142 - 19*x^141 - 2*x^140 - 64*x^139 + 19*x^138 + 9*x^137 + 53*x^136 - 21*x^135 - 20*x^134 - 23*x^133 + 48*x^132 - 52*x^131 - 53*x^130 - 45*x^129 - 22*x^128 + 30*x^127 - 18*x^126 - 64*x^125 - 10*x^124 - 6*x^123 - 4*x^122 + 27*x^121 - 3*x^120 - 12*x^119 + 38*x^118 - 51*x^117 + 12*x^116 - 17*x^115 - 5*x^114 + 51*x^113 - 38*x^112 - 44*x^111 - 62*x^110 - 48*x^109 + 17*x^108 - 8*x^107 + 47*x^106 + 5*x^105 + 29*x^104 + 46*x^103 - 12*x^102 + 19*x^101 + 28*x^100 + 38*x^99 + 37*x^98 - 63*x^97 + 41*x^96 - 4*x^95 + 16*x^94 + 24*x^93 + 45*x^92 - 15*x^91 + 19*x^90 - 18*x^89 - 21*x^87 - 17*x^86 + 40*x^85 + 18*x^84 + 51*x^83 + 10*x^82 + 31*x^81 + 63*x^80 - 50*x^79 + 21*x^78 + 44*x^77 + 3*x^76 - 31*x^75 + 19*x^74 + 4*x^73 + 53*x^72 + 51*x^71 + 2*x^70 + 19*x^69 + 42*x^68 - 41*x^67 - 6*x^66 - x^65 + 55*x^64 - 19*x^63 + 32*x^62 - 63*x^61 - 20*x^60 + 3*x^59 + 19*x^58 - 43*x^57 + 2*x^56 + 40*x^55 + 43*x^54 - 50*x^53 + 11*x^52 - 53*x^51 + 47*x^50 - 44*x^49 + 59*x^48 - 60*x^47 - 43*x^46 - 26*x^45 - 6*x^44 - 28*x^43 - 45*x^42 + 57*x^41 - 29*x^40 + 63*x^39 + 28*x^38 - 61*x^37 + 60*x^36 - 37*x^35 - 59*x^34 - 27*x^33 + 39*x^32 - 54*x^31 - 32*x^30 + 15*x^29 - 3*x^28 - 18*x^27 - 64*x^26 + 43*x^25 - 13*x^24 - 14*x^23 - 26*x^22 + 7*x^21 + 53*x^20 - 42*x^19 + 13*x^18 - 36*x^17 - 52*x^16 + 36*x^15 - 57*x^14 + 24*x^13 + 30*x^12 + 24*x^11 - 38*x^10 - 27*x^9 + 42*x^8 + 6*x^7 + 26*x^6 - 60*x^5 + 27*x^4 - 59*x^3 + 62*x^2 + 27*x - 8,
-45*x^262 - 10*x^261 - 52*x^260 + 27*x^259 - 62*x^258 + 40*x^257 - 38*x^256 + 28*x^255 - 22*x^254 + 9*x^253 + 50*x^252 + 39*x^251 + 5*x^250 - 12*x^248 - 23*x^247 + 58*x^246 - 37*x^245 + 26*x^244 + 26*x^243 + 41*x^242 - 48*x^241 + 15*x^240 - 40*x^239 - 47*x^238 + 2*x^237 - 61*x^236 + 22*x^235 - 10*x^234 + 20*x^233 + 33*x^232 + 31*x^231 + 58*x^230 + 21*x^229 + 16*x^227 + 15*x^226 + 3*x^225 + x^224 + 7*x^223 - 53*x^222 + 50*x^221 - 45*x^220 - 38*x^219 - 62*x^218 + 16*x^217 + 35*x^216 - 23*x^215 - 54*x^214 + 38*x^213 + 22*x^212 - 7*x^211 + 58*x^210 - 11*x^209 + 19*x^208 - 64*x^207 + 61*x^206 - 64*x^205 + 49*x^204 + 10*x^203 - 38*x^202 - x^201 + 7*x^200 + 13*x^199 + 54*x^198 + 11*x^197 + 22*x^196 + 54*x^195 + 49*x^194 - 17*x^193 + 2*x^192 + 32*x^191 - 17*x^190 + 57*x^189 - 46*x^188 + 49*x^187 - 56*x^186 + 17*x^185 - 8*x^184 + 8*x^183 + 2*x^182 - 54*x^181 - 48*x^180 + 32*x^179 - 4*x^178 + 17*x^177 - 64*x^176 + 55*x^175 + 12*x^174 + 41*x^173 + 16*x^172 - 53*x^171 - 28*x^170 - 22*x^169 - 25*x^168 + 48*x^167 + 52*x^166 - 52*x^165 - 58*x^164 - 40*x^163 + 27*x^162 + 52*x^161 - 58*x^160 - 54*x^159 + 33*x^158 + 47*x^157 - 33*x^156 + 38*x^155 + 63*x^154 - 38*x^153 - 50*x^152 + 34*x^151 - 55*x^150 - 31*x^149 - 48*x^148 - x^147 - 12*x^146 - 35*x^145 + 43*x^144 + 44*x^143 - 55*x^142 - 12*x^141 - 32*x^140 + 32*x^139 - 34*x^138 - 50*x^137 - 42*x^136 - 48*x^135 + 3*x^134 + 44*x^133 - 18*x^132 - 64*x^131 + 32*x^130 - 34*x^129 + 44*x^128 - 49*x^127 - 42*x^126 + 51*x^125 - 29*x^124 + 11*x^123 - 37*x^122 + 18*x^121 - 59*x^120 + 54*x^119 + 13*x^118 + 61*x^117 + 57*x^116 + 10*x^115 - 36*x^114 - 32*x^113 + 37*x^112 + 13*x^111 + 54*x^110 - 38*x^109 + 53*x^108 + 16*x^107 - 3*x^106 - 15*x^105 - 54*x^104 - 2*x^103 + 26*x^102 + 28*x^101 - 40*x^100 + 22*x^99 - 46*x^98 + 11*x^97 - 33*x^96 - 2*x^95 + 22*x^94 - 8*x^93 - 41*x^92 - 40*x^91 + 11*x^90 + 29*x^89 + 26*x^88 + 24*x^87 + 43*x^86 + 3*x^85 - 39*x^84 - 57*x^83 + 17*x^82 + 59*x^81 - 56*x^80 + 9*x^79 - x^78 + 10*x^77 - 60*x^76 - 44*x^75 - 36*x^74 - 20*x^73 + 12*x^72 + 46*x^71 - 60*x^70 - 11*x^69 + 10*x^68 - 22*x^67 - 6*x^66 + 59*x^65 + 60*x^64 - 4*x^63 - 62*x^62 + 35*x^61 + 9*x^60 + 48*x^59 + 17*x^58 - 15*x^57 - 35*x^56 - 19*x^55 + 16*x^54 - 26*x^53 - 15*x^52 + 15*x^51 + 20*x^50 + 47*x^49 - 11*x^48 + 45*x^47 - 36*x^46 - 9*x^45 + 10*x^44 + 11*x^43 + 10*x^42 - 14*x^41 - 35*x^40 + 50*x^39 + 40*x^38 + 46*x^37 + 42*x^36 + 7*x^35 + 16*x^34 + 41*x^33 + 48*x^32 - 21*x^31 + 58*x^30 - 53*x^29 - 42*x^28 - 29*x^27 - 43*x^26 - 14*x^25 - 49*x^24 - 30*x^23 - 46*x^22 - 25*x^21 + 2*x^20 - 55*x^19 - 47*x^18 + 23*x^17 - 18*x^16 - 47*x^15 - 26*x^14 + 35*x^13 - 49*x^12 + 40*x^11 + 39*x^10 - 18*x^9 - 32*x^8 + 22*x^7 + 35*x^6 - 12*x^5 + 34*x^4 - 63*x^3 - 61*x^2 + 61*x - 21,
21*x^262 + 29*x^261 + 42*x^260 - 23*x^259 - 52*x^258 - 43*x^257 - 21*x^256 + 42*x^255 + 62*x^254 + 52*x^253 + 37*x^252 + 3*x^251 - 53*x^250 + 10*x^249 - 59*x^248 - 9*x^247 + 40*x^246 - 42*x^245 - 44*x^244 - 22*x^243 - 40*x^242 - 50*x^241 - 63*x^240 - 26*x^239 + 5*x^238 - 37*x^237 + 32*x^236 + 46*x^235 + 51*x^234 - 31*x^233 + 45*x^232 + 54*x^231 - 49*x^230 - 13*x^229 - 62*x^228 + 51*x^227 - 21*x^226 - 36*x^225 - 14*x^224 + 63*x^223 + 60*x^222 + 23*x^221 + 25*x^220 - 39*x^219 - 42*x^218 - 64*x^217 + 32*x^216 - 25*x^215 + 39*x^214 - 38*x^213 + x^212 + 55*x^211 - 10*x^210 + 49*x^209 + 33*x^208 - 59*x^207 + 18*x^206 + 26*x^205 + 57*x^204 + 30*x^203 + 41*x^202 - 63*x^201 + 50*x^200 + 50*x^199 - 58*x^198 - 63*x^197 + 11*x^196 - 58*x^195 + 28*x^194 - 26*x^193 + 56*x^192 - 19*x^191 - 20*x^190 + 38*x^189 - 44*x^188 - 39*x^187 + 19*x^186 + 21*x^185 + 52*x^184 - 10*x^183 - 5*x^182 - 55*x^181 + 7*x^180 - 29*x^178 - 57*x^177 - 20*x^176 + 32*x^175 + 52*x^174 + 30*x^173 - 13*x^172 + 25*x^171 - 10*x^170 - 35*x^169 - 62*x^168 - 10*x^167 - 50*x^166 + 11*x^165 + 51*x^164 + 13*x^163 - 49*x^162 + 45*x^161 + 19*x^160 - 17*x^159 + 11*x^158 - 25*x^157 - 45*x^156 - 34*x^155 - 21*x^154 - 12*x^153 + 31*x^152 - 54*x^151 - 40*x^150 - 51*x^149 - 52*x^148 + 48*x^147 + 14*x^146 + 43*x^145 - 25*x^144 - 22*x^143 + 11*x^142 - 40*x^141 - 16*x^140 + 8*x^139 - 22*x^138 + 40*x^137 - 26*x^136 - 15*x^135 - 51*x^134 - 64*x^133 - 3*x^132 + 50*x^131 - 9*x^130 + 35*x^129 + 62*x^128 - 37*x^127 + 45*x^126 - 35*x^125 - 20*x^124 + 39*x^123 - 8*x^122 - 48*x^121 - 21*x^120 - 33*x^119 - 55*x^118 - 14*x^117 - 26*x^116 + 3*x^114 + 32*x^113 - 44*x^112 - 23*x^111 + 53*x^110 - 28*x^109 - 6*x^108 - 2*x^107 - 45*x^106 - 28*x^105 - 42*x^104 + 51*x^103 - 60*x^102 - 57*x^101 - 25*x^100 - 33*x^99 + 46*x^98 - 10*x^97 + 41*x^96 - 44*x^95 - 63*x^94 - 35*x^93 + 23*x^92 - 11*x^91 + 31*x^90 + 51*x^89 + 8*x^88 - 28*x^87 - 52*x^86 + 2*x^85 + 9*x^84 + 58*x^83 + 32*x^82 - 29*x^81 + 35*x^80 + 57*x^79 + 26*x^78 + 20*x^77 - 39*x^76 - 24*x^75 + 34*x^74 - 38*x^73 + 52*x^72 + 34*x^71 + 8*x^70 - 12*x^69 - 35*x^68 - 24*x^67 - 39*x^66 + 7*x^65 + 41*x^64 + 46*x^63 + x^62 + 36*x^61 + 43*x^60 + 18*x^59 + 28*x^58 - 32*x^57 - 42*x^56 + 17*x^55 - 19*x^54 + 38*x^53 + 12*x^52 - 5*x^51 - 42*x^50 + 53*x^49 + 21*x^48 + 44*x^47 + 20*x^46 - 34*x^45 + 50*x^44 + 40*x^43 - 44*x^42 + 45*x^41 + 3*x^40 - 4*x^39 + 51*x^38 + 12*x^37 + 56*x^36 - 58*x^35 - 57*x^34 - 4*x^33 + 16*x^32 + 24*x^31 - 16*x^30 + 18*x^29 + 33*x^28 - 16*x^27 + 62*x^26 - 19*x^25 - 25*x^24 + 45*x^23 - 22*x^22 - 22*x^21 + 40*x^20 - 63*x^19 + 25*x^18 + 49*x^17 - 17*x^16 + 53*x^15 + 17*x^14 - 11*x^13 + 61*x^12 + 8*x^11 + 48*x^10 + 35*x^9 + 63*x^8 - 45*x^7 - 59*x^6 - 53*x^5 + 50*x^4 + 57*x^3 + 20*x^2 - 18*x + 48,
-44*x^262 - 9*x^261 - 56*x^260 + 13*x^259 - 23*x^258 - 64*x^257 + 2*x^256 - 40*x^255 + 57*x^254 + 53*x^253 + 62*x^252 - 3*x^251 + 42*x^250 + 23*x^249 - 4*x^248 - 2*x^247 - 41*x^246 + 27*x^245 - 25*x^244 + 21*x^243 + 16*x^242 - 5*x^241 - 44*x^240 - 51*x^239 - 17*x^238 + 21*x^237 - 36*x^236 + 6*x^235 - 42*x^234 - 56*x^233 + 16*x^232 - 40*x^231 - 8*x^230 - 40*x^229 - 32*x^228 + 43*x^227 - 54*x^226 - 32*x^225 + 45*x^224 + 31*x^223 - 11*x^222 - 29*x^221 - 34*x^220 - 56*x^219 - 63*x^218 - 28*x^217 + 54*x^216 + 56*x^215 + 23*x^214 + 20*x^213 + 24*x^212 - 9*x^211 + 39*x^210 + 17*x^209 + 41*x^208 + 54*x^207 - 12*x^206 - x^205 - 49*x^204 - 36*x^203 + 42*x^202 - 2*x^201 + x^200 - 21*x^199 + 63*x^198 + 32*x^197 - 42*x^196 + 27*x^195 - 37*x^194 - 23*x^193 - 53*x^192 + 9*x^190 - 48*x^189 + 11*x^188 - 45*x^187 - 57*x^186 - 55*x^185 + 23*x^184 - 47*x^183 + x^182 - 30*x^181 - 12*x^180 + 12*x^179 - 59*x^178 - 30*x^177 + 53*x^176 - 30*x^175 - 30*x^174 - 33*x^173 + 2*x^172 - 27*x^171 + 42*x^170 - 59*x^169 - 48*x^168 + 55*x^167 + 14*x^166 - 46*x^165 - 37*x^164 - 54*x^163 + 51*x^162 - 56*x^161 + 25*x^160 + 7*x^159 - 63*x^158 - 37*x^157 - 17*x^156 + 26*x^155 + 42*x^154 + 48*x^153 - 40*x^152 - 37*x^151 - 59*x^150 + 5*x^149 + 6*x^148 - 41*x^146 + 43*x^145 + 45*x^144 + 33*x^143 + 17*x^142 - 3*x^141 - 33*x^140 + 49*x^139 + 50*x^138 - 61*x^137 - 59*x^136 + 33*x^135 + 15*x^134 + 53*x^133 - 11*x^132 - 17*x^131 - 51*x^130 - 41*x^129 + 29*x^128 + 7*x^127 + 46*x^126 - 48*x^125 - 25*x^124 - 2*x^123 + 16*x^122 - 55*x^121 - 28*x^119 - 19*x^118 - 25*x^117 + 34*x^116 - 55*x^115 + 8*x^114 + 32*x^113 + 61*x^112 + 36*x^111 + 9*x^110 - 61*x^109 + 22*x^108 + 54*x^107 + 27*x^106 + 51*x^105 + 62*x^104 + 10*x^103 - 49*x^102 + 49*x^101 - 37*x^100 + 58*x^99 + 43*x^98 + 33*x^97 - 12*x^96 + 37*x^95 - 54*x^94 - 11*x^93 + 62*x^92 - 36*x^91 - 11*x^90 - 11*x^89 - 33*x^88 - 25*x^87 + 29*x^86 - 16*x^85 - 64*x^84 - 11*x^83 - 36*x^82 - 22*x^81 + 43*x^80 - 24*x^79 + 60*x^78 + 51*x^77 - 43*x^76 - 54*x^75 - 62*x^74 + 8*x^73 - 60*x^72 + 27*x^71 - 51*x^70 + 45*x^69 + 33*x^68 - 58*x^67 + 7*x^66 - 32*x^65 + 20*x^64 + 27*x^63 + 10*x^62 + 7*x^61 + 58*x^60 + 12*x^59 - 34*x^58 + 47*x^57 + 31*x^56 + 41*x^55 + 32*x^54 + 2*x^53 + 3*x^52 + 5*x^51 - 16*x^50 + 47*x^49 - 31*x^48 + 32*x^47 + 34*x^46 + 42*x^45 + 36*x^44 + 60*x^43 + 29*x^42 - 41*x^41 + 59*x^40 + 4*x^39 - 23*x^38 + 34*x^37 - 39*x^36 - 4*x^35 - 51*x^34 + 32*x^33 - 42*x^32 + 37*x^31 + 29*x^30 + 49*x^29 - 38*x^28 - 38*x^27 - 26*x^26 - 59*x^25 - 36*x^24 + 24*x^23 - 61*x^22 - 48*x^21 + 54*x^20 + 37*x^19 + 7*x^18 + 21*x^17 + 22*x^16 + 21*x^15 + x^14 + 48*x^13 - 35*x^12 - 52*x^11 - 30*x^10 - 38*x^9 - 55*x^8 + 44*x^7 + 47*x^6 - 39*x^5 - 15*x^4 + 12*x^3 - 5*x^2 + 28*x + 61,
63*x^262 + 52*x^261 - 25*x^260 - 45*x^259 - 64*x^258 + 47*x^257 + 34*x^256 + 48*x^255 + 62*x^254 - 60*x^253 - 12*x^252 + 18*x^251 - 26*x^250 + 23*x^249 - 3*x^248 + 32*x^247 + 29*x^246 - 33*x^245 - 46*x^244 - 25*x^243 + x^242 + 30*x^241 + 30*x^240 + 41*x^239 - 35*x^238 + x^237 - 36*x^236 - 2*x^235 + 11*x^234 - 58*x^233 + 17*x^232 - 41*x^231 - 16*x^230 + 41*x^228 + 60*x^227 + 29*x^226 - 6*x^225 - 57*x^224 - 57*x^223 - 54*x^222 + 62*x^221 + 52*x^220 - 7*x^219 + 31*x^218 + 24*x^217 - 5*x^216 - 50*x^215 + 55*x^214 - 25*x^213 + 17*x^212 - 20*x^211 + 16*x^210 - 7*x^209 - 17*x^208 + 42*x^207 + 26*x^206 + 27*x^205 - 40*x^204 - 29*x^203 + 32*x^202 - 14*x^201 - 28*x^200 - 46*x^199 + 41*x^198 + 48*x^197 + 4*x^196 + 54*x^195 + 29*x^194 + 18*x^193 + 56*x^192 - 12*x^191 + 38*x^190 - 55*x^189 - 14*x^188 - 20*x^187 + 29*x^186 - 27*x^185 + 11*x^184 - 50*x^183 - 16*x^182 - 11*x^181 - 8*x^180 - 6*x^179 - 24*x^178 - 37*x^177 + 6*x^176 - 61*x^175 + 20*x^174 - 55*x^173 + 42*x^172 + 17*x^171 - 38*x^170 - 2*x^169 - 29*x^168 - 40*x^167 + 32*x^166 + 15*x^165 + 46*x^164 + 62*x^163 - 14*x^162 + 15*x^161 - 44*x^160 - 53*x^159 - 14*x^158 + 43*x^157 + 52*x^156 + 13*x^155 - 37*x^154 + 22*x^153 + 62*x^152 - 27*x^151 + 42*x^150 - 8*x^149 + 61*x^148 - 61*x^147 - 4*x^146 - 18*x^145 + 28*x^144 - 21*x^143 - 40*x^142 - 49*x^141 - 4*x^140 - 8*x^139 - 32*x^138 - 25*x^137 - 30*x^136 + 25*x^135 + 54*x^134 + 30*x^133 + 6*x^132 - 50*x^131 + 49*x^130 - 10*x^129 - 3*x^128 - 60*x^127 - 2*x^126 - 45*x^125 - 8*x^124 + 19*x^123 + 55*x^122 - 13*x^121 - 18*x^120 - 36*x^119 - 44*x^118 - 6*x^117 + 9*x^116 - 19*x^115 + 29*x^114 + 6*x^113 - 31*x^112 + 56*x^111 - 56*x^110 + 35*x^109 + x^108 - 30*x^107 + 22*x^106 - 31*x^105 - 7*x^104 - 57*x^103 - 52*x^102 + 25*x^101 + 48*x^100 - 36*x^99 - 49*x^98 - x^97 + 6*x^96 + x^95 + 6*x^94 + 14*x^93 - 7*x^92 + 37*x^91 - 37*x^90 + 35*x^89 + 33*x^88 + 18*x^87 - 48*x^86 + 51*x^85 + 61*x^84 - 29*x^83 + 18*x^82 + 52*x^81 + 37*x^80 - 10*x^79 + 33*x^78 - 53*x^77 + 6*x^76 - 25*x^75 + 22*x^73 - 22*x^72 + 43*x^71 - 37*x^70 + 44*x^69 - 32*x^68 - 59*x^67 + 10*x^66 - 30*x^65 - 28*x^64 - 2*x^63 - 49*x^62 + 53*x^61 + 32*x^60 - 9*x^59 - 34*x^58 - 36*x^57 + 60*x^56 + 25*x^55 + 32*x^54 + 31*x^53 + 45*x^52 - 21*x^51 + 21*x^50 - 56*x^49 - 48*x^48 + 25*x^47 + 22*x^46 - 59*x^45 - 63*x^44 - 26*x^43 + 62*x^42 - 8*x^41 + 38*x^40 - 28*x^39 - 44*x^38 - 20*x^37 - 12*x^36 - 54*x^35 - 21*x^34 + 28*x^33 + 50*x^32 + 46*x^31 + 60*x^30 - 35*x^29 - 60*x^28 - 57*x^27 - 49*x^26 + 37*x^25 - 24*x^23 - 11*x^22 + 29*x^21 - 8*x^20 - 9*x^19 - 50*x^18 - 25*x^17 - 60*x^16 - 54*x^15 + 15*x^14 - 2*x^13 - 29*x^12 - 16*x^11 - 32*x^10 + 17*x^9 + 63*x^8 + 57*x^7 - 24*x^6 - 37*x^5 - 23*x^4 - 63*x^3 - 15*x^2 - 32*x + 9,
-22*x^262 - 25*x^261 + 26*x^260 + 55*x^259 - 36*x^258 + 27*x^257 + 59*x^256 + 54*x^255 + 29*x^254 - 45*x^253 - 37*x^252 - 42*x^251 + 25*x^250 + 25*x^249 + 56*x^248 - x^247 + 18*x^246 - 30*x^245 - 34*x^244 - 57*x^243 + 27*x^242 - 22*x^241 - 7*x^240 + 42*x^239 + 18*x^238 - 10*x^237 - 24*x^236 + 51*x^235 + 48*x^234 + 23*x^233 + 7*x^232 - 55*x^231 - 6*x^230 + 58*x^229 - 48*x^228 + 57*x^227 + 13*x^226 + 10*x^225 + 29*x^224 - 14*x^223 - 30*x^222 + 31*x^221 - 3*x^220 - 12*x^219 - 42*x^218 + 62*x^217 + 62*x^216 - 44*x^215 - 37*x^214 - 56*x^213 + 42*x^212 + 32*x^211 - 49*x^210 + 51*x^209 - 39*x^208 + 27*x^207 - 2*x^206 - 9*x^205 + 54*x^204 + x^203 - 34*x^202 - 6*x^201 - 63*x^200 - 56*x^199 + 37*x^198 - 32*x^197 - 3*x^196 - 44*x^195 - 57*x^194 - 55*x^193 + 10*x^192 + 3*x^191 - 44*x^190 - 17*x^189 + 22*x^188 + 48*x^187 + x^186 + 12*x^185 + 6*x^184 + x^183 - 48*x^182 + 48*x^181 - 21*x^180 - 42*x^179 - 7*x^178 - 55*x^177 - 2*x^176 + 47*x^175 - 15*x^174 - 64*x^173 - 2*x^172 - 57*x^171 - 45*x^170 + 6*x^169 + 20*x^168 + 52*x^167 - 32*x^166 - 39*x^165 - 59*x^164 - 37*x^163 - 60*x^162 + 17*x^161 - 28*x^160 + 51*x^159 - 63*x^158 - 16*x^157 - 13*x^156 - 41*x^155 - 7*x^154 - 28*x^153 + 39*x^152 + 20*x^151 + 21*x^150 - 45*x^149 + 17*x^148 - 6*x^147 - 31*x^146 + 4*x^145 + 15*x^144 - 41*x^143 + x^142 + 38*x^141 + 59*x^140 + 11*x^139 + 34*x^138 - 12*x^137 + 17*x^136 - 59*x^135 - 32*x^134 - 54*x^133 - 31*x^132 + 19*x^131 - 3*x^130 + 39*x^129 - 20*x^128 + 56*x^127 - 16*x^126 - 2*x^125 + 33*x^124 - 9*x^123 + 18*x^122 - 6*x^121 + 42*x^120 - 16*x^119 - 3*x^118 - 61*x^117 + 54*x^116 + 59*x^115 - 12*x^114 - 26*x^113 - 37*x^112 + 11*x^111 - 41*x^110 + 7*x^109 + 38*x^108 + 5*x^107 + 45*x^106 + 52*x^105 - 13*x^104 - 49*x^103 - 44*x^102 - 64*x^101 - 29*x^100 + 32*x^99 + 25*x^98 + 39*x^97 - 54*x^96 + 61*x^95 + 60*x^94 - 13*x^93 - 40*x^92 + 40*x^91 + 23*x^90 + 16*x^89 + 43*x^88 - 57*x^87 + 56*x^86 - 21*x^85 - 61*x^84 + 9*x^83 + 22*x^82 + 30*x^81 - 64*x^80 + 38*x^79 + 30*x^78 - 61*x^77 + 44*x^76 - 60*x^75 - 61*x^74 + 20*x^73 + 34*x^72 - 31*x^71 - 40*x^70 - 34*x^69 - 3*x^68 + 53*x^67 - 54*x^66 + 44*x^65 - x^64 + 34*x^63 + 35*x^62 + 40*x^61 - 43*x^60 + 54*x^59 + 45*x^58 - 62*x^57 + 48*x^56 + 36*x^55 + 27*x^54 + 16*x^53 + 54*x^52 - x^51 + 52*x^50 - 49*x^49 - 10*x^48 - 42*x^47 + 43*x^46 - 46*x^45 + 50*x^44 - 26*x^43 + 55*x^42 - 30*x^41 + 44*x^40 + 50*x^39 - 20*x^38 + 61*x^37 - 47*x^36 + 40*x^35 - 35*x^34 + 35*x^33 + 28*x^32 - 16*x^31 + 2*x^30 - 34*x^29 + 52*x^28 + 31*x^27 - 20*x^26 + 35*x^25 - 34*x^24 - 8*x^23 + 9*x^22 - 61*x^21 + 35*x^20 + 25*x^19 + 8*x^18 + 53*x^17 + 14*x^16 - 37*x^15 + 45*x^14 + 45*x^13 - 11*x^12 + 9*x^11 - 31*x^10 + 18*x^9 + 35*x^8 + 60*x^7 + 6*x^6 + 57*x^5 - 7*x^4 - 29*x^3 - 17*x^2 - 20*x + 35,
-17*x^262 - 54*x^261 - 41*x^260 + 5*x^259 - 8*x^258 - 35*x^257 - 13*x^256 + 40*x^255 + 42*x^254 - 48*x^253 - 9*x^252 + 34*x^251 + 27*x^250 - 20*x^249 - 41*x^248 - 37*x^247 - 2*x^246 - 30*x^245 + 62*x^244 - 26*x^243 - 59*x^242 - 18*x^241 - 34*x^240 + 49*x^239 - 58*x^238 + 59*x^237 - 11*x^236 + 21*x^235 + 11*x^234 - 38*x^233 + 13*x^232 + 49*x^231 + 20*x^230 + 6*x^229 + 22*x^228 + 46*x^227 + 31*x^226 - 47*x^225 + 15*x^224 - 9*x^223 + 47*x^222 - 6*x^221 - 60*x^220 - 3*x^219 - 57*x^218 - 50*x^217 + 53*x^216 + 47*x^215 + 30*x^214 - 20*x^213 + 63*x^212 + 5*x^211 - 41*x^210 + 45*x^209 - 24*x^208 + 33*x^207 - 11*x^206 - 34*x^205 + 53*x^204 - 27*x^203 + 32*x^202 + 32*x^201 - 30*x^200 + 61*x^199 - 45*x^198 - 45*x^197 - 10*x^196 + 50*x^195 + 54*x^194 - 30*x^193 + 46*x^192 + 63*x^191 - 47*x^190 + 63*x^189 + 12*x^188 + 22*x^187 - 14*x^186 - 39*x^185 + 56*x^184 + 37*x^183 + 61*x^182 + 42*x^181 - 17*x^180 + 63*x^179 + 48*x^178 + 53*x^177 - 9*x^176 - 8*x^175 - 46*x^174 - 7*x^173 + 53*x^172 - 43*x^171 - 12*x^170 - 6*x^169 + 2*x^168 + 22*x^167 + 32*x^166 - 14*x^165 + 55*x^164 - 20*x^163 - 56*x^162 + 53*x^160 + 50*x^159 + 47*x^158 - 12*x^157 + 40*x^156 + 9*x^155 + 23*x^154 + 35*x^153 - x^152 - 13*x^151 - 49*x^150 - 28*x^149 - 51*x^148 + 14*x^147 - 47*x^146 + 9*x^145 + 8*x^144 - 62*x^143 + 12*x^142 + 44*x^141 + 21*x^140 + 24*x^139 - 53*x^138 + 18*x^137 - 16*x^136 - 8*x^135 - 47*x^134 + 44*x^133 - 53*x^132 - 13*x^131 + 8*x^130 - 36*x^129 + 21*x^128 - 8*x^127 - 2*x^126 - 2*x^125 + 63*x^124 - 14*x^123 - 11*x^122 + 4*x^121 - 32*x^120 + 9*x^119 - 60*x^118 - 48*x^117 - 36*x^116 - 54*x^115 + 28*x^114 - 5*x^113 + 32*x^112 - 64*x^111 + 53*x^110 - 3*x^109 - 35*x^108 - 47*x^107 + 38*x^106 + 43*x^105 + 22*x^104 + 46*x^103 + 3*x^102 + 12*x^101 + 20*x^100 + 12*x^99 - 31*x^98 - 59*x^97 - 7*x^96 + 8*x^95 + 43*x^94 + 25*x^93 - 10*x^91 - 36*x^90 - 28*x^89 - 10*x^88 - 27*x^87 - x^86 - 33*x^85 - 9*x^84 + 22*x^83 - x^82 - 42*x^81 + 18*x^80 - 30*x^79 + 42*x^78 + 46*x^77 + 10*x^76 - 55*x^75 - 39*x^74 - 20*x^73 - 12*x^72 + 7*x^71 + 31*x^70 - 10*x^69 - 38*x^68 + 12*x^67 + 4*x^66 - 29*x^65 - 50*x^64 + 56*x^63 + 14*x^62 - x^61 + 10*x^60 + 26*x^59 - 22*x^58 + 10*x^57 - 6*x^56 - 27*x^55 - 40*x^54 + 37*x^52 + 63*x^51 - 6*x^50 + 35*x^49 - 23*x^48 + 60*x^47 - 5*x^46 - 3*x^45 - 19*x^44 + 32*x^43 + 12*x^42 - 19*x^41 + 13*x^40 - 36*x^39 - 32*x^38 + 51*x^37 + 35*x^36 + 21*x^35 - 13*x^34 - 8*x^33 + 34*x^32 - 20*x^31 + 3*x^30 + 51*x^29 + 16*x^28 + 14*x^27 + 55*x^26 + 50*x^25 - 5*x^24 - 20*x^23 - 56*x^22 + 13*x^21 + 32*x^20 - 13*x^19 - 7*x^18 + 29*x^17 + 18*x^16 + 22*x^15 - 53*x^14 + 52*x^13 - 37*x^12 + 49*x^11 + 50*x^10 - 63*x^9 - 29*x^8 + 16*x^7 - 23*x^6 + 3*x^5 + 18*x^4 - 10*x^3 - 56*x^2 - 19*x - 37,
53*x^262 - 52*x^261 - 56*x^260 - 49*x^259 + 38*x^258 + 57*x^257 - 46*x^256 - 12*x^255 - 62*x^254 + 35*x^253 - 8*x^252 - 25*x^251 - 61*x^250 - 36*x^249 - 12*x^248 + 42*x^247 + 19*x^246 - 58*x^245 - 11*x^244 - 28*x^243 - 18*x^242 + 31*x^241 + 22*x^240 + 53*x^239 + 38*x^238 + 14*x^237 + 4*x^236 + 9*x^235 + 13*x^234 + 5*x^233 + 42*x^232 + 41*x^231 - 46*x^230 + 25*x^229 - 63*x^228 - 37*x^227 - 44*x^226 + 39*x^225 - 54*x^224 - 3*x^223 - 22*x^222 + 44*x^221 - 13*x^220 - 61*x^219 + 35*x^218 - 3*x^217 + 20*x^216 + 41*x^215 - 35*x^214 + 15*x^213 + 15*x^212 + 2*x^211 + 39*x^210 + 38*x^209 + 48*x^208 - 31*x^207 - 39*x^206 + 35*x^205 - 58*x^204 - 8*x^203 + 23*x^202 + 3*x^201 - 52*x^200 + 51*x^199 - 4*x^198 - 39*x^197 - 2*x^196 - 42*x^195 - 44*x^194 + 11*x^193 - 53*x^192 - 15*x^191 + 8*x^190 + 12*x^189 - 53*x^188 - x^187 - 24*x^186 - 33*x^185 - 37*x^184 + 11*x^183 + 39*x^182 - 28*x^181 - 35*x^180 - 40*x^179 - 50*x^178 + 17*x^177 + 16*x^176 + 41*x^175 - 49*x^174 - 22*x^173 + 6*x^172 - 28*x^171 - 63*x^170 + 60*x^169 - 18*x^168 - 52*x^167 - 55*x^166 + 33*x^165 - 41*x^164 + 19*x^163 + 62*x^162 - 13*x^161 + 55*x^160 + 14*x^159 - 48*x^158 + 4*x^157 - 8*x^156 - 40*x^155 + 6*x^154 + 40*x^153 - 27*x^152 + 43*x^151 + 18*x^150 - 55*x^149 + 31*x^148 - 50*x^147 - 18*x^146 - 50*x^145 - 5*x^144 - 38*x^143 + 36*x^142 + 44*x^141 + 23*x^140 - 50*x^139 - 14*x^138 + 50*x^137 - 17*x^136 + 53*x^135 - 47*x^134 + 38*x^133 - 57*x^132 + 53*x^131 + 2*x^130 - 23*x^129 + 48*x^128 + 37*x^127 + 63*x^126 + 63*x^125 + 49*x^124 - 2*x^123 - 11*x^122 - 60*x^121 + 31*x^120 + 44*x^119 + 26*x^118 + 34*x^117 + 49*x^116 - 29*x^115 - 44*x^114 - 40*x^113 - 13*x^112 - 33*x^111 + 36*x^110 + 58*x^109 - 40*x^108 - 36*x^107 + 60*x^106 - 46*x^105 - 11*x^104 - 31*x^103 - 61*x^102 + 62*x^101 + 60*x^100 - 46*x^99 + x^98 + 2*x^97 - 58*x^96 - 39*x^95 + 12*x^94 + 19*x^93 - 47*x^92 + 34*x^91 - 18*x^90 + 12*x^89 - 26*x^88 + 6*x^87 + 48*x^86 - 7*x^85 + 12*x^84 - 51*x^83 - 35*x^82 - 49*x^81 - 33*x^80 - 63*x^79 + 48*x^78 + 2*x^77 - 21*x^76 - x^75 - 58*x^74 - 31*x^73 - 21*x^72 + 6*x^71 - 41*x^70 - 22*x^69 - 39*x^68 - 9*x^67 - 54*x^66 + 8*x^65 + 23*x^64 - 27*x^63 + 21*x^62 + 52*x^61 + 35*x^60 + 35*x^59 - 7*x^58 - 31*x^57 + 18*x^56 + 7*x^55 + 14*x^54 + 17*x^53 + 16*x^52 + 41*x^51 - 19*x^50 - 31*x^49 + 47*x^48 - 49*x^47 - 23*x^46 - 17*x^45 + 61*x^44 + 9*x^43 + 27*x^42 - 44*x^41 - 39*x^40 - 42*x^39 - 14*x^38 + 23*x^37 - 45*x^36 - 60*x^35 - 57*x^34 - 39*x^33 - 26*x^32 + 9*x^31 - 38*x^30 - 56*x^29 + 51*x^28 + 35*x^27 - 42*x^26 + 26*x^25 + 25*x^24 + 53*x^23 - 38*x^22 - 41*x^21 - 34*x^20 - 52*x^19 - 4*x^18 + 6*x^17 - 4*x^16 + 18*x^15 - 43*x^14 + 14*x^13 - 29*x^12 - 42*x^11 + 5*x^10 - 36*x^9 - 32*x^8 + 59*x^7 + 40*x^6 + 4*x^5 + 43*x^4 - 57*x^3 - 26*x^2 - 2*x - 60,
7*x^262 + 59*x^261 + 48*x^260 + 13*x^259 - 59*x^258 - 18*x^257 - 48*x^256 + 33*x^255 + 32*x^254 - 9*x^253 - 35*x^252 - 22*x^251 + 59*x^250 + x^249 - 45*x^248 + 17*x^247 + 61*x^246 + 43*x^245 - 64*x^244 + 2*x^243 - 44*x^242 - 43*x^241 - 24*x^240 - 15*x^239 + 10*x^238 + 63*x^237 + 54*x^236 + 10*x^235 - 30*x^234 + 31*x^233 + 61*x^232 - 55*x^231 + 19*x^230 - 8*x^229 + 14*x^228 + 12*x^227 + 13*x^226 + 34*x^225 - 15*x^224 + 48*x^223 + 3*x^222 + 61*x^221 - 48*x^220 - 17*x^219 - 5*x^218 + 16*x^217 + 13*x^216 - 29*x^215 + 51*x^214 - 49*x^213 - 60*x^212 + 52*x^211 - 46*x^210 - 43*x^209 + 38*x^208 + 58*x^207 - 53*x^206 - 9*x^205 - 62*x^204 + 57*x^203 - 45*x^202 + 38*x^201 - 40*x^200 + 23*x^199 - 10*x^198 - 59*x^197 + 52*x^196 + 61*x^195 + 58*x^194 - 38*x^193 - 5*x^192 - 37*x^191 + 18*x^190 + 8*x^189 - 59*x^188 + 16*x^187 + 10*x^186 - 53*x^185 - 51*x^184 - 21*x^183 + 14*x^182 - 56*x^181 + 36*x^180 - 48*x^179 + 8*x^178 + 20*x^177 - 39*x^176 - 22*x^175 + 62*x^174 - 48*x^173 - 8*x^172 - 24*x^171 + 51*x^170 - 54*x^169 + 13*x^168 - 38*x^167 + 25*x^166 + 51*x^165 - 32*x^164 - 27*x^163 + 21*x^162 + 9*x^161 - 31*x^160 - 25*x^159 - 33*x^158 + 13*x^157 - 23*x^156 - 15*x^155 - 21*x^154 - 60*x^153 + 37*x^152 - 33*x^151 + 27*x^150 + 29*x^149 + 55*x^148 + 32*x^147 + 50*x^146 - 13*x^145 - 15*x^144 + 42*x^143 + 37*x^142 + 25*x^141 + 58*x^140 + 29*x^139 + 10*x^138 + 38*x^137 - 18*x^136 + 27*x^134 - 23*x^133 + 11*x^132 + 49*x^131 + 40*x^130 - 26*x^129 - 35*x^128 - 41*x^127 + 18*x^126 + 25*x^125 + 49*x^124 + 25*x^123 - 38*x^122 + 49*x^121 - 38*x^120 + 60*x^119 - 49*x^118 - 14*x^117 - 62*x^116 + 17*x^115 + 58*x^114 + 36*x^113 - 8*x^112 - 21*x^111 - 35*x^110 + 47*x^109 + 48*x^108 - 24*x^107 + 3*x^106 + 59*x^105 - 2*x^104 - 59*x^103 - 6*x^102 + 16*x^101 - 39*x^100 + 59*x^99 - 26*x^98 - 41*x^97 - 40*x^96 + 10*x^95 - 55*x^94 + 50*x^93 - 6*x^92 + 35*x^91 + 53*x^90 + 17*x^89 + 34*x^88 - 62*x^87 - 33*x^86 + 12*x^85 - 25*x^84 + 55*x^83 - 25*x^82 - 44*x^81 - 15*x^80 + 13*x^79 - 32*x^78 - 63*x^77 + 52*x^76 - 44*x^75 - 64*x^74 + 2*x^73 - 4*x^72 + 55*x^71 - 52*x^70 + 20*x^69 - 31*x^68 + 57*x^67 + x^66 + 61*x^65 + 26*x^64 + 18*x^63 + 34*x^62 + 53*x^61 + 14*x^60 - 15*x^59 - 46*x^58 - 6*x^57 + 12*x^56 + 9*x^55 - 27*x^54 + 26*x^53 - 40*x^52 - 17*x^51 + 43*x^50 - 49*x^49 + 52*x^48 + 20*x^47 + 28*x^46 + 3*x^45 + 16*x^43 - 5*x^42 - 12*x^41 - 13*x^40 + 48*x^39 + 34*x^38 - 64*x^37 + 62*x^36 - 40*x^35 + 44*x^34 - 44*x^33 - 40*x^32 - 14*x^31 - 6*x^30 + 34*x^29 + 55*x^28 + 48*x^27 + 55*x^26 + 20*x^25 + 30*x^24 - 5*x^23 - 38*x^22 + 14*x^21 - 18*x^20 - 10*x^19 - 35*x^18 - 30*x^17 + 6*x^16 - 15*x^15 + 5*x^14 - 45*x^13 + 61*x^12 + 20*x^11 - 34*x^10 + 26*x^9 - 44*x^8 + 58*x^7 - 47*x^6 + 5*x^5 + 31*x^4 + 44*x^3 + 32*x^2 + 47*x - 61,
-45*x^262 - 56*x^261 + 2*x^260 - 51*x^259 + 26*x^258 - 39*x^257 - 4*x^256 + 13*x^255 - 27*x^254 + 34*x^253 - 57*x^252 - 8*x^251 + 49*x^250 - 60*x^249 + 49*x^248 - 27*x^247 + 12*x^246 + 3*x^245 + 42*x^244 - 64*x^243 + 23*x^242 + 25*x^241 - 10*x^240 + 13*x^239 + 39*x^238 - 47*x^237 + 20*x^236 - 28*x^235 + 16*x^234 - 61*x^233 + 3*x^232 - 16*x^231 - 29*x^230 + 51*x^229 + 61*x^228 - 27*x^227 - 46*x^226 + 9*x^225 - 51*x^224 - 56*x^223 - 59*x^222 + 44*x^221 + 29*x^220 - 14*x^219 + 17*x^218 - 41*x^217 + 30*x^216 + 7*x^215 + 31*x^214 + 61*x^213 + 21*x^212 - 61*x^211 - 49*x^210 - 59*x^209 - 34*x^208 - 64*x^207 + 29*x^206 + 53*x^205 + 35*x^204 + 47*x^203 + 40*x^202 - 13*x^201 + 50*x^200 - 44*x^199 + 60*x^198 - 32*x^197 + 27*x^196 - 20*x^195 - 33*x^194 - 46*x^193 + 26*x^192 - 38*x^191 - 3*x^190 + 19*x^189 + 9*x^188 - 30*x^187 + 14*x^186 + 15*x^185 - 32*x^184 + 39*x^183 + 21*x^182 + 63*x^181 - 7*x^180 + 28*x^179 - 16*x^178 - 16*x^177 + 13*x^176 - 44*x^175 + 62*x^174 + 48*x^173 - 24*x^172 - 52*x^171 - 53*x^170 + 11*x^169 - 58*x^168 - 55*x^167 - 59*x^166 - 48*x^165 + 6*x^164 + 32*x^163 - 21*x^162 + 18*x^161 - 41*x^160 - 60*x^159 + 34*x^158 + 4*x^157 + 24*x^156 - 12*x^155 - 48*x^154 + 7*x^153 - 24*x^152 + 58*x^151 + 41*x^150 + 34*x^149 - 36*x^148 + 31*x^147 - 14*x^146 + 59*x^145 - 25*x^144 - 37*x^143 - 37*x^142 - 63*x^141 - 39*x^140 + 24*x^139 - 14*x^138 - 13*x^137 - 5*x^136 + 48*x^135 + 18*x^134 - 36*x^133 + 9*x^132 - 19*x^131 - 25*x^130 + 12*x^129 - 18*x^128 - 64*x^127 - 33*x^126 - 64*x^125 - 48*x^124 + 15*x^123 - 51*x^122 - 45*x^121 + 20*x^120 - 48*x^119 - 13*x^118 - 47*x^117 + 46*x^116 + 16*x^115 + 14*x^114 - 16*x^113 + 35*x^112 + 42*x^111 - 45*x^110 + 14*x^109 + 31*x^108 + 32*x^107 + 56*x^106 + 60*x^105 - 11*x^104 - 26*x^103 - 39*x^102 + 5*x^101 + 7*x^100 + 60*x^99 - 2*x^98 - 10*x^97 + 46*x^96 + 62*x^95 - 7*x^94 - 26*x^93 + 48*x^92 - 6*x^91 - 54*x^90 - 7*x^89 + 25*x^88 - 44*x^87 - 35*x^86 - 63*x^85 + 27*x^84 + 35*x^83 + 59*x^82 + x^81 + 20*x^80 + 58*x^79 - 50*x^78 + 60*x^77 - 45*x^76 + 16*x^75 - 5*x^74 - 55*x^73 + 8*x^72 + 40*x^71 + 58*x^70 - 15*x^69 + 58*x^68 - 20*x^67 - 55*x^66 - 36*x^65 + 52*x^64 - 23*x^63 - 58*x^62 + 23*x^61 + 13*x^60 - 12*x^59 - 60*x^58 + 57*x^57 - 55*x^56 + 40*x^55 - 44*x^54 - 2*x^53 - 26*x^52 + 5*x^51 + 56*x^50 + 53*x^49 - 22*x^48 - 24*x^47 - 60*x^46 + 57*x^45 + 21*x^43 - 14*x^42 - 47*x^41 - 36*x^40 + 59*x^39 + x^38 - 63*x^37 - x^36 - 35*x^35 - 54*x^34 + 18*x^33 + 39*x^32 - 14*x^31 + 9*x^30 - 64*x^29 + 44*x^28 + 43*x^27 - 9*x^26 + 16*x^25 - 32*x^24 - 38*x^22 - 24*x^21 + 46*x^20 - 23*x^19 - 12*x^18 + 13*x^17 + 22*x^16 + 31*x^15 + 41*x^14 + 33*x^13 - 59*x^12 + 62*x^11 + 15*x^10 - 29*x^9 + 12*x^8 + 59*x^7 - 14*x^6 + 38*x^5 - 6*x^4 + x^3 - 58*x^2 + 12*x - 45,
-11*x^262 + 51*x^261 + 5*x^260 - 61*x^259 - 6*x^258 - 6*x^257 + 5*x^256 + 39*x^255 - 49*x^254 + 34*x^253 - 20*x^252 - 22*x^251 - 35*x^250 - 12*x^249 - 28*x^248 - 53*x^247 - 49*x^245 - 21*x^244 + 36*x^243 - 57*x^242 + 54*x^241 + 34*x^240 - 63*x^239 + 18*x^238 + 42*x^236 - 44*x^235 - 32*x^234 - 13*x^233 - 10*x^232 - 37*x^231 + 13*x^230 + 26*x^229 - 5*x^228 + 58*x^227 - x^226 + 32*x^225 - 30*x^224 - 10*x^223 - 43*x^222 + 39*x^221 + 63*x^220 + 42*x^219 + 35*x^218 + 30*x^217 - 18*x^216 + 10*x^215 - 3*x^214 + 17*x^213 + 16*x^212 - 14*x^211 - 39*x^210 + 34*x^209 - 49*x^208 + 17*x^207 - 31*x^206 - 20*x^205 - 3*x^204 - x^203 + 28*x^202 + 49*x^201 - 27*x^200 - 14*x^199 - 40*x^198 + 36*x^197 - 20*x^196 + 29*x^195 - 26*x^194 + 11*x^193 + 2*x^192 - 12*x^191 - 33*x^190 + 31*x^189 - 7*x^188 - 3*x^187 + 34*x^186 + 41*x^185 - 44*x^184 + 19*x^183 + 3*x^182 + 18*x^181 - 55*x^180 + 36*x^179 + 39*x^178 - 42*x^177 - 5*x^176 - 39*x^175 + 14*x^174 + 23*x^173 - 59*x^172 - 6*x^171 - 35*x^170 + 38*x^169 + 46*x^168 - 29*x^167 + 34*x^166 + 47*x^165 - 31*x^164 - 27*x^163 + 4*x^162 + 62*x^161 - 58*x^160 + 2*x^159 + 47*x^158 + 49*x^157 - 23*x^156 + 21*x^155 - 19*x^154 - 43*x^153 + 46*x^152 - 13*x^151 + 14*x^150 - 31*x^149 - 31*x^148 - 62*x^147 + 58*x^146 - 15*x^145 + 17*x^144 - 52*x^143 + 40*x^142 - 58*x^141 - 2*x^140 + 48*x^139 + 43*x^138 - 24*x^137 + 30*x^136 + 42*x^135 - 35*x^134 + 39*x^133 + 23*x^132 + 33*x^131 + 33*x^130 + 30*x^129 + 55*x^128 - 23*x^127 + 8*x^126 - 36*x^125 - 9*x^124 + 26*x^123 - 52*x^122 + 10*x^121 + 29*x^120 + 40*x^119 + 4*x^118 - 56*x^117 - 23*x^116 - 34*x^115 - 61*x^114 + 14*x^113 + 23*x^112 - 41*x^111 - 37*x^110 + 45*x^109 + 8*x^108 + 54*x^107 - 34*x^106 + 36*x^105 + 55*x^104 + 55*x^103 + 14*x^102 - 14*x^101 + 38*x^100 - 2*x^99 + 13*x^98 - 47*x^97 - 39*x^96 + 59*x^95 + 55*x^94 - 26*x^93 + x^92 - 19*x^91 - 28*x^90 - 37*x^89 + 34*x^88 + 5*x^87 - 13*x^86 + 58*x^85 - 51*x^84 - x^83 - 58*x^82 - 20*x^81 - 45*x^80 - 60*x^79 - 39*x^78 - 7*x^77 + 54*x^76 - 51*x^75 - 3*x^74 - 11*x^73 + 14*x^72 + 61*x^71 + 23*x^70 - 25*x^69 - 27*x^68 + 16*x^67 + 29*x^66 + 32*x^65 - 62*x^64 - 16*x^63 - 14*x^62 - 40*x^61 + 25*x^60 - 17*x^59 + 3*x^58 - 13*x^57 - 20*x^56 - 28*x^55 - 30*x^54 + 54*x^53 + 59*x^52 - 9*x^51 - 32*x^50 + 24*x^49 - 42*x^48 + 16*x^47 + 37*x^46 + 38*x^45 + 56*x^44 - 27*x^43 + 29*x^42 + 54*x^41 - 58*x^40 + 25*x^39 - 16*x^38 + 34*x^37 - 17*x^36 + 63*x^35 + 62*x^34 - 18*x^33 + 45*x^32 + 3*x^31 - 56*x^30 - x^29 + 60*x^28 + 34*x^27 - 6*x^26 + 38*x^25 + 33*x^24 - 11*x^23 + 62*x^22 + 50*x^21 - 38*x^20 - 36*x^19 - 17*x^18 + 35*x^17 + 15*x^16 + 49*x^15 + 10*x^14 - 6*x^13 + 22*x^12 - 24*x^11 - 11*x^10 - 55*x^9 + 2*x^8 - 38*x^7 + 39*x^6 - 4*x^5 - 21*x^4 + 11*x^3 + 47*x^2 - 37*x - 7,
-3*x^262 - 33*x^261 + 51*x^260 - 16*x^259 - 42*x^258 + 29*x^257 + 50*x^256 - 28*x^255 + 17*x^254 - 34*x^253 - 6*x^252 - 49*x^251 - 28*x^250 - x^249 - 63*x^248 - 25*x^247 - 51*x^246 - 24*x^245 + 14*x^244 + 17*x^243 - 36*x^242 + 3*x^241 + 9*x^240 - 64*x^239 - 15*x^238 - 31*x^237 + 21*x^236 + 41*x^235 + 19*x^234 + 57*x^233 + 20*x^232 - 52*x^231 - 22*x^230 + 44*x^229 - 54*x^228 - 59*x^227 + 28*x^226 - 39*x^225 - 56*x^224 + 11*x^223 + 32*x^222 + 24*x^221 - 42*x^220 + 37*x^219 - x^218 - x^217 + 41*x^216 - 54*x^215 - 54*x^214 - 44*x^213 + 32*x^212 - 43*x^211 - 51*x^210 + 11*x^209 - 64*x^208 - 38*x^207 - x^206 + 60*x^205 + 42*x^204 + 28*x^203 + 15*x^202 + 58*x^201 + 19*x^200 - 26*x^199 - x^198 - x^197 + 14*x^196 - 44*x^195 + 43*x^194 - 32*x^193 - 56*x^192 - 26*x^191 - 20*x^190 - 61*x^189 - 42*x^188 + 55*x^187 - 10*x^186 - 33*x^185 + 13*x^184 - 16*x^183 - 14*x^182 + 49*x^181 - 64*x^180 - 29*x^179 + 33*x^178 + 44*x^177 + 14*x^176 - 59*x^175 - 35*x^174 - 6*x^173 - 39*x^172 - 21*x^171 + 10*x^170 + 41*x^169 - 5*x^168 + 19*x^167 - 23*x^166 - 30*x^165 - 43*x^164 - 19*x^163 - x^162 - 16*x^161 - 45*x^160 + 20*x^159 + 42*x^158 - 3*x^157 + 51*x^156 + 56*x^155 + 21*x^154 + 11*x^153 + 6*x^152 - 60*x^151 - 27*x^150 - 30*x^149 - 17*x^148 - 37*x^147 - 33*x^146 - 19*x^145 + 2*x^144 + 62*x^143 - 60*x^142 + 18*x^141 + 52*x^140 - 24*x^139 + 4*x^138 + 31*x^137 - 5*x^136 - 10*x^135 + 58*x^134 - 52*x^133 + 53*x^132 - 24*x^131 - 42*x^130 - 35*x^129 - 2*x^128 + 29*x^127 - 12*x^126 - 33*x^125 + 60*x^124 + 49*x^123 - 54*x^122 + 34*x^121 - 12*x^120 - 28*x^119 + 54*x^118 + 31*x^117 - 62*x^116 - 53*x^115 - 42*x^114 - 62*x^113 - 13*x^112 - 9*x^111 + 34*x^110 + 15*x^109 + 51*x^108 + 9*x^107 + 7*x^106 - 38*x^105 + 44*x^104 + 46*x^103 + 5*x^102 + 44*x^101 - 2*x^100 + 37*x^99 - 2*x^98 + 4*x^97 - 57*x^96 - 37*x^95 + 42*x^94 + 37*x^93 + 17*x^92 + 50*x^91 - 46*x^90 - 9*x^89 + 30*x^88 - 6*x^87 + 45*x^86 + 39*x^85 + 20*x^84 - 8*x^83 - 7*x^82 + 50*x^81 - 13*x^80 - 23*x^79 + x^78 + 61*x^77 - 24*x^76 - 35*x^75 + 17*x^74 + 9*x^73 + 56*x^72 - 61*x^71 + 28*x^70 + 15*x^69 + 18*x^68 - 10*x^67 - 54*x^66 - 20*x^65 + 32*x^64 - 49*x^63 + 26*x^62 - 50*x^61 - 35*x^60 + 15*x^59 - 53*x^58 + x^57 + 40*x^56 + 37*x^55 - 5*x^54 - 58*x^53 + 61*x^52 - 10*x^51 + 42*x^50 + 40*x^49 - 27*x^48 + 53*x^47 + 6*x^46 + 53*x^45 + 10*x^44 - 20*x^43 + 38*x^42 + 27*x^41 + 52*x^40 - 45*x^39 - 53*x^38 + 39*x^37 + 19*x^36 - 62*x^35 + 21*x^34 + 37*x^33 + 58*x^32 + 3*x^31 - 25*x^30 + 2*x^29 - 49*x^28 - 25*x^27 - 31*x^26 - 59*x^25 + 9*x^23 - 36*x^22 + 13*x^21 - 36*x^20 - 25*x^19 + 3*x^18 - 4*x^17 - 55*x^16 + 9*x^15 - 59*x^14 + 50*x^13 - 11*x^12 + 56*x^11 - 50*x^10 - 40*x^9 + 12*x^8 - 41*x^7 + 27*x^6 + 11*x^5 - 30*x^4 + 16*x^3 - 63*x^2 + 51*x - 63,
52*x^262 - 24*x^261 - 38*x^260 + 30*x^259 + 29*x^258 + 63*x^257 + 4*x^256 - 31*x^255 + 19*x^254 + 21*x^253 - 63*x^252 + 28*x^251 - 61*x^250 - 37*x^249 - 30*x^248 + 10*x^247 + 8*x^246 - 25*x^245 - 60*x^244 - 48*x^243 + 11*x^242 - 45*x^241 - 57*x^240 + 24*x^239 - 43*x^238 + 48*x^237 - 40*x^236 + 2*x^235 - 47*x^234 + 52*x^233 + 6*x^232 - 21*x^231 - 38*x^230 - 41*x^229 + 20*x^228 + 63*x^227 + 20*x^226 + 39*x^225 - 12*x^224 - 47*x^223 - 61*x^222 - 29*x^221 - 5*x^220 + 36*x^219 + 47*x^218 + 56*x^217 + x^216 - 23*x^215 - 9*x^214 - 6*x^213 - 30*x^212 - 25*x^211 - 61*x^210 + 41*x^209 - 32*x^208 + 46*x^207 + 4*x^206 + 21*x^205 - 63*x^204 - 33*x^203 + 30*x^202 - 16*x^201 - 4*x^200 - 24*x^199 + 27*x^198 - 29*x^197 - 11*x^196 - 33*x^195 - 49*x^194 - 17*x^193 - 44*x^192 + 28*x^191 - 50*x^190 + 5*x^189 + 52*x^188 + 39*x^187 + 25*x^186 + 49*x^185 + 60*x^184 - 29*x^183 - 11*x^182 - 12*x^181 + 10*x^180 + 59*x^179 - 62*x^178 - 30*x^177 - 59*x^176 - 45*x^175 + 23*x^174 + 26*x^173 - x^172 + 29*x^171 - 17*x^170 - 13*x^169 - 18*x^168 - 56*x^167 + 30*x^166 - 4*x^165 - 28*x^164 - 14*x^163 - 20*x^162 - 57*x^161 + 41*x^160 - 28*x^159 + 54*x^158 - 20*x^157 + 56*x^156 + 41*x^155 + 13*x^154 + 31*x^153 - 21*x^152 - 28*x^151 + 11*x^150 - 23*x^149 - 55*x^148 + 42*x^147 - 16*x^146 - 54*x^145 + 44*x^144 - 31*x^143 + 3*x^142 + 53*x^141 - 61*x^140 + 44*x^139 + 30*x^138 + 16*x^137 - 32*x^136 - 6*x^135 - 53*x^134 + 30*x^133 + 43*x^132 - 53*x^131 + 36*x^130 + 46*x^129 + 54*x^128 - 33*x^127 - 58*x^126 + 58*x^125 - 9*x^124 + 6*x^123 - 44*x^122 + 12*x^121 - 9*x^120 - 61*x^119 + 22*x^118 + 37*x^117 + 50*x^116 + 62*x^115 + 33*x^114 + 10*x^113 + 26*x^112 + 2*x^111 + 54*x^110 + 63*x^109 - 11*x^108 - 4*x^107 + 50*x^106 - 8*x^105 + 59*x^104 + 53*x^103 + 6*x^102 - 64*x^101 - 17*x^100 - 41*x^99 - 12*x^98 - 25*x^97 + x^96 + 55*x^95 - 10*x^94 - 37*x^93 - 13*x^92 - 33*x^91 - 46*x^90 - 36*x^89 - 62*x^88 + 45*x^87 - 52*x^86 + 2*x^85 - 38*x^84 - 31*x^83 - 14*x^82 + 20*x^81 + 31*x^80 + 23*x^79 - 24*x^78 - 40*x^77 - 58*x^76 - 14*x^75 - 7*x^74 + 14*x^73 - 45*x^72 + 19*x^71 - 55*x^70 - 6*x^69 + 12*x^68 - 56*x^67 - 63*x^66 + 53*x^65 - 41*x^64 + 61*x^63 - 22*x^62 + 11*x^61 + 23*x^60 - 33*x^59 + 62*x^58 - x^57 - 29*x^56 - 36*x^55 + 11*x^54 + 33*x^53 + 56*x^52 + 3*x^51 - 41*x^50 + 31*x^49 + 26*x^48 - 20*x^47 - 64*x^46 + 49*x^45 - 37*x^44 + 25*x^43 - 15*x^42 + 11*x^41 + 42*x^40 + 56*x^39 + 32*x^38 + 61*x^37 + 14*x^36 - 14*x^35 + 11*x^34 - 44*x^33 + 5*x^32 + 54*x^31 - 3*x^30 - 41*x^29 + 49*x^28 + 40*x^27 - 35*x^26 - 25*x^25 - 33*x^24 + 47*x^23 + 44*x^22 - 38*x^21 - 37*x^20 + 36*x^19 + 52*x^18 - 20*x^17 - 41*x^16 - 11*x^15 - 48*x^14 - 12*x^13 + 60*x^12 + 45*x^11 + 31*x^10 - 48*x^9 - 46*x^8 - 27*x^7 + 9*x^6 - x^5 - 59*x^4 + 51*x^3 + 43*x^2 + 35*x - 30,
12*x^262 - 13*x^261 + 27*x^260 - 53*x^259 - 54*x^258 + 6*x^257 - 42*x^256 + 20*x^255 + 21*x^254 + 45*x^253 + 2*x^252 - 16*x^251 + 36*x^250 + 27*x^249 + 43*x^248 - 15*x^247 - 57*x^246 + 9*x^245 - 13*x^244 - 2*x^243 - 39*x^242 + 12*x^241 + 25*x^240 + 31*x^239 + 58*x^238 + 23*x^237 - 5*x^236 + 35*x^235 - 39*x^234 - 5*x^233 - 41*x^232 - 14*x^231 + 13*x^230 - 43*x^229 + 52*x^228 - 26*x^227 + 52*x^226 - 62*x^225 - 25*x^224 + 50*x^223 - 52*x^222 + 58*x^221 - 47*x^220 - 46*x^219 - 37*x^218 + 31*x^217 + 62*x^216 + 5*x^215 - 11*x^214 - 21*x^213 - 50*x^212 - 39*x^211 - 36*x^210 + 46*x^209 + 15*x^208 - 25*x^207 + 36*x^206 - 13*x^205 - 51*x^204 - 8*x^203 - 18*x^202 + 62*x^201 + 13*x^200 + 15*x^199 + 40*x^198 - 28*x^197 - 3*x^196 - 19*x^195 - 31*x^194 + 50*x^193 + 51*x^192 - 47*x^191 - 37*x^190 - 23*x^189 + 40*x^188 - 62*x^187 - 46*x^186 + 30*x^185 - 12*x^184 - 25*x^183 - 16*x^182 + 25*x^181 + 56*x^180 - 17*x^179 - 47*x^178 + 58*x^177 + 22*x^176 - 22*x^175 - 39*x^174 - 46*x^173 - 60*x^172 - 58*x^171 - 16*x^170 + 56*x^169 + 31*x^168 + 47*x^167 - 59*x^166 - 28*x^165 + 43*x^164 - 32*x^163 + 24*x^162 + 25*x^161 - 8*x^160 - 39*x^159 + 45*x^158 + 16*x^157 + 18*x^156 - x^155 - 62*x^154 + 23*x^153 + 15*x^152 + 18*x^151 + 51*x^150 - 7*x^149 - 44*x^148 - 60*x^147 - 19*x^146 + 38*x^145 - 63*x^144 + 58*x^143 - 14*x^142 - 18*x^141 + 31*x^140 + 24*x^139 + 3*x^138 + 26*x^137 + 2*x^136 + 59*x^135 + 54*x^134 - 4*x^133 + 5*x^132 + 24*x^131 - 39*x^130 - 50*x^129 - 64*x^128 + 3*x^127 + 16*x^126 - 58*x^125 - 43*x^124 + 2*x^123 - 21*x^122 - 7*x^121 - 37*x^120 - 43*x^119 + 7*x^118 + 37*x^117 + 6*x^116 - 63*x^115 - 13*x^114 + 2*x^113 - 7*x^112 + 16*x^110 - 51*x^109 - 14*x^108 + 55*x^107 - 35*x^106 + 60*x^105 + 18*x^104 + 55*x^103 + 39*x^102 + 23*x^101 - 19*x^100 - 3*x^99 - 33*x^98 + 21*x^97 + 15*x^96 - 47*x^95 + 6*x^94 + 38*x^93 - 52*x^92 - 28*x^91 + x^90 + 10*x^89 - 27*x^88 - 37*x^87 - 50*x^86 - 54*x^85 + 10*x^84 + 38*x^83 + 41*x^82 - 36*x^81 + 49*x^80 - 61*x^79 - 56*x^78 + 40*x^77 + 36*x^76 + 51*x^75 - 18*x^74 - 14*x^73 + 7*x^72 + 59*x^71 + 53*x^70 - 2*x^69 - 43*x^68 - 39*x^67 - 28*x^66 - 48*x^65 + 61*x^64 - 64*x^63 + 27*x^62 + 46*x^61 - 15*x^60 - 30*x^59 - 49*x^58 + 34*x^57 + 28*x^56 - 53*x^55 + 3*x^54 - 27*x^53 + 39*x^52 + 57*x^51 - 41*x^50 + 34*x^49 - 52*x^48 + 57*x^47 - 33*x^46 - 3*x^45 - 17*x^44 - 43*x^43 - 12*x^42 - 21*x^41 + 62*x^40 - 42*x^39 - 25*x^38 - 9*x^36 + 8*x^35 + 9*x^34 - 28*x^33 - 52*x^32 + 9*x^31 + 13*x^30 + 20*x^29 - 12*x^28 + 15*x^27 - 61*x^26 + 57*x^25 - 51*x^24 + 48*x^23 + 7*x^22 - 59*x^21 - 63*x^20 - 15*x^19 + 26*x^18 - 40*x^17 + 20*x^16 + 48*x^15 + 13*x^14 - 55*x^13 - 43*x^12 - 20*x^11 - 59*x^10 + 10*x^9 + 63*x^8 - 40*x^7 + 63*x^6 + 47*x^5 + 24*x^4 - 44*x^3 - 39*x^2 + 23*x - 61,
43*x^262 - 8*x^261 - 54*x^260 + 16*x^259 - 62*x^258 - 23*x^257 - 43*x^256 + 43*x^255 + 4*x^254 + 53*x^253 + 19*x^252 + 26*x^251 + 26*x^250 - 37*x^249 + 58*x^248 + 45*x^247 + 44*x^246 + 19*x^245 - 23*x^244 - 37*x^243 - 4*x^242 - 11*x^241 + 23*x^240 - 25*x^239 - 28*x^238 + 38*x^237 - 56*x^236 - 26*x^235 + 12*x^234 + 17*x^233 + 3*x^232 + 56*x^231 + 19*x^230 - 61*x^229 + 25*x^228 - 12*x^227 - 32*x^226 - 26*x^225 + 50*x^224 + 13*x^223 - 45*x^222 - 20*x^221 + 37*x^220 - 32*x^219 + 38*x^218 - 33*x^217 - 56*x^216 - 25*x^215 + 23*x^214 - 64*x^213 + 10*x^212 - 26*x^211 - 60*x^210 + 37*x^209 - 13*x^208 - 56*x^207 - 43*x^206 - 54*x^205 + 51*x^204 - 22*x^203 - 43*x^202 + 51*x^201 + 15*x^200 - 35*x^199 - 14*x^198 + 19*x^197 - 45*x^196 + 23*x^194 - 27*x^193 + 17*x^192 - 27*x^191 - 39*x^190 + 7*x^189 + 23*x^188 - 59*x^187 + 27*x^186 - 57*x^185 + 7*x^184 + 49*x^183 + 50*x^182 - 12*x^181 + 33*x^180 - 46*x^179 - 45*x^178 + 6*x^177 + 56*x^176 + 22*x^175 - 8*x^174 + 17*x^173 - 29*x^172 - 47*x^171 - 61*x^170 - 40*x^169 - 3*x^168 + 9*x^167 + 41*x^166 + 13*x^165 - 29*x^164 - 9*x^163 - 2*x^162 - 44*x^161 + 4*x^160 - 64*x^159 + 41*x^158 + 33*x^157 - 58*x^156 - 32*x^155 + 3*x^154 - 55*x^153 - 48*x^152 + 16*x^151 - 50*x^150 - 38*x^149 + 32*x^148 + 17*x^147 - 4*x^146 - 9*x^145 + 35*x^144 + 25*x^143 - 60*x^142 + 38*x^141 + 15*x^140 - 10*x^139 - 19*x^138 - 55*x^137 + 29*x^136 - 5*x^135 + 29*x^134 - 43*x^133 - 7*x^132 + 33*x^131 - 8*x^130 + 38*x^129 + 51*x^128 + 48*x^127 + 18*x^126 - 4*x^125 - 47*x^124 - 40*x^123 + 29*x^122 + 15*x^121 + 27*x^120 - 54*x^119 - 37*x^118 + 54*x^117 + 55*x^116 + 19*x^115 + 47*x^114 - 3*x^113 + 54*x^112 - 15*x^111 - x^110 - 5*x^109 + 59*x^108 - 31*x^107 + 5*x^106 + 7*x^105 + 16*x^104 - 56*x^103 + 52*x^102 - 49*x^101 + 15*x^100 + 55*x^99 + 22*x^98 - 22*x^97 - 19*x^96 + 2*x^95 - 40*x^94 + 29*x^93 - 58*x^92 + 21*x^91 + 35*x^90 - 9*x^89 + 8*x^88 + 10*x^87 - 11*x^86 + 5*x^85 - 20*x^84 + 8*x^83 + 38*x^82 - 11*x^81 - 31*x^80 + 4*x^79 - 24*x^78 + 20*x^77 - 23*x^76 + 18*x^75 - 63*x^74 - 59*x^73 + 39*x^72 + 49*x^71 - 39*x^70 - 12*x^69 + 24*x^68 - 19*x^67 - x^66 + 13*x^65 - 43*x^64 - 24*x^63 + 63*x^62 - 51*x^61 + 17*x^60 - 29*x^59 + 35*x^58 - 58*x^57 + 18*x^56 - 28*x^55 - 2*x^54 + 23*x^53 - 20*x^52 + 11*x^51 + 52*x^50 + 61*x^49 - 64*x^48 + 30*x^47 + 62*x^46 + 15*x^45 + 37*x^44 + 9*x^43 - 59*x^42 + 36*x^41 - 19*x^40 - 44*x^39 - 25*x^38 + 39*x^37 - 60*x^36 - 5*x^35 - 6*x^34 - 51*x^33 + 9*x^32 - 16*x^31 + 26*x^30 + 55*x^29 + 4*x^28 + 23*x^27 - 53*x^26 + 61*x^25 - 6*x^24 + 63*x^23 + 49*x^22 - 12*x^21 - 4*x^20 + x^19 - 53*x^18 + 57*x^17 + 6*x^16 - 35*x^15 + 29*x^14 - 52*x^13 - 58*x^12 - 33*x^11 - 9*x^10 - 42*x^9 - 14*x^8 + 24*x^7 - 51*x^6 - 9*x^5 - 49*x^4 + 45*x^3 - 35*x^2 - 58*x + 46,
23*x^262 + 13*x^261 + 21*x^260 + 59*x^259 + 35*x^258 + 2*x^257 + 51*x^256 - 34*x^255 + 34*x^254 + 51*x^253 - 63*x^252 + 51*x^251 - 16*x^250 - 5*x^249 + 56*x^248 + 39*x^247 + 16*x^246 - 26*x^245 + 43*x^244 + 59*x^243 + 17*x^242 - 39*x^241 + 4*x^240 - 21*x^239 - 8*x^238 + 42*x^237 + 36*x^236 - 27*x^235 + 53*x^234 - 53*x^233 - 4*x^232 - 7*x^231 + 52*x^230 + 49*x^229 + 51*x^228 - 55*x^227 + 53*x^226 + 17*x^225 - 7*x^224 - 35*x^223 + 48*x^222 - 35*x^221 + 24*x^220 + 63*x^219 + 53*x^218 - 61*x^217 - 8*x^216 + 25*x^215 - 48*x^214 + x^213 - 25*x^212 + 38*x^211 - 45*x^210 - 19*x^209 + 61*x^208 - 37*x^207 - 50*x^206 + 42*x^205 + 55*x^204 + 14*x^203 - 17*x^202 - 7*x^201 - 13*x^200 + 60*x^199 + 3*x^198 - 5*x^197 + 29*x^196 - 30*x^195 - 56*x^194 - 42*x^193 + 28*x^192 + 63*x^191 + 17*x^190 - 60*x^189 + 21*x^188 + 26*x^187 + 4*x^186 - 46*x^185 + 62*x^184 - 60*x^183 + 7*x^182 + 7*x^181 + 44*x^180 + 47*x^179 - 33*x^178 - 47*x^177 - 53*x^176 + 32*x^175 + 31*x^174 - 17*x^173 - 23*x^172 - 56*x^171 - 63*x^170 + 59*x^169 - 7*x^168 + 2*x^167 - 63*x^166 - 54*x^165 - 9*x^164 + 44*x^163 - 28*x^162 + 12*x^161 + 19*x^160 - 3*x^159 + x^158 + 38*x^157 - 30*x^156 - 60*x^155 + 32*x^154 + 8*x^153 + 57*x^152 + 27*x^151 - 13*x^150 + 14*x^149 + 49*x^148 + 19*x^147 + 23*x^146 + 3*x^145 - 3*x^144 - 33*x^143 - 4*x^142 + 20*x^141 - 12*x^140 - 31*x^139 - 35*x^138 - 29*x^137 - 37*x^136 - 3*x^135 + 12*x^134 - 59*x^133 - 10*x^132 + 20*x^131 + 63*x^130 - 57*x^129 - 54*x^128 - 32*x^127 - 49*x^126 + 28*x^125 + 21*x^124 - 63*x^123 - 56*x^122 - 11*x^121 - 47*x^120 - 6*x^119 - 35*x^118 + 9*x^117 - 39*x^116 + 8*x^115 + 29*x^114 - 64*x^113 - 32*x^112 + 5*x^111 - 10*x^110 + 21*x^109 + 60*x^108 + 30*x^107 + 22*x^106 + 33*x^105 - 13*x^104 - 32*x^103 - 23*x^102 - 30*x^101 + 10*x^100 - 24*x^99 + 8*x^98 + 29*x^97 + 57*x^96 - 39*x^95 - 13*x^94 - 54*x^93 + 15*x^92 + 24*x^91 + 49*x^89 + 53*x^88 + 55*x^87 - 20*x^86 - 10*x^85 + 49*x^84 - 40*x^83 + 17*x^82 + 3*x^81 + 61*x^80 + 47*x^79 - 22*x^77 - 50*x^76 - 62*x^75 - 17*x^74 + 54*x^73 + 2*x^71 + 34*x^70 + 27*x^69 + 44*x^68 - 47*x^67 + 57*x^66 + 22*x^65 + 52*x^64 - 49*x^63 - 4*x^62 + x^61 - 6*x^60 + 14*x^59 + 53*x^58 - 35*x^57 - 11*x^56 + 26*x^55 + 15*x^54 - 64*x^53 + 30*x^52 + 35*x^51 + 18*x^50 - 7*x^49 + 54*x^48 - 22*x^47 - 63*x^46 + 4*x^45 - 47*x^44 - 24*x^43 - 58*x^42 + 22*x^41 - 20*x^40 - 17*x^39 - 11*x^38 + 20*x^37 - 40*x^36 - 3*x^35 - 30*x^34 + 10*x^33 - 14*x^32 + 53*x^31 - 53*x^30 - 49*x^29 - 40*x^28 - 48*x^27 + 16*x^26 + 41*x^25 - 25*x^24 - 48*x^23 - 61*x^22 - 30*x^21 + 40*x^20 + 35*x^19 - 31*x^18 + 46*x^17 - 21*x^16 + 7*x^15 + 25*x^14 + 59*x^13 - 37*x^12 - 15*x^11 + 48*x^10 - 45*x^9 + 24*x^8 - 14*x^7 + 56*x^6 - 37*x^5 + 46*x^4 + 48*x^3 - 22*x^2 + 61*x - 54,
22*x^262 - 14*x^261 + 26*x^260 + 9*x^259 + 38*x^258 - 13*x^257 + 53*x^256 + 50*x^255 + 11*x^254 - 29*x^253 + 21*x^252 + 62*x^251 - 57*x^250 - 19*x^249 + 9*x^247 + 61*x^246 - 53*x^245 + 42*x^244 - 35*x^243 - 15*x^242 + 40*x^241 - 14*x^240 + 47*x^239 + 46*x^238 + 22*x^237 + 21*x^236 - 5*x^235 - 13*x^234 + 8*x^233 + 36*x^232 - 5*x^231 + 10*x^230 + 38*x^229 + 52*x^228 + 56*x^227 - 14*x^226 + 46*x^225 + 45*x^224 - 46*x^223 + 56*x^222 - 40*x^221 + 46*x^220 + 12*x^219 - 34*x^218 + 56*x^217 + 62*x^216 + 38*x^215 - 45*x^214 + 29*x^213 + 26*x^212 + 20*x^211 + 48*x^209 - 13*x^208 - 52*x^207 + x^206 + 7*x^205 - 4*x^204 - 47*x^203 - 18*x^202 - 45*x^201 + 46*x^200 - 53*x^199 - 4*x^198 + 28*x^197 - x^196 + 10*x^195 + 11*x^194 - 64*x^193 + 2*x^192 - 3*x^191 - 58*x^190 - 20*x^189 + 27*x^188 - 32*x^187 - 3*x^186 + 46*x^185 + 9*x^184 - 49*x^183 - 8*x^182 - 60*x^181 + 54*x^180 - 43*x^179 - 4*x^178 + 47*x^177 + 13*x^176 - 52*x^175 - 4*x^174 + 20*x^173 - 18*x^172 - 32*x^171 - 55*x^170 - 22*x^169 - 27*x^168 - 39*x^167 + 61*x^166 + 52*x^165 - 2*x^164 + 62*x^163 + 24*x^162 - 28*x^161 - 60*x^160 + 49*x^159 + 53*x^158 + 5*x^157 + 4*x^156 + 31*x^155 + 43*x^154 - 61*x^153 + 33*x^152 - 23*x^151 - 41*x^150 - 63*x^149 + 38*x^148 - 48*x^147 + 40*x^146 - 32*x^145 - 63*x^144 - 48*x^143 + 12*x^142 + 36*x^141 - 60*x^140 + 5*x^139 + 55*x^138 - 12*x^137 - 40*x^136 - 17*x^135 - 37*x^134 + 24*x^133 + 41*x^132 - 34*x^131 - 46*x^130 - 41*x^129 + 13*x^128 - 3*x^127 - 14*x^126 - 2*x^125 - 35*x^124 + 9*x^123 - 44*x^122 - 49*x^121 - 5*x^120 - 3*x^119 + 14*x^118 - 30*x^117 + 2*x^116 - 53*x^115 + 27*x^114 - 11*x^113 - 57*x^112 + 3*x^111 - 7*x^110 + 33*x^109 - 9*x^108 + 8*x^107 - 40*x^106 - x^105 + 32*x^104 - 39*x^103 + 10*x^102 - 49*x^101 - 7*x^100 + 36*x^99 - 62*x^98 - 6*x^97 + 4*x^96 + 58*x^95 + 27*x^94 - 46*x^93 + 59*x^92 - 5*x^90 + 42*x^89 + 63*x^88 - 28*x^87 + 12*x^86 - 46*x^85 - 17*x^84 - 9*x^83 + 18*x^82 + 37*x^81 + 61*x^80 - 35*x^79 + 8*x^78 - 3*x^77 - 5*x^76 - 15*x^75 - 33*x^74 + 41*x^73 + 12*x^72 - 46*x^71 - 62*x^70 + 2*x^69 + 55*x^68 + 59*x^67 + 6*x^66 + 35*x^65 + 3*x^64 - 34*x^63 - 44*x^62 - 15*x^61 - 44*x^60 - 45*x^59 - 56*x^58 - 3*x^57 - 52*x^56 - 25*x^55 + 9*x^54 + 60*x^53 - 46*x^52 - 27*x^51 + 53*x^50 - 18*x^49 + 50*x^48 + 45*x^47 + 7*x^46 + 23*x^45 + 58*x^44 - 62*x^43 + 55*x^42 + 33*x^41 + 14*x^40 - 2*x^39 - 20*x^38 - 58*x^37 - 27*x^36 + 30*x^35 + 50*x^34 + 44*x^33 + 28*x^32 - 22*x^31 - 43*x^30 + 8*x^29 - 54*x^28 + 34*x^27 + 4*x^26 - 7*x^25 + 48*x^24 + 45*x^23 + 39*x^22 - 42*x^21 + 13*x^20 + 36*x^19 - 15*x^18 - 29*x^17 - 10*x^16 - 58*x^15 - 44*x^14 - 33*x^13 - 9*x^12 + 24*x^11 - 64*x^10 - 63*x^9 + 31*x^8 + 56*x^7 - 50*x^6 - 47*x^5 + 20*x^4 - 4*x^3 - 20*x^2 + 29*x - 56,
-7*x^262 - 18*x^261 + 6*x^260 + 31*x^259 + 11*x^258 - 62*x^257 + 9*x^256 - 13*x^255 - 13*x^254 - 5*x^253 + 3*x^252 - 40*x^251 - 54*x^250 - 19*x^249 - x^248 + 51*x^247 + 8*x^246 + 36*x^244 + 45*x^243 - 42*x^242 + 10*x^241 + 54*x^240 + 60*x^239 - 25*x^238 - 10*x^237 - 46*x^236 + 36*x^235 - 34*x^233 - 11*x^232 + 11*x^231 - 6*x^230 + 47*x^229 + 15*x^228 + 25*x^227 - 37*x^226 + 34*x^225 + 45*x^224 - 41*x^223 - 29*x^222 - 6*x^221 - 4*x^220 - 33*x^219 + 54*x^218 - 24*x^217 - 59*x^216 + 6*x^215 - 10*x^214 - 28*x^213 + 6*x^212 + 16*x^211 + 14*x^210 + 28*x^209 + 19*x^208 - 18*x^207 + 23*x^206 - 2*x^205 + 24*x^204 + 2*x^203 - 32*x^202 - 54*x^201 - 50*x^200 + 48*x^199 + 11*x^198 + 9*x^197 + 62*x^196 - 46*x^195 - 4*x^194 + 57*x^193 - 57*x^191 - 17*x^190 - 58*x^189 - 54*x^188 - 8*x^187 - 58*x^186 - 47*x^185 + 49*x^184 + 55*x^183 + 31*x^182 + 54*x^181 + 61*x^180 + 60*x^179 - 49*x^178 - 49*x^177 + 11*x^176 + 45*x^175 + 52*x^174 - 31*x^173 - 50*x^172 - 40*x^171 - 15*x^170 + 61*x^169 + 32*x^168 + 28*x^167 - 12*x^166 - 17*x^165 + 52*x^164 - 24*x^163 + 28*x^162 + 15*x^161 - 36*x^160 - 45*x^159 + 6*x^158 + 52*x^157 - 29*x^156 - 22*x^155 + 7*x^154 + 56*x^153 + 37*x^152 + 45*x^151 - 39*x^150 + 29*x^149 - 28*x^147 + 28*x^146 + 27*x^145 - 9*x^143 - 44*x^142 - 57*x^141 + 28*x^140 + 57*x^139 - 39*x^138 + 2*x^137 - 19*x^136 - 30*x^135 - 27*x^134 - 8*x^133 - 44*x^132 - 35*x^131 - 42*x^130 - 16*x^129 + 7*x^128 - 14*x^127 - 2*x^126 + 60*x^125 - 63*x^124 - 55*x^123 - 8*x^122 + 62*x^121 + 36*x^120 - 24*x^119 - 15*x^118 - 11*x^117 - 43*x^116 - 7*x^115 - 52*x^114 - 15*x^113 - 25*x^112 - 34*x^111 - 15*x^110 + 19*x^109 - 16*x^108 - 37*x^107 + 11*x^106 + 39*x^105 + 20*x^104 - 29*x^103 + 19*x^102 - 58*x^101 - 7*x^100 + 56*x^99 + 23*x^98 - 33*x^97 - 58*x^96 - 18*x^95 - 28*x^94 + 23*x^93 - 52*x^92 - 8*x^91 + 20*x^90 + 29*x^89 + 38*x^88 - 2*x^87 - 4*x^86 - 56*x^85 - 46*x^84 - 51*x^83 + 21*x^82 - 20*x^81 + 16*x^80 - 5*x^79 - 49*x^78 - 60*x^77 + 19*x^76 - 41*x^75 + x^74 + 13*x^72 + 36*x^71 + 33*x^70 + 3*x^69 + 28*x^68 + 19*x^67 + 20*x^66 + 59*x^65 + x^64 - 52*x^63 - 35*x^62 - 10*x^61 + 17*x^60 + 46*x^59 - 26*x^58 + 10*x^57 - 7*x^56 + 38*x^55 - 58*x^54 - 28*x^53 - 22*x^52 - 31*x^51 - 11*x^50 + 63*x^49 - 41*x^48 + 17*x^47 + 9*x^46 + 58*x^45 - 48*x^44 - 9*x^43 - 12*x^42 + 14*x^41 - 29*x^40 + 59*x^39 - 53*x^38 - x^37 - 47*x^36 - 15*x^35 - 26*x^34 + 60*x^33 + 27*x^32 + 5*x^31 - 30*x^30 - 6*x^29 - 52*x^28 + 42*x^27 - 56*x^26 - 22*x^25 - 26*x^24 - 14*x^23 + 43*x^22 - 58*x^21 - 13*x^20 - 45*x^19 + 3*x^18 - 54*x^17 + 29*x^16 - 61*x^15 + 57*x^14 - 7*x^13 - 36*x^12 - 61*x^11 - 53*x^10 - 54*x^9 + 3*x^8 - 22*x^7 - 62*x^6 + 57*x^5 + 51*x^4 + 39*x^3 + 43*x^2 - 56*x + 62,
15*x^262 - 27*x^261 - 59*x^260 - 9*x^259 + 63*x^258 + 39*x^257 - 49*x^256 - 27*x^255 - 47*x^254 + 13*x^253 + 25*x^252 - 37*x^251 - 53*x^250 - 26*x^249 + 26*x^248 - 44*x^247 + 4*x^246 - 62*x^245 + 55*x^244 - 11*x^243 - 51*x^242 + 19*x^241 - 26*x^240 - 48*x^239 + 51*x^238 - 46*x^237 + 19*x^236 - 47*x^235 + 50*x^234 - 41*x^233 + 10*x^232 - 44*x^231 - 63*x^230 - 29*x^229 + 15*x^228 + 51*x^227 - 58*x^226 - 6*x^225 + 57*x^224 - 14*x^223 + 22*x^222 - 50*x^221 - 48*x^220 - 33*x^219 - 49*x^218 - 15*x^217 + 38*x^216 - 42*x^215 - 35*x^214 - x^213 - 25*x^212 - 56*x^211 + 47*x^210 - 19*x^209 + 6*x^208 + 19*x^207 + 54*x^206 - 63*x^205 + 31*x^204 + 49*x^203 - 12*x^202 - 39*x^201 - 16*x^200 + 51*x^199 + 62*x^198 + 23*x^197 - 14*x^196 - 46*x^195 - 39*x^194 - 52*x^193 + 14*x^192 - 20*x^191 + 7*x^190 - 49*x^189 + 37*x^188 + 20*x^187 - 55*x^186 + 22*x^185 + 52*x^184 - 33*x^183 + 47*x^182 + 45*x^181 - 39*x^180 - 50*x^179 + 51*x^178 - 13*x^177 - 62*x^176 + 61*x^175 + 6*x^174 + 24*x^173 + 20*x^172 + 32*x^171 - 17*x^170 - 64*x^169 + 6*x^168 - 54*x^167 + 44*x^166 - 3*x^165 - 50*x^164 + 55*x^163 + 28*x^162 + 42*x^161 + 60*x^160 + 47*x^159 - 22*x^158 + 22*x^157 + 47*x^156 + 8*x^155 - 53*x^154 + 21*x^153 - 9*x^152 + 25*x^151 - 63*x^150 + 41*x^149 - 12*x^148 + 58*x^147 - 19*x^146 + 61*x^145 - 29*x^144 + 32*x^143 + 17*x^142 + 9*x^141 + 26*x^140 + 10*x^139 - 25*x^138 + 40*x^137 + 43*x^136 - 23*x^135 - 55*x^134 - 46*x^133 + 51*x^132 + 17*x^131 - 13*x^130 - 6*x^129 - 18*x^128 - 40*x^127 + 35*x^126 + 20*x^125 + 34*x^124 - 41*x^123 - 58*x^122 + 14*x^121 + 13*x^120 + 61*x^119 + 63*x^118 + 25*x^117 - 62*x^116 + 6*x^115 + 11*x^114 - 24*x^113 + 54*x^112 - 57*x^111 - 57*x^110 - 56*x^109 + 50*x^108 + 21*x^107 - 46*x^106 + 27*x^105 + 47*x^104 + 41*x^103 + 16*x^102 - 58*x^101 - 45*x^100 - 50*x^99 + 25*x^98 - 26*x^97 - 45*x^96 - 60*x^95 - 48*x^94 - 38*x^93 - 48*x^92 - 31*x^91 + 8*x^90 + 13*x^89 + 24*x^88 + 49*x^87 + 2*x^86 - 55*x^85 + 36*x^84 + 22*x^83 - 20*x^82 - 54*x^81 - 21*x^80 + 12*x^79 - 53*x^78 - 57*x^77 + 24*x^76 + 8*x^75 - 17*x^74 - 21*x^73 - 26*x^72 - 36*x^71 - 18*x^70 + 43*x^69 + 27*x^68 + 17*x^67 - 18*x^66 - 62*x^65 - 55*x^64 - 18*x^63 - 32*x^62 - 36*x^61 + 14*x^60 - 15*x^59 - 61*x^58 - 14*x^57 + 21*x^56 - 36*x^55 - 34*x^54 + 26*x^53 + 26*x^52 - 41*x^51 - 23*x^50 - 7*x^49 + 8*x^48 - 28*x^47 + 5*x^46 + 11*x^45 + 22*x^44 - 63*x^43 + 17*x^42 + 57*x^41 - 30*x^40 - 46*x^39 + x^38 - 55*x^37 - 35*x^36 + 32*x^35 - 43*x^34 - 17*x^33 - 58*x^32 - 38*x^31 + 37*x^30 - 8*x^29 - 34*x^28 + 32*x^27 + 11*x^26 + 3*x^25 - 54*x^24 - 55*x^23 - 62*x^22 + 28*x^21 - 10*x^20 + 8*x^19 + 19*x^18 + 31*x^17 + 4*x^16 - 39*x^15 - 27*x^14 + 38*x^13 - 23*x^12 + 40*x^11 + 33*x^10 + 52*x^9 - 53*x^8 - 58*x^7 + 61*x^6 - 39*x^5 - 20*x^4 - 11*x^3 + 35*x^2 - 5*x - 24]

pk=out[0]
pk_inv=invertmodpowerof2(pk,q)
r=[]
for i in range(1,24):
temp=list(balancedmod(convolution_enc(out[1]-out[1+i],pk_inv),q))
r.append(temp+[0]*(n-len(temp)))


time1=[]
time2=[]
for i in range(n):
timea=0
timeb=0
for j in range(23):
if r[j][i]==1:
timea+=1
if r[j][i]==-1:
timeb+=1
time1.append(timea)
time2.append(timeb)


s=0
for i in range(len(time1)):
if time1[i]>15:
s+=x^i
if time2[i]>15:
s+=-x^i

m=list(balancedmod(out[1]-convolution(pk,s),q))

num=0
for i in range(len(m)):
if m[i]==16:
num+=3^i
if m[i]==17:
num+=2*3^i

print(bytes.fromhex(hex(num)[2:]))

Everywhere

NTRU的broadcast攻击,发现上一篇虽然叫这名字但是没写这个部分,另找了一篇,一开始打的时候找的一篇比较老的论文实现起来极其复杂没看多久就划水了,后来又换了一篇,实际操作起来简单了不少

An Efficient Broadcast Attack against NTRU

按照NTRU-1998标准打就行,才发现原来NTRU标准的版本这么多

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
def convolution(f,g):
return (f * g) % (RR)

def balancedmod(f,q):
g = list(((f[i] + q//2) % q) - q//2 for i in range(n))
return Zx(g) % (x^n-1)

def invertmodprime(f,p):
T = Zx.change_ring(Integers(p)).quotient(RR)
return Zx(lift(1 / T(f)))

def invertmodpowerof2(f,q):
assert q.is_power_of(2)
g = invertmodprime(f,2)
while True:
r = balancedmod(convolution(g,f),q)
if r == 1: return g
g = balancedmod(convolution(g,2 - r),q)

def convolution_enc(f,g):
return (f * g) % (x^n-1)

Zx.<x> = ZZ[]
n, q = 263, 128

RR=0
for i in range(n):
RR+=x^i

A=[]
v=[]

f=open('output.txt','r')
for time in range(399):
pk=Zx(f.readline()).change_ring(Zmod(q))
data=Zx(f.readline()).change_ring(Zmod(q))
pk_inv=invertmodpowerof2(pk,q)
b=list(balancedmod(convolution_enc(pk_inv,data),q))
b=vector(Zmod(q),b+[0]*(n-len(b)))
coe_mat=list(pk_inv)
coe_mat+=[0]*(n-len(coe_mat))
H=Matrix(Zmod(q),n,n)
for i in range(n):
for j in range(n):
H[i,j]=coe_mat[j]
coe_mat=coe_mat[-1:]+coe_mat[:-1]

H=H.T
s=36-b*b

w=b*H
P=H.T*H
a=P.T[0]
coe=[]
for i in range(1,int(n//2)+1):
coe.append(int(a[i])-int(a[0]))

for i in range(n):
coe.append(-int(w[i]))

ans=int(s-a[0]*data(1)^2)//2
A.append(coe)
v.append(ans)

A=Matrix(Zmod(64),A)
v=vector(Zmod(64),v)
num=list(A.solve_right(v))[131:]

pt=0
for i in range(len(num)):
if num[i]==0:
pt+=3^i
if num[i]==1:
pt+=2*3^i

print(bytes.fromhex(hex(pt)[2:]))

Chimera

u1s1这道题真不错,虽然最后没做出来,看了下官方给的wp,ecm分解和曲线的同构我都不大熟,最近打算花点时间学点椭圆曲线的东西,代数几何的东西可能对我而言确实会有点吃力了

这题打算详细写一下,所以到时候具体过程直接扔github上去,就不在这写了

  • Post title:HITCON 2022 Crypto
  • Post author:hash_hash
  • Create time:2022-11-27 20:17:06
  • Post link:https://hash-hash.github.io/2022/11/27/HITCON2022-Crypto/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.