Bigger and better - crew CTF 2024
Challenge:
from Crypto.Util.number import getPrime, long_to_bytes, bytes_to_long
from secrets import randbelow, choice
from hashlib import sha256
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad
from string import ascii_letters, digits
from flag import flag
key = "".join([choice(ascii_letters + digits) for i in range(150)]).encode()
blocklen = len(key)//5
polsize = 25
maxexp = 3
V, W, X, Y, Z = [bytes_to_long(b) for b in [key[blocklen*i:blocklen*i+blocklen] for i in range(5)]]
n = getPrime(4096)*getPrime(4096)*getPrime(4096)*getPrime(4096)
n = n^2
K = Zmod(n)
PP.<v, w, x, y, z> = PolynomialRing(K)
coeffs = [K.random_element() for i in range(polsize)]
pol = 0
for l in range(polsize):
while True:
i, j, k, s, t = [randbelow(maxexp) for _ in range(5)]
if i == j == k == s == t == 0: continue
pol = pol + coeffs[l] * v^i * w^j * x^k * y^s * z^t
if len(pol.coefficients()) == l + 1:
break
c = pol(V, W, X, Y, Z)
pol = pol - c
assert pol(V, W, X, Y, Z) == 0
key = sha256(key).digest()
cipher = AES.new(key, AES.MODE_ECB)
c = cipher.encrypt(pad(flag, 16)).hex()
with open("output.txt", "w") as f:
f.write(f"{blocklen = }\n")
f.write(f"{n = }\n")
f.write(f"{pol = }\n")
f.write(f"{c = }\n")
blocklen = 30
n = 179845646307187589138615013467798801272434518975625994038890662114250916274594565705126939184823596295878609969065661364238080894138854331623723132744032195948590412249584941743841299287852157241729986231637845438219966724521174320683344606486715794305109841097539723031465634067450331338505060282267071057786599490751621408440965073869336404505479786019481577046127303784110253161160215280958485766157579852530749393664709137794482585114834103980062232785014921281164852533786442101717895150916819019913954946772081632349598291879156188786382972853600415318661244810387346258440771698154760439412537838175574147110502987529875830897791579438331292861403789710567909915594806169751735433959574017627418050573649042716719733471016433984771877361768423747384043924497445861067348089224003540285622768471988844764021868613695054852433009995494043521484783993122957187765279120316402717533540358069360041581101774140029785312918343177232301233324653313181706213583457016070394608055028389146915011591707645015021794594503447959505972458603298292132461620273245282460160973632967211511525099006669644888465278090022882748332957286097966064084910446337700396549921207681077157100579815493519292319094450642670705733636005900671529723626540278439113276726108040222616313466891737996664860400047954327238515595346906171926669616311917955057859027205513388541089193362690685646665038138995972132687741250812704929557603130738484830079961560946133913867203044922597288791714077649704153078228322284338233785139057923940322845445737084885092369917846613910360607379922303981286392241490299899100826927897839434597892256940791114992093318866663741458215168938344798900406337339447274082231849561537069349270796692247569541952519970668199496354742930081864834247966652708174791842161716149709974230311972525736538836941118319055795370066454783421334950337994120409207383702602224456606725078414290910915630252341101672080675119376867276108815289329347909056946075613687521740411531759540675150428144098887339916940316240069478967310276617015916675117471540681341529033508198489571134456666350351734356489156165519361515580406579448528062599269127119075966624288206660114701942151603432027776235106101359700485862692748245037003726991384970737443046205569139604667594750730341190008155931368153509487976830876186306297706174052050984208855453569582047523003285248208561760813068375711619997909746023420470429997945913395213539378290637602221880581889526998434034389036090731991163399233298381913804543903483118859170497983065085028481256602162641819092100199647923849613373801665480894016158682022475261332644765556321264853095782106693587357236633829212054031020350526399710127869832360063284955514616926123545282792337838877260126179922607995982385230499120298470726650015502718903827984368532192599158966118130139758016455922225328236601347946761207868244180005816898709625516867066206880977615154154168542988891615400830327434985247514342027128355039954960644866099111018901869385811251392289276711710571068934949770725579360965909098381699974639389437686860869672787084571140974076010324085054024691101698191695233452147539435923775728647593621694655203228730607397258936064023390915914619784778447411417778086961706594833936403622555226872710359590359447938469615056385404537869887277801986042577306985456197190006733226310527823756449602552984674200506690832173904793757923028942344850573954585535557221012390467422658988649911537033205890720869608964690642035791833896207917228669084737150257363832222758616286638475861884730528140981808721614977656850601839394099619732417110325389221594915441698833250283303122955994894562645287810838038578693292458009444860806270434884020711019287203992142627899285846115992367980922231872367107829019494650829815498206715807914833944272800087831456812508349744136475460650542169591258230680502009959046695406496809949689038214528366347528739220393403240538572012671987134604454948474795190979630400624028162726753991055382025194530201600885990299469438232295753638398006150894667111707375706356176331761666033628116477726132719549877835321792888911191455623597826058413307493772844279111792830993456678295944571488496192183351470548820604313848932716545522985090860609334573144233094666639345750319550871616739076012265878950864371959814022370844004691047499744248052079381709779423524822584965985719764494501545389807805483594903805291193930779235778828400932440727047479315296389557156531906110346078049658363677629011597264169271443869257145310388492887362014532430216462978902294616320689646903003634857037577271879969391034238359805376214940956820821458217570583565435859295374555080625094585546802085781090949577143856843950531039889947042297587593647630048586327527574690353317504682365401967976371097912497852135723907394385775344744886848982511988812717680501380700675549429300675963368840353014667807480471912479081676337450503702718384481188682194853087445892091719028970282340272174356013481224441007277097829254494586625732361012521696289496287133214031592184187236820001507490212718484852906780669074686981817699513910175270552150218441627235044713986136439031728920736365822846897852890860610726066513910558797464478582061145843728252170404404762277627593118038244309503469915383932911253351894223706793717371559004763063542626509956131700601831235217964049854425975091294432141770427719943926188761694585962674711897162291998037554028136838374662108650291225753001199483726096469944459338732816398441238517765035867121635918261337739109313228003420491187619333511212894056230926762959678067920192999173277335652147164584251983857146099987609412810136049365645806776809784157368284957971468157418983802647491616113896062480597916022251552469056759417525868243900561400803230044618081416221848735948949136757222682430384744464423006028316358321034516987739403752200799170901270800197175030779708874625318393529740094025913613338870567376629716121477814444671334465245187059418325297385154451540283432749027277417811525741790267002760090930510395499804550331037920311529865874769719020211703546757344404222514097130945297643050549957131486718970108134247908310164950641017113212701506479718743403963565663992268354612529922044635324717930842302426416510308663011238625256730415941931723742601432827899739800546715695809606115367435564125448886154980188105987712814906802749377396009823098198336855022618065708169453911904201997035623243894425270697724162575196561768140807386273867360858662423400309009728007117740226767517995511165660523209660458512483340858181925973463135509237201463122215357366443881685203870089541938613379370968068832027934751209974570360842796260838142082657893901563088004960776419402723846283561107073972072629256411389087442186209417840320638466381454902738636417819837054152151607690007310486196055386122892921840379272802584421638060308814137237615198882409031595886307260430196514868221188411952175153538329356237561106863182286150655207158536058720261895777697531329512279341998397298243122189327154355935134606464010104780555048523234862322714110974790428894275929562778028955924303532100415437575124975801187585723144076103273815868345980760179573675064838952742226206157885062826422652657566484706033140485536408968664857690615540271596148414303915977406626046011925651841252773853678655441870727013514494183727504686087661895065319808572140028397481308489869957468493675614450436613656662562219213963702545999995990250990684852946522878721786714797500219850579548492352568042211733761256604615386091952191723096139029476022794734554396780820986158889517267764800697469413952043510490301487325862704755514203377266069542135045728323344752831012153428127147262828032414008973354549169560205612551047163766910640333592351087446042615859381554445823102234610329699247555965454925173499572881495543128573629118656945508331997433102652680200410356850856435541777821017001213179748162564835609155926298930588442668297620046098362536462110417456596549489591276713972470866612643671683193758960914534403257598601286923100831080541035241895143954474447056184325888064030793551266469644054084321031819521730240644853902131954622917510975149658331131792670479317021459347652671659548429952792008018038320891094251858687318657521465209319421089360315616255178512790988924616556814328683596822443750424160941839346580512721361778515683889785364033541971717824082006042556693522657151745198860147559685258554411211777990857671844412089235525489336414769138954684321180233177986781512145022448696646780751863313607368098552656262888271410722185033053844266383397531111643250692143843837637353622803602482900999877760458631274691801514422837444542082127300974879529422167473207524599051001010602695948042503131664183685198514292751829898913143059531673580321377949476610485853565109060489034414207277280811318940623174516165618657962619324417711047207355018990857270386629533499146417074981385090599198952028863982976863955418398203683335128281707467243435001217360152062390553362749447762727842700467661603875646631929345497748913804334006613480877094878817891082406980399145749340904749711346114156303690572175035311091769513862790126939525839377352080512511398512113174500528580637722886611635346817581127709370846922855634694591184055340120162382003862482906008030267192615581231671399066796527888121185398628252268185871212242487197502815589862128213491492833597738904089580717265856098865762232974372797173001761279850772493307461954833616400909851232207303150227068044299202230901466501360126512074373978970357471184240334583592325593346627382316423292955270724613041138202730054726150586110061021173300006631263144966434650833519147206325313284241613045281687039145191440980839929002923303338884049530501722138203638426574924874031981907451403248941688673954905605431173278319808081953663299037695549435834495874010015602124271105054065424337363149285946149138469526605714360797783113327995881
pol = 51572185353819892807501343059226939128326869666515894719275359679529183032699615078255259144972423028039741617999916684040864666788923384074801239193194577446059913319654204823221766131188293339845677860588302907804122460189780738045590898676561546478663387718585498504805088553677006150642366597705745902641013112407446084994175300792667784427089397231349901612874072684326636114106464237139480258098539920992184853487376153721429121229887851009230542884334320335960252960510402617434203255297803656458432012099603489824275477779433537557947554910102732704613786065017911539487510145713459111628143982926201871503180066421027211196426128530518955650038528056097437072505604569421556956301587878854928950828190640604802285629261868394721583762055654830881985139922805853146826826628846256946747869206857644892099489531652069577056316187563453175340965848513074214234332638059785512343154169897995994356515410552170948245131261112227136262633176039803640070921709814598991169954073704970434270711225187115578957818724339803772470015707117784966160883267594670786038680121176380366810827288060399506506279131464537103138963002446663996552786585233780797701505285271103293798367301783484697479895999957805262746748693694941138890673555106389325074705031550749047181299047010254836686637905158213218014075192631830971916247304998548662248572532312659283351869136045690097379621467649881222659636676865568132779358996683648188527162003512525346638479239133465479387722992546287886679971766049730275254991521608512492865849184765514829666825191468046387614640514485601627365127851550710510533916072473584402940256078610463700226982312972819303565198770478021656563603272931549942118635485823928197770389898585845097010699573762513404606098161705974411483519777611713964280000703905846124569686594432401419550643211527450711891687961807760959662597087566572902605163610093805061627782830876808228181616282540267269585697269860299068680335598009029940034342450811006631840699038937448846946425350122265549518628864226429514614111203502173070082028213164890493352144187893313122136901690578996029360570368899159835964263768347990819681813708823835874432718796614479033820547875772586472747533552275253253938187185409879227230353325091440194825543555279894451351264651094563699522729893307021325129104056120520096635876363967171659381342328658011606392633935605322513819637296240359457338359989088319858907596908456127600373732517631540563044206707289435642250047510750836853154246185733579322316278748210477692233497074218859763893053450626329918704287224011707616666843501026335937599040702783028327606708330351789667325943016043730317134565726946534956304324181881950852494329722936724113950737682350113023828609879287454952789397718982657039798211206205785250005454214674681304060743981606692785308229216264523754478157083649894181508765383611944665260708862179523951991915551298745133730499982082236179585460524411354512112803791937965439576503770425257397304609006316520370552828985658486997419900342688840411374036283024226849071282442114878203768268504430558522166712104241401760682549300434436449030334202401474619506015029989062829230265987694959321657775991827361867236790684801464022685675892453287705997428268254914200439481544058906966849262139409251883830787952856312499788172518317909264894779987922431357232783773926176585068151040816936000313800837058329982097452402376198657176596936865773507485190796150154368062516619017422795336532074750633601270925009066467356442123033347599656675979081457552733314661507047274126626580349241469950382970888318244300020274353240819845259597004398108216745417570289430370201300667293036298343388824979915996316587328996578202642776864430351552503400785136626207064843288184451722989622493103332174510481581180255356008322245969218439642659444579210256625498630362721466813555770375380010695544198145021171921635692892201667253173478014882414576408559072028612909520449149668412641202320134032154913342783230569362618629667015099700358560635198857370757821375355611183398915116646766749814473936291739485653578015687739225731388681090942233716268186246128093586763552591939322748378719892522434622992737483615726378078550839267861806550493370463877689073277836938153357468411096727738150851313802219183371601372318285807090340744187724116685515984757149326460510712371759597922580785116520805980316542861783186463418044953207254847527292237553051037004439527968990510078074768668468696438301083984502571901589854355884991284543340932184226783063276416875364219611163254857766601334863923658449417866044409422135547078140946963009956105196731022826922630638346737752655768326526872461770579102580475376770516112885811578556281757503416823357855827488753247099655314709344818035756907101224961466654799407004977169305274408919506863497993124844706140706896400456934569698330836086580520919559930563632641469935478774567324585063839517699951979441013952776221213199478341814415897921554994800564846570229963891427823686244415179402430055284616970311059774794798227274323207976227552333114778053990572352736744326912806032797856647265191123343029816004844800796255718741227874335091014349369190974300554598225969945589526810927371026206611178331355821127381964196633153158094148438991402959519537287413863100609468423873601985886155115897222598183280607597163380837595053817791199876806479157408785759731274816394684854812529644365990851061024022262234440483719634761409065082404624207041124134481105415515569548209552865300297312606198091546490986299983172976103816345027504738331535477578020805388904856962701323093713438184454594800015043474717364743724421713624676151244060101509537833550743756631622208644411237101145079500460805065932675543467236271913978608767897277953667392389370726688453957351166460848582744152715602700940965106953671810530443553977698534799583900520706228340921712084369754348385049292195748524817893015347188756535296350768689339243122565546962072384937222257101966747498341340215880243638191218355297072205425581724592451402466474065964330893757244180194645093477731328845804938332254716659805878337801540278852645227774027574381631817281755984970168988044332206153022005126483848860631041022176480822612980820246336128170281356735331161043507065893102777871105943218290659784685070770992254907067373482810910411515418686543318915660158767994530741696679355416978014259480273369406713025524980578293292282974844206941272408049991208855530656523714058378616568143025586495162256670029763890627735579136696502155463334552210810837813632979349638512963841402357472306389672094928715443667773598733837028732406490544681303985209588343025685642964446727340164310371542403815266687230031935116303996203402245362488365310690665770148153226852407178625012858322745489689051219255590965426354783999189744342823707135494938729017402648820053897341213298956597110539966056945436314944362745175232551281371436959750250595943220272665727362439610748615661156995386533363929355940597836923962003502252836587702628373616383719612996351141821337201953556615948075040961145539115734305656695255513618366579307821429692660154862431437997352956306723349943696359656719041451569753578131004884595698021753219364020829836571102606388218396362053887578455574283154161474219075190355536599902824086578352731524705983009459262856616780192394274751193768023435870373938745749547725591517148943674623264970442919997715285905430001620316805193890336092692501777126103597830218643730664399349410729443027749186612675875005205767835275375628095489693359613899655148698074756546166715380027472269731348133654156598542382593370589953685849753020400198110916356099589795804429186685557920386981583232020934403741646883396570288837177268285764240412859080487911856905764386691992783219330045798704640680400040981028455463727634846665855012665500035039756827503968676669485833842116889736064212159973695061746373720186772827156543926512692906914888479677722608495724327045013832967805769195466818173187382477185998322732891118208754901355239448941605076687862971946636442876319315664477894275323341773084543169190076625189075260884245551296837225707633807026176470588641191583008932931650483188612187475239629546753643225019479020313532003038416837133665544349301155282893859055578947484204129010839138267294646914354655800827789472025371626331590206735721598517137042686618401600470812491355562371173845427149862049369782558020793057286435553301175864196554538307710219958203614158752655636007033083736638316683902435693085326146550284534534970307956123948463107620722876786513523915693942738691271138706306618959753557772484217020823687278761403067127578948307441262188228123707909025625260115778272987904225616685218003796409567813157885783444164297361636341836983348400172804438383324791390538324237589292633663426323082722428843086228846898575472748762672942873480283297144161796673365807206560758307818143833160631725581541699454969283698369410178490336951087980888278954232435668097140259948078128541117607071180383919145511296152475436165020651044467241914918881737286971245371051594636917847107378739688566298419939372321536876191022622742340236938341794365790691266405304429358514693631348079141137001286696909086413986504111004418005579076072368881354203088641477466053102885698153178204735363066932705170685908690244905008577866504860114734314996216635066006796979967682049444021258158983584643761730721426559882643184877883327168769658440218170130067801161423518657612090777586864201206494235270174745126733178559472621436740526205622724134493877501541100556603036617903275894436514105134381025216833019657094790105967196937795096695526948229349506400809143914541134123381538879236927092587975626010214914813858419458346440328908730005366882047522914586222733637435615428204469670888190159677040236091625088853445524063309017827999375906716012590654447286035476845506619489075064096770783312009591851868570833268*v^2*w^2*x*y^2*z^2 + 64814528631923141959770937600106664090674856841356689730220791077743849888629705702150430487635639379769312087345061292882031353496424469842786305090799679049567643642491938493837920244747690606082795784701389708979961494008357674180284320429292457354345690657988332916820348529131281516213084061876328017120290182075731545298771606293081161447715551210019945738360483879862510413630546509151581441469410730318626583708480411280359862046865083733152318779026515399366629583378485694270964337838859397221464970563587389067875758659377576620975944632580631393211692955949402787554648975821826119037276963916167241116402299689164224186641477713486302344313321988691704043840929244199708493146662928140889964867944492405966695884747525160570317907821737669034971822549201011911171169822208842227457516870980628327600106326074016990981646531156383946460248549548059609951812583200705074436598929071000367414005632309677519624596709254172336980592811669427738080442924946488670182102688193317859333765851504822527370213188483469286142226281908831891484818591415659893659484532200363947745839901185722064710529369482600575198776409510148261354457349477307430719667232131419803101513444700394804267567221652211442954121802011523541996831558223569071004852643631146901968795536134967522473801648928986029363040827403035593056881364964913447262431885831529345288660237805851154282086324138411993179248886303300756958323035600109059696068898074990257966300554982087213358224706250556202053540956653834421891584484482078957688286575620841317674939907185164975747752575824419641237661071515735264392434752273206852143984100240216237246485025467177362999460968270232576774827352327070089352152193727839492834442285795432181348614695800953130968980464917372738608822434017366402551647423108328481219117539096051006025066965879001715148427766834287958700270311835031941488216875378257857111968106237629737633040799684548291137473686091560244599222633417419268357767142954530263226649587719999192315644842952878109978013520537460104934163366112046077006973484528333047779262817411067211908655771130855058016203232802064602441791127306159787146385544002175193335279856806521972916409662981147398768339769488806689233015005534408326439789781724521019797832905527873923799380096097290127980801487173181495302988654668955743539217447213057305654972397573750757719866299237347423486187029872715140005973703038307870985577426554280397684932685200192550539062412947277784884589095243785889659844187994395423822622493833051479989520311537071054532236378319247845132337313197993958836602677026270685648447048003757097305746172897528578401495406906091955181876655396512128250340243941098006401665275500269116233408149671120027075408861706679003517484850171308922903017707392978001748668286329635860817541189132284814852250792308175760480626131541908620764318088542001867155706102980626652408066184989561510398850154266327303145159718438038797704512840845297977722243465195227847753104963537325810457583674655706790672719043411150906447289921771016018536896842166451099408440412591801069682185483110944931206259066508609778597586742925232395070581120451517762375189483096064099548058361118453422597314308370287139857130914293026676705972365401887517419796888956743738736911242599040727284323399257985853946647192676094479989125456248988257181072360050723274298269520773274689153108724420952933477225287672473251330378576464594967276996753730063345276806592119237898599201885644952517127076321199694951843434254710487158792444501978279460759932466464717488568885537002837154076223621108910858737634761124696855940692929765851571892946055340212100411625236104348027868229642761366451632123042120303786207663836001424158615052895165107613897834383435872456035664973655413653630488520477511555576617921662688409974020447964386362270433806573934168101060788461295430069902825677496194683829168018123635894426953901540813714620028953114837339893928755399729022729418421040729223918537537673665457595666569352551383259661454090823482884439819678309655733225275019255620721127422228217609417606651549949607921386949137038234403770994893883259895766874969304787226368217926894510817277709506631770900184469168547804849868200242736459940987574418329829155670261312185276241481963647531412207676341179626005183590267072362336125171338401170388034457644964722488488786507091750353127853817186560544609548114033766177474401761810547484225116664780137974877467250729919657045712677704807149377452807842598880204733782367139185972267331311398417522514068719168594340853240509178203951696992732772828540598783760804947742410294949803194732265287997485301591559542081791980644513962714879175352220302170093809643292636929536346142792896986267135669214267425868308409486905461423071999688600679011127848197501832882034681973948536827387676767833646473944436796113075961463103678009093700125416744051545118203364534813249664860838249213468017484560107513460984088379102369845803352505073277023461469874888523865642093367944854092357342166667540717732989248908528512944072508034981700061924048114577980149274315894932459135508962857406077089881058213818239919014711908034455464703728920841942391981625399723445326010582083459899278211784959031144061507334178002068660970681673842481666897502917347047149776742610562160016614879366096795359687596243468713643327299695792661986221490105711754775707713234950383408648150816521403679301691270720953601510695002290961705982581974896634500267550211924143295609110748682650932384816488637173729530380897567385656426265326739736145124629447251200028388863944227847302689980984041671326149819162872091361410229703758365370634969468720227926913410872265296180477963450139479764814240677180729378072062429492234432257987411955543768351789931678786312340573449029933999354663580455539406930167296394963560888579309157938040724691233272057686983714313675002093823013626185499775199029509818358034952964205515458042590823039921572216605906734401728459974773909251039589676971568455232766597050997798131056389839603629916785603229626587581470106811605451152257136671130900173978201599835668176685170639806437297810046987650415489247221647634234579905967352679912159624346541711523279723355707629123661366468505074893751305066955721322065860694418373188331937264991077626606849422568739398818020610963330998725035243265741215275698058759366216385240277759911354060747545321609690169668955713063526668982243711778235989860884665324593040797280224891540433189412103539337792010621694552451877610745662230228193115637271730976343983019566008575348389905444289141590626992260152407789915481959600656202355308128158476068245961610085979678665937452613832138699701819774514648033741895130266572303821788683379640879059509836263939473077136438201698986170059445459671515365832553204007825145789319088750627066058803179143410947038416379268905481826481615079695894310623792593289936575149302718646090882456361443263412647471845302610791223452482485284575899876383812019345580192163052671630881443474776157543940714107656220042823364568373653471564010916511894879527592927775091235817382767619313502102275304116941383975835136635713103590733118703460108101162840599655645766971604068090021545076133851663534325059936558244149192749105989675975471410498942829889119994449685541116243609942459851674638907646153963686174028382630421289375415482108218514690085985890433527385121331530089776363806669923369443728723709969476140726357779244261729773722130395872030675724586440960780894492655175318019163177954526408843797802976306771437715641319754832705019744014362615835050818466173264537154457949191870752780247075630429889427984969508387477871850382604190607307293655627487749144577075147964967981896951397168165527182569264704156752483528320592030624824315960456424531872971832625902988639992992801548176926544820233297333731509618311511191964918028591491038625229442098636764621240771171593880192584702563983348065371448858294189611063517848744744544866804882362604245718306497938665730242750430445347945732727576559025486038194049549652472239516242753925967719850772479355878416608395583337956528530055254453729395558813359261986465189510280266150935490238924598041074178765662193870371792404461296660547962365613629067435317428635868125739950503443348055096974327876392836141283808698866210284110799804918485817401567489936212590448665733178685068957679709170675936406563457625677460738288891858049663439080076493021874484704093774284476163857468084627787362858981430377249982085384255077315768113526423453238840270027779019641284105313039573992986597201617598867552863237271232297398811405875722368307511980428841254299886453958322676360162270937771996199609452528432006335668174603971814279072055464689005787354552511157190122609407178285857955690352988484030520294439335064494520775311358405189207204174034417351704668948603194822382724425656860885776756923101099119231885206766068715106450394162103320768788705646520781269877465825050595735637117436504915756875611806461693028971960316759720057479178159459022919534883645031762060751644539254180494069752962201464380437281781315810955307243930167976451234804490202129326158230132940471015747246564808597962178791368818518259919561310074124037285756025637211797783126633033334278752085183932643798569128908169175241177611051918130129190473224194538300653694780820866740242778573977211507196747301303755397594245865951596586379213086888236738394661900840985286141767329852316559432142451612070405965006889036077337955661858831981147269422551028298215723336047116424285444346193749296994941213391004994066355539003606473283818970873610261337322566183204826605408089919803733783663385556115235980968764028390964335320516271239897782309598441656875638408039707638402556607009196759896389919964187906338442678616070222758526021653336516563772601947960708982454969127794959660264774690337222278285105091167149760202033911289681114581301*v^2*w*x^2*y^2*z + 147979846125899197035774237311350124682004631187981319345536289250323900014765418908757162072949819849233199032392527335264098699699257322939096400704618226981633912520614938210823082404087896107006399564923400959691534434389143795565446625278592813031176209606760149606822199966781810490853246191195627378931106602577680679240458184500110232456469524856942458547553328342550270106548618981077959253545556438312250060236997181939574064297254179280587540394531516740933406263667074011956629053785289473406061843882271397239189577581254461635055040637074582733161348599250877853878115648882472988752696363994977073998583593232484437511392852758064936924623543378292219911629019306123002011071617303476263151205001482311980168041376931702169678581425861003562053054774543765028042419200278018520943080465880861967799909044320379384306288016501036371255531342129019375696830308624312660186894519414602798084306807018882656837049491289332890526358557745874928488722912495452845784313133777105780134144158351333520399763461640893138033213725818583648751674259458105061288805338739176769235543861621462203766705746245118115097669212189814605877609916438512605238716646035357705237245974444658883566952905397991729429287057104666988478260092713115004924915903206218841859313912534649726237809441915696736430435605919160911430424408781991943503870452914771830367947899072246659119719223483134420107785279236164970848339021564394350872145045925754574504999419806782208772036909077040203309302902540190427465279513059489477123639909817076156191998399307487769560644340003023419535192264037490693176767667458110345274049661967575903109527491682931053783650843268189838729295739218685231649000480796258207256234215087037937762216402192526088280835966751236517670708177835765443177443041618538477699291319473067826240703929274362223011812335834031438233831739563222182923787759305028664170782111120080203569160452486036918632685406601680209405455190401470702001215725112133237685719041995914117098654941944295204110080082765041376570975654935601783947092042477029951338718870879027052242070504376179309562735741770580505498162717941427894530744395399373979318070978125295675221998276788920013886115149446922514946323615447183224406479472342129712997482787110110783841627018687540599893647300939883108362839205142148150595442173235371382768668811796026685278367260862575895475737106266741560434591247031061575913261651375771474535672842325959773668851806124919600478327239778571171827527021112657663012356676032025130966457861085706633327298718997147238945751709037043989154020187357464632290008837690532989110550279154393785415633603013743673607315846307774639222023185331540573220014895240478012552993040044747454903059944294046261991945462909445203942005206505093046780358646825663589422283789244350749841515600692201061711629611544518715645740865986669296479072795195501948106010274846399642125535558224960008909074651741071606949173057384990974102398704863958031889794473808009790252034469064066845323136010825736198093454388474573126891100322600896508338164646662620489863753735931619084944064013176588982089971349758445808667270877502165610500376370780044101098484787884910989857032654703313188486757731742626662125416916783764545476533232776497646752437723201539563523795409701112306922799590833367836926229647952092055526325379494413417977673632134299282495805909903908969885675042013137643843009499881728461946575521374690836525098982907899896254374302189922027068658453876210441142891537563228844785343990278665808068154035761200798470349929084908547101257972925540999879895364137621441207987025329655570827871228377337064722759879093001293238313343823306430885581636956613884549143382494698412644413639301680120659876918611307480697642459997755287027988637999390826228775969163557861770450324666117272120783268704442051515222991497835372572784347933193532608414821681099499917640887673988907314543773308328864785015529826782905290810838773277586061122637529346135314538464576423024242954489982641878922762674762365162960407148649717562156840165694733514524464468282605547479152594823219588552021556587117035843060191539988824046134570625254720645090636094408378935960557662729636316373191618443081254791150264662753524576733831323449682259068954484343889029877773437465440238510529723342958921312231634269141158664872157035020882803608276710880957316862483470701422997311097981462092888154406726744813439232410085726132884468796683620613073400668406659898856381078567796456261962671597129864971298576796390376175476198798943332357638610411709417606192835814979769893167095898199247494552164380464068284190985677133096021012179542966868237353167419542468480799938177541117752291192718939258911756356448988890228701830661734913134728841469488895606001328640276279827119489992072606516562590232441172306513557373127642276606626420991662192861526630984881502132703574515285917564049564610267724507039537619666168267221919432364682839745793911177183008449343691842064442681960939351726281781934512194857329047035915659145483447342519068388551014909366272392038036027795162667521536779666584101450877752953633005259129506588283794813664698122204508364151964486954199203002317413861307709045919309894482507171596662230394759715049175355037696632021702012853518056189801526962524320148070162056047701085874935919913261117440755674623722442647378599267717243935999207650845856256131910041618425852344659564984427783602651776039642342452245591802282949884976957431483481202683130750125986750746980411798943028746347581878163265616174209404043473847983169954870079883088326894399890948488755337550524893741557536396172883217752518281150653451337955947815511599411421584845297635772973572917341700762919628774533632084986873314522813952748696722488837194761771457552042572764004432195040100604944818706327902337397858668264364855104321200290828500054344719388602196192585404137200471599924769285373333260961938145679208584589408804905523050880412062257657176191645204748684596514868317865509091693851227397865580917821551142175548089218073689115298145813518471463925096375730090144302750488647747441010736230934928982300513799646507621376059650617875535884865031345124694115799666255972418697965276675658799257117774142938892288497609883222592118161212707393004504421790313720829142225386711050996629569331964854796265449019999267265568644489569222074601233920019590604016138268534727845855638435136227539629929059598737529793445929313989647745075002978925058940408384939376510233028000671603153021661605536761206554189512295822418478955363791490333542143634652600354482580805060322613188154137673983944672424847898341101556383870023409781153895107036620736365508367674250029896425436418520004371105594881705431130517768806644060348093104904258447565751125847674569338712969387149813019045367248934167199969849202959144330353522633750417460992187167513083952726532418425922397016144981436361591350802305197911676447274819486108494669557598142682345275756093144367703331252593177646261658873895174239680163944314325873931191346733338286563544342015849055432658311513924231567409348745655320002140702780232595599203617631292960340766922157432553607223645972947582398605280448336859550411056601562569644223983475291839347657131045572874280032595377727469852026360389344990637665138905575728384123499698519105089943998678776633778247244698268730309781532640928663509881925001327294700157485485329976420022315415140982541200236950123178309334049107884076709394490877866456054703057127953830299174701103971711576295719102695947966164435177539147456343892682376769325506358914238400852465214589401519064537768166251360372413792415433089828574379358611636792659171296242143852415463134473268123544992724390006019032227922295691576595904245525364683202371325673609480386528497291861281650369209397757439912093914425870137245276799562994906013564659745232300316104832448135174937230013650722714384460128529892373805431568344436931982309951674530731773737408465091094917497523822402875576097408582664664648246017896500343271307757081810723760494854438819585930051119108334282237000531668994392168949910623333425667615449460882343311112595589954077799564754629449393561576129373531131992466728186024860922688851879718727209326358381223194299970054011119007611090227357570774637164371316844671045457108912536300450258953343851044871813850150645746075437412500331356007628129007630103514225310116817286879396036430355580481812060284904840959612427418444696681733639857041413203558010026722668326703903098906025180042699004397105346516087599353381853937325131864356554375847618029247002590292626339410317002847521506312678325719159519460064047691545185604275501012231192549447899578973432337542697553264805550940980784001919717351310693862805509840104198706389555826109190218201934259247924793915924767525622347999369689246561645711697398533366089262564301802061504912326649006056004276306997505521974302756279562047071449688567813363279864755183145003493473463511612178702684585269820029319496422872125612235526518990494587845685972267336082877417098866471108498344581821586661264642077305413690045027429918320344088388848195199471171947053113794296127146345117910314578734068439755125767545353217395493806014835358088298123690034046555213144494076098424882093587487237575317816753793896513594320949453018705848330852991440229096206751287993808908022899068380898516141580121576381222329481200264287299218144890825470573027273392165286633963022803717674213388946767167538991959305106708609999844995652465002141794107123905824646575314364886361037218578804658767535642818103392491443379417577271915584997256305554842268129846918618783311609379797359519193879583823633762271922316737837095773886925667208569863597686449046397814103891151398074304950113103877771751763985735225433988750996508686652463406087728279619436440335439422696768653329187004051052315248127302087888762988359610267180118059*v*w^2*x*y^2*z^2 + 151489950550323720949866337254485421546704327118493329236929570469634154035014281539001419931594972440391696502623418078190760459080044308011146202630524476083070434699147736924902466143804492996894113178834663418488821202780817971421023928438140475040240592975439214791510374142151381967407260314576279280727183061058347468470017285864269101811875856530826662224290119833289053978076005762656208928996855826350991412927376007723688568280861321603803199746377635917029650448108851922976314372615381525334172052850730641907748897397287848080880673877515506695309674740264561823456619523012111557337441501359136835917919237649693330805363098361702065502964703608034489864957892680293073889690330413909811609139554272681005403254120007952806004058400261181485483194175873909403783621213465822860951447779063187020621764618845861610814963665328986038824502718722335214011570314177942699266103845954542988425047308846226891855117584837541673904317185021617142856296036005011423093262564081760984521320046815571282768841127763906567543924729913470148725523128831896997075726124728152884809675086052158400144537961509168796409709712922781328106658210863948936162360673684490092896605241221339911474376958255142237683840034209789124031572056823732971074303534833333347883679652041456687642174899009786922899914308999355645602392940733905834798889836358848579695428631407724652720958683482701060861485866530432208929976376981327360609738372809944153291165315668176128417076276166133262502039623147612664298180612016164434528139969235476726451282188667410954220738577715456999557801479956548609546200112233531902497711101742120645674426261739674999837753391951083801708025862725652796663034831091946084354030712400010091277859441541412626231597725334482217736910755228883027545719707408541532692028567340715561024542844811465636968162608049825742769115408083474061529115526088039477251203717346693382573912050453586677859384013948839847805841069533440349358643322652959196503082562397170746808544060623927786190196262529065661798918971334480332117914140239095499363869573515657322069472297548130103822670443325903374270140708495562059669926144227315373658577368705884339117818044292807052660716011853143299784347168555331503129127845837875568841666565754266167841130767620827981461206775569093894784797530756462139357411716300797384933001934883699278658186829773267592377680949925554187449877502796980177880222502575188920538973135026823524035519156982998154763541634318522376995400179626316565073988309524436200200920493363103806305581375864805684196133818216299830187138471037100851689028027568007975441178735896757353047062337028223500971998490692979999454002239980918630309626396417258790099798390351460123957704206398792769625651980497743026874145106891250063697070201527356702809374776435750110434917197594073651537612707366875481904685630281889324020686543916931024081676399603756294045125649567600048082361004725557509011082737085491431332016649556938000634791568500198252934978075613782156006800116746139573612647440802109711572434502696449059871391930788648022587575215817889163135297456727019386960005875195894611504886692928564683675429509942896417600377878572924937005201445528857951305930531771919682161572966567769878193621994023393780151159425461458901124678106158028673683993448813648064759766582030876070271848765731106416415181869988189047754765007529881728051796972527148920508595522478008111940536777759954557748900952955478264521162726745129524511706539124089610467961725479369442028544937642697623448016384644215490449343134873472056366370447933334181897276003732454728020510399717843664246526816132384540177939931302219601063945206233390616698724705926921245526081593934629887394931122928866488254772742923202632455892746362948181485455878244189430898672424526368690552707387774765140203750423070215185961298185686217588002141303325686810766533949099150248344022712633476902444505946704546218904437162812747674807136777794610819771146420440588872280939784154226394646267738826797207934293785141422416686389683688919959721825536307490334420724529004266289407854490067807665655401318306032178876373296750553129415073186386262705479277775806990068220931844896711402418549317045951564086688927380661157375852879568037875137179979840448670737143338160948621517116961770716013123690247616437528572872113940303413163343660925995259217436364368347486790164367880565135633786863323235913791092354498997770806761369646299870919667723868888205534426601179902856258603860930287177655874026526484974808853130204747582824214543752937463244648243652107997961126662528562100488956349185422464282274987854809730643233472952798919088389211328414482746971882116975319770225240604859364950996247015307466014075394593873027599398606894614748156265262686098651939189996591247920901796441756142031322965229063370505580053259181435642021119304359355394046471852604904129723688990370115463102826965930763434484059929921475001646026478874316048473733232823487355257582662277607325259909835781335099073444194569510393938997436531682397402039893748749891261770226901633419760113632528657664794268049603283108423808360123312227130735042291582077065079473951083308117735374157970212107752418280075655803279310052747522608150156435546236658933913193807668759190202979795302317021277575781327094410259028178090161253100148009854245439872646697715088910932225190306620551330814975443513411869959225501356486164953101561200237767189171540965371632508404176941260937024354314405906093717924160459263078781783154877899847285182181676089960380296105226601016234165969209903418874851828631554803472922981232381050692102445518360741721113180152344896111969850144602391192705211100098318513816846198916846587362487706218846866958138930094176398479904569739240860471779466628807506435636221712835986394287902292315376764119023887413354179837453543166955156990166182766016549085668395837313074727150393946350833295392116544438172070213188014759565365525376555729723633754768991031573894377179295723208247392431532583008967115162753412855098111104923777388603298045826928659506216076895193177682231520205077957519384892964803252391324329467144412223968579383849805775531398135176941324937412781132832077385674890969868515156782084609232261620477926274054833048072293279236607806730381496850417260467441549739742318374113475638677626647493723071368946333002606758929557353053601020575427262797671652218007477976696046853032841949250607525728180783026752339753484065481026720592643864911631153984222668696718447190264966780621070454388658750113944089412304704756309426866568493172459799309144261419561951677086193994808172609125948889791516602310406602070664812350776434779449476517164908693197926798162607515721470624123659614275116025433277653140834162602712158983918442149854491603126743754956888037742261082675235323800136037282200128140317081865034569397446444079601181686031943292956718134529297669190664477152576160166016254532364908186943485684147379268769736024877056426238123959256983044406210620167716771497194258567744630480226775288691791885483999048157607915269614233942562482950819397912560432232226242694507103914036964494805588095089397598284338277420857072360001641462814151876008485846560312164813500455815823798979829554834030636930336009303608378130038445984871129683418852563037087653183642387039986750680063253098853939768619996135637129693059751819419184291372444264183036711774716892195193316939652171943707904772349492078442424696599383510704346247034480768579001596232949326214256748046935291417972757596840340403482239558797706148122154028496866408126846739059412398598962316627406059701919980192073087070334763640559750746809409930593327509186268064639869552389479504931181948746925403523240351233077389217355885605773609752317357371098508144776721275286708727718837858517294604586830097411111316029636504009830107353796119254567542720818022348504014952046998451644091657322365972732584811745281843589273448097494826300610615457301309544987755119864703322740518108226607648789358321000079491458493898520798083094998016388571604005382707487569368913062080871131078394611586819586363164173364982215237297740722560575095533489176252938211418118430552183535858966266347103809401372273008650597106974921215779748146583978692095084172356731905015553236790204817602700409617613879834967831302999687509540119367138352908971788482192007785168982480882942063070539973733469646985246612281819839284028916452375076583156357326670161911400061218451256150053728783560385075733254551777073981082614867865192566278076797082794915319151808311110994881563686803519905073084278063129384335384155232479504060388527350140895354233578072609136405505988035080704630321296385402405401268685151917822092682552036208019022793134463853100948227940272759277139324326314857362938304512793150609091550411331794528786981107511699794708347869008013714349482044728124711843110358383333186654230940706891268144375319861223123112611235530041172062215882447482668863565816639794089028920696621254150218303394712404381157526465841461315043552892955359559671604555616944390304159605361000106783139064616983752466737391559887207014691037661657388148794374911211350914397504795967415995583335012890511017077356620248008540826181523650247576136118932836162435135953671036984635865805226066620860752359980018168490199047360312510798726242862027512882113876337724876345481325997924916000758289940399655678666923142935097573433334419171100622787336004595508476898439414756621094610661560731680371356351625010377583940164581867480393845748386023968274103638768624122289792523627902406693094751544994312484982461621627320034149412512921172218030435410319861851074647392374745547439606029110898460497093916553360966442482607136712160897152295473117982643917521963699581953043617006610842105488969583663265917201962757740443685719824157194173590658533737467656578983492272138082754675896291255591113122660227362387*v*w^2*x^2*z^2 + 12597508235011317496294812493441015632281283725868627050664167262453328105548196994643403092934099712748874940416238039700436274935526686202502033713910339518261358799346822398367077802678527443173256778316730803607280641566475773012023010127068598941744226070265786061098379897526176648452078817555128246793315763800959213748376421123982687169464090472194987588708119223909113233024178998114176936252033360416028827157290575243727674340326135658875887731272745944254162555255632857759816622481035347454596329092415732551031897186965759761305445184401791338530224252131535311878069305219609346455978945683959258022140907627220134273786674167275293763981546424769448522742115840167488902380437711578389358407699155969749617234112890899974131302178754603956151956261763283931377838764536476677393620464205048220891078062195062032822670644484022176659684628434028471493970724503306962883748159157067204750284932687663596657026024088503291328652599429469257597300445462405534892336359264699819601203344397287910767099115890698599124517962787190870975042947152252678096068190444836519275925428761115768982482480299349753415969477260425748192364769444718719176002757026453170128466009978238302368955718862762825835526999864912331765597054889624430192663956857347222052270550284591566561016790674811682076889685916709535931063193665036031032832199345572544851925037409488812392149403041762824220033453171240243453395350371182208275896205553333424669827492606517709391588776037573934113716210707328378062503237765193890644118514175548108362500641328894734659508845748530015483248303084180048209157004751592633667117601667439654964935489465550541190036329153743305441891439598469535623454250467665663045146125261875789059780414814128557456119737899335088464752968763608913808150902148853740013045941671801783484488597053776137468361661141118554600533503517114233023184454754519292520032373093320683647622858352737069801392157051427729859156377101475824478860711086169800509538873083717455847386873446204753243634861304361085708863389776610174032113881066853830586556602424958590154481562088390444331877100453924377306381781980770638139311699958520518718511210270151948490182287518983399577600857540765368647149349832348431730571306583120566619303492300663189363624617049788557835525697268456668363300247474779537820324902610076714788874434135550006576044862642395882418505955419535135759968029105846083714908918890203923897294411613123325515867979169916433168853293596256021284949967748023464304816542492998366461847365074525318095358713669200662868487394627606098108207478492483171280576053035153027074444498160137864653445716654519237663989689463632616288636413433328951778112330247465790725383745003222903258239933758689387687678718671198341104905904991206430757782677169924218310038598791705996265173841514792410623466068093812174089564739399382554474722487315584218512072090253900438974107362922247307089524449628679942238977019140108711254862890202265868598869544798773860665430597687084534097594497281622735240249016083468268544619508382891415576350566964603910226062636997754471146589259367223632836096101676093824958107653110322011465826947893011433025603382472869687022314963279887486185846346002997285031021735360112034877383897214126550105668471432435430074941285040498297956893905004666314373982991683752104936906664132117108449372690055636056154478187771960253958264015828054592389222025014319126507934554361508840209063174679302416234517137204979304059173895102101618689124298271702906661378195379354642518282913379569235658637334958337432514973144503134300496269044594294555958861863498606308437373859445222558182454569023508185458883821267845616992851583358056914851339311118806529979888695541825180509934642286615202874272542094859257114470026270881167908860167515628343471090066440125043041464312762734761842652438845246557455350875888947233900056807360541581842359879567824951579089694478680246868298307490855876676399408147197609390506666451985649181722690958180895377362573966988021011584853959837144814937786141221408924035857988617455793447874422887574301997207200822256034714804488323848458162706452869941277024745242912588300198679014470056418487314959613439521450271777719475652847953265507242012191870929774676142806607345464553749486612139159109321859593450255767233035916996137285200337632226589717335773713798382165471449154839578842008661460487972296297913069570263160094334503448204766013632735136430375503248967806898946374492899018735832113347828930975899949794704825414687001457823717937752676770077405970322814050460083560522135495263098318459659175601603329238357809278211269010883031881139871715675956762611864114260896957488597643231669741093735950228652949741889343070830758611159039339999730839522269624424591750989653778099095463933326105261411677895841301156751618939396621541001402326216520449721881927386817942646288054099065759038736405687718454614024905881241356551148748585816559749518586008739164123992594612038296581425783928852891550557465488851980818446104425091664996221311533506212593281465169473449107166627402848419864804681866279537620939598758088267932893799728166568976088592360053288564095963138682520780415445515010256363622715268676663697236101057952028706134411297757479775053537762363587717200507023265736625270599884945099576139906320979179664569076183842116217683969966532087130986857059854556034976704390146196555260382173906561621029708572784052874533917729273805533608891295643658955584564540488288485654758030650461698121309186087884305215570910344665159844160175534475873602020190200603221910535283384753315714889160038831247407061162061069917523568970659511300116203500494289766178641656648570748324198380823089806759635486721170446455270977635089046321173785007521597046262108018088359457374957855142421591542728351015404849111180372495700140043156745080303303818126183660912050264293616793408669900247676948215502801343196045337818795583753894830103372414330866773981968011395837562328947812123742423288745372799160717334917239888680319431046704653750836768261113032650800102828508070829531349318328777469048129783270352656511912254686820988016666041725498036020626701139180732850978189442127171709886840326247503953030106633426019126855447576520825019049781758644686441400079702147982066166603433149566836880004043391620344333578198849813417073087570171370128024774626899709304682356387560311545839114918654585673394068399117595003087804230735723324355937116527244217530313632761816201215399482904850062761383448159532589501577562858048702353078908155060793396774818829585259157802259615906792336607941035253410086626494522592026265426868481512337171569731157072646825587649282710676231081355230008142890118038519322160823355511461247967829681270910315557393571650867947656605829380280187125004986970614080552780235067225712959925835042828009105764659546218337798349925615895994707944802107469448936429978512514861076019228476289467194016472522610529174675348905211131772127500164423573012615966246446441941791618071504463369558829289693627564847047213107772333303013011509814743596926135237282139138793043415231996014102046227331657500530910654875327503751651215473193054208042376724262032442352889478246794689307484858276706972291430711441753319475712463421085153499473024132143654692136974313077553421409899731818911606029491671499805133881801943204947780323854395792210569407180310219675919821340986648038243252204121441768346073175760636874923914011300942927713519255055018622227361143815083907969344353272515898518041564261310323901410835019736648390075392171702071221761107843524566610063581137695739863752535816391142466494479497792830385982461127084784924278882642007197765064032814170173824551421254571961484805301195596371260943942091425006890272983994120461465706335289379614768133202056520231236408574683636618929288752885362391562355509782474640906402737914655714140302160095232042291373250258932351697861786021556736075660612929256206637401370709190647929870797627452777944132786284344403932486163293297481108884967416905621211075842088438099881007976141929566015477765905492627899000242752572627994994429955423907677305402175596114794322417533707046654389547243882124823082611388532146186560184368266610809387492705221761279275037298140191795066832099889211536981877299769320967287092107806914663511454537292357541876853472630065671649668627453268199276157028275067788985072088067738952397935870791129421535580895411614897090425352157928762073899107813897768684400855173829985518810603430049981810150748883850966063193109547220980168005375579468670377500716293379508005917815634198104239398538208512862191872353155702551893633246819402642710096495178747215065080388519834139368655861317651634163968119792115183206509046461093132120958607202236098271099178525135374349716179267386716921439683898644449330259049873442977421054237357552574561938342457035437117459624140109902786441881171471688548864385930051563900959658155753711462271296001731786074605976567947155143053701653585693802692664709732960540126983452874054358078255824102800676066700406796770609478434747878519432976649040260244669317942276770039261403073482923641169458349673971928942281015951740213060596739808790931946640118392425086627961479857066408493928349762853554191128003715335677512247589463234303402121414041163847728181151899348714575264515761829280899518586801955004479322623682193751715259132259783120451530431395919503734941663992624715479008466296854447494057861491778576862473985037806680584435263738311137109057110709842882402742298019099477337181380423067444008892617027523726420479525208006269828144583667606644690222605082296248477967000916191274774635323447914024199387684067817620918328884956242405117041647917923546605722770052527922900137309862910657721805153843092115068993541819793111357502573398547586989107171058119118956288895519153423731688008751021006471758031572748150608264650774111660*v^2*x^2*y*z^2 + 43068911918289805366834713284132394759136995394382219980991173251593372489353380677451257033468300245486063266307384864183154065075328033544408335419779828065245411346968833108785042260975127139657130761941537600288897916910803253734551357118415883222923219591958864769174735867811787233356023148197168416427817191944864226295655532933957531625342868656386764884965748522325850259103272236441781825651114133995519291686949008460260196839460736242011141560849655478366225868157015387023014857092352099267608927562843303539151168638990375469796194904479245425919733367208683665600117599163212238568422692162437216987183743780057306516062216257041965213203098867732309337051507535142752504682994669515628046900166285864847990708807288187163658236889563861535702954328307496383377787308090630759906526186612121002733573298937666097095737008000766371872062468611454270735094296901570167700222356763391100458802182092220144198432694850995911450039952180019703008503212335115874554695851739173334489757907589463019191173035669712830920005497798669932673525616974505891303999790319936358566149237289325532522751403703522606152813569326221844255458550223493439716484302916175715215886329101154660706805410530985890429411475562116040323351868841192206681691968846288614633941527434200940129501551814724833664050010529451298783513937947343636608401732734281253381303963191417367161914244239829285454535380757050338364374732931158079638654525056926144302284690516088828498623892383151962899387574146054812207328461199519763494099304470536388293541368982037059848270418551785844098352196575783686969354932300996119699898448382982925547352615865947999044934908356013987762368399883757411539315536877098386587265060288073665936558187017880474411660993960804905675071969410799438736753820931850996798472165070718178803376684337409994473316363513936948612887624163211946160821853763261605147779534973460396905189464025921216825506525608134305064999160068676326415185361996484983284479034104191403101462312993790599925852139857292739328353217165972829266334365902363016204547040339852319641057705142774764512166042561943392211308641363710071724399746748099676073928777537664321749843627253232534654928830792206628524485017275629577628796873054188309002835557123803387143647069931486559358738607053729607455748918002369260248173313919083679480936796546977612107327247253357274168839255724854171774790981630038423939724692915254936428488030156329591173158935402498880264795328158654613349548188917086388249727418801059253653724528224943398718372218912951416722191176722360320411000401723831033972538996914197347306608036377502708588989454507463381458540579958267817316827143400855560952617620378270663365586604189272193198736630579744994942849021273988236694284857839727760067013987225821610796009340829536365972271103601111406514653357569232706186238777044288043069251091983457820481211461848651854608637371273203903918438875364114281413454816186569887899093293908544692463419515091922787026822893872719602278846406500667320056546025780080024437183474917200481762207652716954958385973529652595027839027455355188635305281738103900091050520491242079838372138246712649786811271257769563076115623220870263413777065687459480776116510056865563375583063927044978686625044553925090595557173617681172507831431220026891447494891108580325578549892247053202994406186331171811817721546210326271386730746984691419004098587857583802048216664920742381177138763822661638741994852706069851525544155647778170596812625210027626378302337354294799529284929967272291110507065634134202049823656945280580879740817385002830935435564539370873600104827261031085011580422669081529980348199789538949370708117591899229027166538903135070156522685363733305416476996570048475380572051135575217009818425590443889438196081203986462705452231946600168059121933317423100451803443093138768388113895202455822487037156422019284122951607869050738708702541325586389709782857748763446635794090837574085528297376639396249947059859108971125342682028896496658166701969298526002558347321086905915292296882736201354470084375038182545944836755177286224995177340402765540965487217996061006145217911228764367328763579819002867774478742831468050198298599132984184983528491529358069735384288477488908531677094972808611428804602524057153906905911866697709379067578057089767010872242941404503781343455474672012889979467810683080924160172676132919790002483887497096135908469314477436340174190143345289893218737006699532798483667574555654328942090200675451103676879349628774051796860852865428750435314866229084877708025752497705702579477800565795766485239500560651908994510992452414114400167844018233631264522211644393928041129073795638633510960919143869782969659107734152025958134209461595151534632429478604869115095950987609064036778555207738083255593172599053453940732903346051185048254102505745321856824811641613155032243790129581705689452112683176764607356446985777131255980194042527530710177695740836148850044378367359593443234972915299445211380217773826534580645348723243226421396393385025128763932628344138261081459122677115087879197957644082050974440100303102795154779375885153653145793074992794090476077959890986163152651324625586888513171893682156225355517822786884670520555831561802124895979697029332696150010051114387215570793476634674467096222141867568367957341136474184350623557713009559567568475902250318180346159596731012939006286512881823148381856066847174942052217900856029493187644203782446521907868212839147527471404204839146801942194865714555400408831823164675796433718054797118989015847174270035123032763746629784989734278751974743471725047844847162498541887624552392301521173292857513036222251489609550799153954358267726240224841777147481768174438895015747185330090500239754354815100938204617593893555232743240403815456884910213412730429446352183875192107113130003789978512944009160426595161806290688799149423324282990792208761122606510407561080937079404997338546446295501586572377597805301168141451924990119514266083615651805027245550071604056274399653863448329914939399380753837688932043517377690456155340054061584180318699913916662948508149084470160113284891843214051506682007941647040615683769844613967920798408527545813360289606057040217434831885391100059805013278810240240654426549205801498043276719319521595779058558669616694235606007063596212292312895675907501931522562956404105122651283387247035496288278634544684323875864879072209077403597823809126340954890877064946265293182402697439778767364240356888469976834370591792759168924013207696434610263492641769454288770299970226745254397573473030171499462884299251745951634600878704535198217947746118123489283193540814923934586395114505617071397728494550439940956568950516263709771566728839565866518896735430846689133749409349839109504691256127387186106228076219404797101458912207068948756963489766282781627944737028268417782058835870576590284048579557799363104420166156898102334530903166735723108148311798108240925231945612554803996614391859895191362581443553715176814632315676977490182068555651630087224209697245271843641708393520666189057038645979584498348319049972845876648974413312322693807782421783028621496230197526123479253117473411853570278321064357106040724439568805691303718480696456155361492487691173339663604741719426411801787157655625056793119045250725485099419910622547373958427076984656458025374398483602346528434763879742736626359369504804563394842342332205405548701951938701737918891524543793718866891832660702508452421465802452226654702343700092945183966954397093108400750677642512237901649319944873624994087845936274709651536473028533354828746891095417497163118819729030973810631422680776621911496017499697601422267540197349087318055903379359054130029549091281369383506646538446009639387996102906108545203292128749565584704749568242082944107740735132103243067362945120185932800796496635055178029448090489342957914661212821801196421302412353661051711206549278994743399457559859617653012281903177018392222360565650904882651422996349371068633291513511351517989522342732448741391437587835527096192850628404053246425249923944114200726646368639147565623596376903954784502822478956996009170163874569678889999842850874349884884980934459326906459208875285191615462228785272390785973319739774479601414800528976309206392388715288055435685930663014424040026889620045150197326031376448259911866479732344952599110641657216410448919750131954107192234428803418717197677747679076239598505848469591537440409764631193612365520990566201316233747433740093673130218449733362756339205057098981564349506210437480005106031065534225885334236143168203514548473292242680305055711972525494974611255097151533502836680412655762473606822663007908132208714020048187002378685496139661259420939519906726315447074103508399677433324112456086471859816265822249575809876539767333132401635628533133175189837929844399388683463626907516809142116966464306935759231733214357068159015493279988558469764270447665864026337151554005451199190815944175100288020605621254636816571337057062105719751494724774368862219663869235128292445691391194662132407664348325877218176769306083962231265730711648124644306287374576651767069025248388130782833328934056575113120850916200667279883062213006187354613822204474021028566648919820215260199232452519756629164756927393683139877632350712248259379161304452822083761986799342413375000888902731323877550136409322790175295349643413144663908778655155475088193588417707874869216730285752055561691208435992957137052380882506534184718461759872367351534151579730704960324736275801683957252600524536765999673257016712861650755670375827886689301023304971008541977824424593568773454965975785703563258547894657427975256760839012990319436833770909187995383932572069751625140738343048884832154095176974595623109503938217070923000858674689776028124054339954785334287452356769802151199022075050028759400347385983543135921425172715247943018776413768246553205622435886131*w^2*x*y^2*z^2 + 113270211560126868077469271273850869685968360987322572102627081540486220413761962309241988069783692731878089800408432347085720362263195928496164855109060966721493372165632805200892853031056877135557258791069570338553008555342558856502392467052426835847537009487001782602713281997236650069848548399469284623560569299037222326741612568729612296476850233910164437074617802561719746381650251270554384679026381728549055529736468887738022559047370421082229395412921532958018680945537303286001716646893198565148703041566766416491730411425937465959513715991709176020757131687458518894628958092782024839931282144233588942776584051441465705314019078256504494582885043516144285948903622500036890970382463665039596486037909785672967232915128376089015869808263640943271478848499176867759769118806230452720524437049809423059466548456310734942184097047279476500211329861168398309990168641481055857850360901908030805515979219028452578954345812035988870978086644671539829891976545600850538788608651230092444328401374995204235723055237821444451086845343360792086641253512854006733771885908446178663071733058429990651709718668814374406218807238371573435070554805553452811512142589768637908113452127878689773663085971542535458739402058045285382669864990147276375509556822229430366727261836263476701613382845062100340315587382472113661418834640444324844233105079802843183736105728332238963566765627797884678873863656168426896871591521176561785935383913981316935420435453908762789199774853928189527721885309367664955435839646577964148115297600682809720750535470462818158187888382702644388392928549573140249647315416424082285926729533036392257985019796747132147682903291032228068298874360400250471052009335899358524097295826047021209917665377359570645255850316340419481964504981484797084684789382353113615427594883160136076840994741444955832726718089659742707087759345795267820951618144315484410899233839728063764012501595259929651817737882087944240564749629796556196111418375148168558678007627805710894930259048625802796455207970136498786792095994238491611043699594412659183763279835202659169376177107205354448221311143255376798232579061404964594447149072125735264801971034981488282535385739573098903551177796060408340215542862984561566759619761800609164343729806328341453589839031622811011543488902257849686541649794969305085245408545402726352261546368424162358100552610983819485865345233649448365300821945636646716206393482270607822407185480409471764766112476003255298597063834750966527988002725499244512742662328003157265572119280721531619135354400609291492243248183274178559707948772811642562794034170827187714865431227516607260897087467752556507715008655796665171328859292274100408666168839896200099400418830663233770231211172713126762199331201752561064198675523951676176263137031215867658517546697437875140466196947758464088235793957826856466390235778396646224412280527724035087355776719496834285661635379569951508444060043761926765854027825172819136950186892833351460820214475827126525133705155759453387108934033172848005480937589156059433458139190064189724600101510951755911650663000066344648844463462814531884358121978160288559978318401231538265310317604586793514856522896575654830767878870346104509839012290180906436516285487020503456889355576771892785882634454706208357178147107472916139819474125949119504673212630249704289672518274886130547238208822442951642840171376921300269875208800046507886569340223283173377552721656602517398293489997462517992322358124649712038462287466929804810031459372526654926969577483102848483366159022481669816628268223569293973828381382492748698605449329121249660251136722262279307016111225730911635928716838720212714889731276718025582222941120755905865760584985311169916335578393076113298881112212127007582845984968893979478659802839349671319193211630084209745330807627230005149322111525211172023401345440008861803368614405563957713247396114093018879821178338790521960355386843945428834696081852286204301157885035112850881416536445001561155254722272732223885603607553618717770638238535336527774534593819153726048789944061144765881615761354070114029744832146483592156963100268440372933305688977957056991489742680228658580626748163574763389147722236134515957615246283337644546886215019109377236776743586731852501995621417854534430532232777034989490980426806173747279224041466913745219368088109545208145060000077374773233514435083361066725161805121378320223543713801425565935493444508583482688554369069680538160151823301250159511888598188478746111340882095144471067494209703713374709328325952950847626774333131015785921277949552103999335091046082780262897941667708262869703451505182390148940898077152736719115820078023000677918293200520855983111900314554101090670183490111781301183968422708155066472172020360304850533758732507972231898531930500902134858262290889905693875706283888805404151425910080752176337611505400569313331817063985112450151171134935616251683064184755458005577243089384429472374889142270316440250946177311386895536129498227943380331078824375246279885233393101160509923519612512912840471103548858289562475545539115006389840707575547969889517180699594879156259147760341691166608207696383110391260021657540543434438813235167443575396110279552386395065179886797230942241616487639050485858237751630768349587603476600556936155310665844606404113445284137283696711221698422133857972092357258267618001772632487142792890762091954846970064956274334096005341358903710998874755102894144198773433639976155016830344737645775262556367339978866214857825071445142099770074693472384476844809021395093189604700080650722850308423487909710989705259027025787166445509698227903405604625458474508332011086507502549785602467112912135451955624312109630602670459776515062933870844277589815061887309077338052211646466492554069978714853295595908239822048673962853731090424298691578366296410041686771989252249198279162826813717196704085680602671828963959744413949421045437890434373030531599409219995578301651476276838950633422947512002251163790946439030005764541601839681651535366219593199894358439866795848388691968043847062459251887157607575366067685467696178679486701196055147976836380718624442197032545153858731772362612895291638222641214663591687758907082205648072381162129267168817642203828555491763238642832368960379910643374836200266452722626465710785899969052740843441752733396961173636103793323309220817164857000035187470026413756929541273061578988797629167418431591183524859079046993372063297704154645793138497802976297042392659733984800913252126773740301535788905844846862782519237281329540996496998556220041046541534790248397041135317413237965584470071836684826779384639679176628428352229506305779853196154367963237106218943377381402007126459556704464869296413494809295207372472658469857946148590963342825579442698833595376655711582183573888772516179269082429199062398562397202887741040415223779985547863249039111270041538251441216194807288325891273405953715145730316039198353597153501468212176871700558915408459771409375519378866897881017248719336756635012415122258575760223290297242917474801623083084338272435258164784805750871768750325114297228414181960148677068319640207554518905714878229618457634704385587506237262832315112111924544440109294057550835770263997463621967815577309909313585934836222871743118446766285967953894827314527931271187091905786946696520960481103599369137968297727957849936838628993255966647960828770108444309564373469355325635184276504629870131672694693454092475063280119227595603643512704495737365888568268620983887848406628441987474371068915348349713088380904999043460656197329963515649948909818953894401848626233815223167425795385640851781179881728008507630015444873093481972724102014582005639196726051975493941592063058895362902708175436486959992957274247723604748921599432291321282827823220432513590008847508301054645844162500439052629083621138151592845313257509486960221252247051090015766611300449416043111420170326514008212821995080852056917047906301548505763428516297354951837329001756981655394668717586728661395196243122166309961174031613896428073984745056077370318907211610185994900283417071586810949120074201272686831951234909844580655815465356429877767706223447012495064229482771845599840349124571113409062766793740190137481650043767904551088679003435977509109962443355484299924050456057115462652691154642804782490295573705377889147969095527120123418670490605226797878187259138211177623685372527193490844230832643387009645320772240555994043171897669630237907336791870255464591286282600769000203396219210072994427700987211197596782463815621731091215822031026466934945380103614087832906415149295602427892040106312467239158138388535608876514280533874046951621051945818102659765537860075285940748675837355844203766891019218115268968230092160263425369779268351656997754449825543030706268976843182407438086427949130116157221801383813249338723987082498345831345148653978272923735931667664991485598836512991519492754819781200965839569652692579261866978738866521146892055199093190249466916302984062802752671918936847169050870040022223155137992290418981844790234762964130857875441832143238433475680077954888002977265760876732698958493723669608186788630787764689535027540676875336966616576227862280056822749091794988968806685832170231447264631086082171172845416335852846813982001216967400282220127943517871188140910905655758264672022697560315089168254612526068500932677278982062663777902776611359104956201362090538645737613415901938764471223586290448249922569481412247857668800410432653093931428306423239920208217840454511244577618555186095180893162247631779975582524552531229287464944155084715603236058354494216766522424466457694349295586378314672130299657454338346859320095312853017993837110780716612379090824402333449146761430688290648396167285718387977649078107252366917206572983663463165759838526933262343015162780382900754031207273853889688538884774897014292159893485833969366876355971516730459291102153943705926*v^2*w^2*x*z + 165574527927900094799811855780076253139860712082035745166873643906774137128597922379020656299437080201293842288794064172342231111804741819886744345477796563949250423512147082621773341236406658307595606862006519092222030549652242680344123492043657283930458967695222716913131303815633313242529920905278563749718437132660660236442751369016111447517614405134590095228723248978115339441206136107462535513539633692202150516576161090744308607100226040716302293283302698872987264645545015829710073593882191065914619864325678955970137509594221180632056601787186720672305839218251947600134417454755159579578640299671852375647366937662929106632150925015079535658585460558958024747316611751924080169388422310093449569496280933591697644102207378506379913727117349868754452579573165452578169655255449442002346146250559020999006681543773299020911838105337379532316563914620887000481029105415090832771387955406361315799522765249825171462696768741772207374181893783322525558996827742200638399896377389400711140466716722866072595236650923339462633895252409931601086566262686971245343628481508385527909517785708773322415886081341478144962176759974816920520674866968479526077798886722024902939121864250958104452954534240228389531506068502630675948952106472309806385083551743237129419298844483572201282826232267580656365024287958935596876551086202177607784757640268083878568506337892278750700296944029346184909336198529070591731482423333209763218914605532309379951079907105632959077948973911332084408530812855818449119035561380114512465019153009435025018112004643028554449618921435731964583736897502184463889196803315508871047310808977548982513324364378523193563607406588865476166148794145405027513807702374533984513119992541621983728633860646974727803129367012551095803287112878724216171154979769390834100893633382842596673228647637052703166266434737033059884159143457825384640780553788093978234967678783249709292978648141920515973773967715030330283980172250532160509129324422449847853701636023927171983762759847457302203984544192857748108403576001547660979493194743576624497598537670974347093275159373669909302167842278568046620148996571635877844924884995371058557323223512528061913429241967288803906704047718651632300661047613244217076232786236591500765414184803967808223994394666510627844526786257123804457671504698764938890427805465523107436864251771051373261868331857550119663188104045693629338585710516609154603158265310418221975595210864075752951808951184821849600372248544601556111258593613152481277862309405933610167465434624724767319348812552297931593433479674547635858812789223685666366387147168634365698726619074122319470908902584835520648607077689649173348380531309721845105825712426704125987943228752119126659739439998006885459308251182793289980932017473824364158844105898193770990192253867084599965985604142113186773463303237267991280324752858133013613291883850190239741325605272448482434403981358047601331743091233455627745465373409744175128652477032180688243585023165455666467295131415733186270462448774317376656659871741603402275994696264537146542588622517233851001514761376335486822298519719258852349933030673758546225725535027201540076167425694235172218141046241636675193527233385428335772333919989960382786583601138537043655255004385075983221005396919266113694391029037949303944978545155048948946824414272973592189475207292998212890338713114361231570568229098481911308108230738411754444484705816969159179579280847218767600041177737118702404612260003050232528772269634373445371663019943955179999337317228674369132132531411541553885742893212294053193746308513574542958088272550572574905257494012405309036166858697026182424712183487347070062868545679824095111276840823493185491558058037008071503632478871210255403595479529658815495230982452184761997995079122945898623038079549722264099946367941149239447211084931697805483722677796909388646474323034204486684955539458551124044552064655136958335682024397195563688136005789571239507490964701620033299923198536398950568688203741118681907994488587857390644237588196708698916688192348239293149487896450631129646124944126981830441751310996518207416777887327622245693444623868898739016467036512110901204873091161847891909302616459598763653762671986547159911700680719467782680036457950810003070025397195769915142008591604336746982523348464345981814571744263133432248072652805113294202912873235659831079529596913245525386760959100443204517499529998810538267120580541241177389160083963306676896137427335500010617692592719156361164495540641533470938177193036285022013248456480898660202478806584976867119043393857700526962214674904270125454936552017469534280115281538153024568880892552137885835373263531694461110287785300746977369446427230767247686255762983716555401852320393979704016756728993212363707019425553664397007905182344997417348142308737853744678291146416219464109591211973265770585847226571615650210245270033394043976235416971266791506365723716433038904723879831541428055667882550986098222517050424279648626097668917907898895784537199959206589558352469570058045731409995832497114947233281454515185268363270263410837560151608520385853129545751362892252875866888313490000464994178860556776579340374345105075225472221234901463759852140033029744750747862781074460763044724517238193475283893523291087891117899364124273285089227780423125605249815763963176587669515450863509643520635064231356953573698719361630362763332545179248318412495215372678486231275575056203193272179393507397387215728604771053916040051811212575217180056026026780507168698196625895982415905076554322163276296702980088949076243693055479831789740574416659311594868049587900085041288870404401401662577345378236921183409751246317427924369038046642393048886952681919138789159413007535428793571669088506143251718425095857323274590761507465888228289186608233250151044443698385766213948308614059454285673136403521361264799908690412655832045412322955151233561146228960058293510328669582605816669650941448390033122027420231672125157373098593539546480086838112040068829128992913237200417565201987067487617374424716338424710605364105534631333213848032155073292836435622502004490319762946516062096301511328018757380906274591422285100843434757401512079799272956704107745080865063744903555579359830180427182736328798555742308193845856733143000971097221991613254088619190259723949988478126344778199559543043527920314191790355024428734902163646374637498047210107034497403369742751962087395818146986468594648227698485138071706818436921069130440045090498222809459347776090707253174001346455679727332312009794453816363658897763415706448559060998643643521752786583483005837824881449153486830957437254254558284602190762713022350653759421191535729027616559841768939261525349297116604896441276639518985867501101043973121116719818757700389988421669758007942600916227330343328691335542172836308480824222554802466250103276732647499780054866392742085732737004448650783083043386684859024905429429357829159336321642867066714097220762378603698021190995181453618434170887284308503379010944028578282089661543528757085606856027314236554768234363996553732037246762569780969583750659269808586109733779654754223578597373598091129020228978306889458028987455545930135426898265833976525399225847182823307758169971543744002984554003720086695794572705484387295930502711301476022646546037381152454145093117859314973384850633840735034895467403708743570358827524441383204942207668026596497383911852037583220741338761309389980700664691963935665749991338649286132098761099199052172245614972784085126022769172453727840374271434791910333934012245846911810550748889665275046285592820683961325881699589073299208322617664328637805006310870955520102830301694386837127767496743451394332030639407291266272918258777045598270571691160963586571056709090732996542566624560035427122646399041983054110230010635155078173720132174647063972796390851523609451797551104228552149082972277131554603239367073511079032889584770054123515073535031115751953370645506045416451029424732305768287089189641490663162501630985229818639223671316551855929895442282956416690092729158720028120621063707250106398119001299249682212036323427650801478636310353700869348197791708919152159384897701361409755809067620730369645283553403209239610536931653906784001523572228138260449891802767231755833818953347242537088871127861022351317410020948183720332905917077368490258550621148661157608799059880145370721716140774144284988273059694291679998493229931624116886958713483384319341798224797241731214426976189982221835694392794528968682571411683348455997229855404889251063941509764103867201250428234352106137549759577780951672983667616859223692986618620201484688441974151471746572462533147726511100441983523308492987927338190050494019980744519286218818184247070346876682009662362542497245272909270607498419619358337679180506177465863526293293780542694233715559141840592584658377676774848060603926467910582614281964769800127533004326547244478216723546110040436504118537062111439662631163414432805765084910446586521411716456181402096375350690887127444608492866648388618380915510901249852775293523808744817319228056545046721190391585059738737705827409119884932772687130764817036387261412710486832727526122888053404582649783246336379287635961963854318749184388538589234738791742782921409429054426247118456241030949542133332886313649629028244001371686986661140953078366135594342504774242308739242800628721164849997017460820316829639273787239145451600379553812283423194805083687941823058823213682656115919321836410967164796780532145417997885555610077116482844768735183140811603401824313580371702881099624825745231863548866429455066516392040896453277463861529399769407178260540839981680497590959480292441192057352781232620434460750497809150093679249807870247287725988986548291032021927027248884356063211406036442917491582009350609782516615558640380328497294344825634051843475226534512046154881986191766163231490998317942258933193239980158656818407120658*v^2*w*x^2*z + 82254859181738288833349062815404542965028847791975700569252313773233666980870582719353028465691902855621191051359904747006098286809094812923801659833667844583091286067475936181699121919645766357952927316889071058068625332923051237805904242085427155682823817411626178540699957783230392742159437742949254666507590975703788578634543954813932222522064612660994073670293800049620125433619013262354936710927962935236738042687338470979490996586782458492227655780214228289052474008703537341999223968111358484159791845699484758520640570360844619620478201891498433620993862765559106538797180783409741466858501793718280358832642226834494464155971947056160975197922449560007694845308347957388998779767633802920699830049817221867391806387569741974782489529399981500050662233294441383691367728596100317812993950173313810547477077034207386598555990179620348905377890379232305997213165640843154970366051282972695029968304433129304444701165426465209326449706687338295091160940480896365942495741856939421929199162014941651202020020492863781057316140165893656462627867575149086268675150728539279760494129106801296634133582729400004333197367620928461382282244638559716770543508877926721430994438144961403882371184904309453072044379996138737707867627306658859079121022828748725495611643825918024248402329735678266746974784408846559090389165363362027619235363272569621959156780351320668776537048744580778648657759237157515546629305751526120149695240719012991838565342001409938299948418622527461791739522634050635724810351527332004663142001536995273038309630446487470241880715896826341034245072837171302453605147915364081520066226400798420484543109642285386582610840333791344615205664746258337796505857140919540828507519424091892851030484660100434567705158819830896403238840598135561311134865183233260186672088945211496708240811453796315935605147098710819900522293762488356177112744105284719103530758349395109766937382925747282237031346106455636296318810534953963261782308362584850678608810017083964355591027555564467378106648401424878829284982368852531074215456443331598463832401746904500278433488799874094596393785959887732676307451430323842771713304258745117855691056591162816547800536714519681691842533920284106870693909880740446868004373129515066689381249881262750809919283268475768532820585703585735448884812790967848560465223269552123183218993414360966778148073920425906518025655200400863397933737121898752806676285992678369192811170793940913053028976294180807166686701318693747158169027146177350903302148547234187050135864796574560416119269512240492480420992968006211271887555198947464366333302181236964122037311006257090442052571908347044685314136862772120202700548019430560589928228872901391068546130077625678212885280200011944312848184893240224063099409065918348305804429852028434699180335985467449764780460458562705645468704862857092291354226128201980456709677918079019003305316764059712261895878996663401910119680664709214191566277503381537511712880311313938352992497923187127141080420326814600254857596768681129527160680255171327359522598819800352407557389211776814519799421996744412225113543641343183758947038132926926475081858688280309256791316397754521611009263567476957934765786017202282628567718478494833794243103142714967342856250767391524913380051201024832066858652421504612946942137452794627632219983753500349606809474164852959695938978724393914736809248434884917313574251997095577500320458918772389794031873015147429064168749677095826617071948501265808045653416176821648189163933729561920254605962019244815938148648177290115833667792763324692535202311009772119202193361863806905603716041909550931825519086425823534115975040772010015027161038636435364629427306773917822825967329509156290375463897346138545132392699979169261552947106377179716749761646220708613483590223634436983653402062154830928871175640493203320597132276204715153941895767655871002933631141403968617399913092494614380046215772974669276388515173172884235827750945585557721033420796192023293314557631204270787840996268826608420323954081071668647536038257392680059584730970958577366831009780311710125901680006477163312803325089311692162430316710604006842464413285535388762045309015922355129128642394749019449699162566864885252826650718838063603006615087171516253039091937783338404679344312085097489484356099310147785493294424490015194543517652212761338912995690304724635454489628876780044653251327524509513832261679457470119102288405823861767677342564967917890925091168318848967460635470522341238599343044552045254927951535254047033926001201483320398499369934573186158798330300049325187535152644674348510170276586286116652705258449554615820742252660405744984313499860781882186573069376559194206229676948430449331241774056849735582794393452506881501926346337616916953253533019591005834466445390648763781281440659098347565737690000882892901033304597964045554748323046768258897183162053361274832224880816016602767959754401589541507661965186899077720477555023104656735745646519282289454643701476430167385864214778459582753173120367548035809418449737388668296760602320063064049808606754330796679134313392018246250575118961075161511154057348934209095287837154527126713841846696386555801778373045835281122985678573084834955492868917663965915105652992419201409000362292214154228341556378477128197200655361287972036357604555413815190852940131399565668767974788473647607993411666503573228168073425558944224295543606929289111040711281078279677134076400253508967924805039960178438005512893186054461774135361592836058471389218981903634414763694291003114872851891633256993232924155321319541727871948937635198635424255190148327058152690017025640649853164997071224485507369583099280929635483536857235029636204188762891103926264318922110024788082926210596164049573562411128929911414076324882784724432251576991965639235455334421060253572800989413330061740013748613280230836233896933283996632455749191246007658492734122854200435795641852945764998702125233789448923682478771323863000711274699697861746913408055755465467388051231844610003359534142593164791572609381952995179875688702611963462472315571876052969626793045192880961201556009380186482709795382902920960706559312796409130735409234718521542670831395887027828813149478412598213422310758289266740153407201892752143700377806019411159582413249759993565312662382620568910610471732152216518985193822838388209468021497055920477393533588837763900011013734570527744280055682332485043783252085094460733221756895003206834006046226907598550584231583194280475576417538628286020174342910357274480340918068293735392355078628292175123609954724530750940988539748776275293558214885128398001599626336793971064293238021092956338164679111132829340707386629454799409723985471931917606616055326095050985183619822162188691828892410461738925591761833756811585791041273265637501894107236809182392722328859467653522966657484928372024924526387345544240845094659715333536183920530072851682545647678970830873445567332454499435228725809462006555063151479451858921376976151332529304405871119494270914130170118627229096230671578762674576958910124147072939170686590081468354470625711447707249084450682872111519560828448613412859614420201238201070210240422459237894677667007588884168521254455774970419355622472966575279027350371054289088834432191932459158277563909699494635790592661333834910565839719000890764057837015604831728360118184997793056580893144733670713853698520535110182474157577101175490161685704453774138505087591403375673806396612255836040366861897962312434891173546509094007281597230558505494498802004644687961449919188442480047915406916070833654854442573441843894775780118233727347637474226837574118905335972954395196497539026236599861714516082072259262002068487800347029615760495837758377812760714183231499758450517661848963145943252476325536554528058448515272670471344149775257334158270096108247716451234850866641952851314843009292598731551138643227057569724806473523769767522445607953751417867838524709742600699957052939472516931752879437023530435040262579862790183696984367340513858028865021706692961468853911365065207910854403737368450891023790575621145323930669444095787901484727169022452215053915841153439348062958587518963814408299445131038933131797814255692811303354086197951396837317678882975990447055894572492503618957618894253186364184061326423629009869418468749525780796139679277987571491824972073627590455943937980604355971109945123002235965020318782678600782451669884811121723727265281542674520000914617701461934569090272418180322534135744131821705915425711797323827472216677996276864978870839243764541140060219759052300617403923452385747326317229227880149408383529341963733513415701443925594208172972499984054491872048956193943930713232298144661395408758907604805815232973817114649870630606357077899759362105487363352193031558231609636459563939315823326000227226143915239924186365967008679787865123156047372493743336119028480424097690166401141704404260843476502237551133401865628676517047757097395814760940538216670021614714442055236906213903107950033029397178916972333115999647134072056185429950468611050243358142351811549761776144608579371479906823889631949900203139386506953226288721009416211337605383376403730931799815594628941964265806845071686005898323614707992975369459682930223006302348867301469271866850784782864091288155375148415029201184028253192665029291574107353028119708435459694050959993979201027329473084148592637666614857581438707830479326508230766036446840862143728472691233354349396297316637273374569691437608845320145906179452989237632945196525273570474631996286237869837006494076563254606103006616072285259670114775960782097793442907508471798628650521150725390247625601352731786500723627701095503828005801511779016284047762256015518700783619576767370422664201840562368534622767580272709163465927962003906168322416178039670056132188687041105614205582816910167472646002492550140429860596561091066106600684882225589974431475749690189623954008568*v*x^2*y^2*z + 140617980455947219408712370352916809427407778123823784363064872281271004440411822444718538616294767001524664658677231729688523696413061378001764936357273596273861342459244640495861698801930833676120816095651279392155602099692455306672580123283650557758159842202795950191721095791681425663944310276308820042746360666918260922419731464285644659676434311659421788358600254724223045631529091616462321990894084596645495706320878185483765010330396083033405175291037389623725050626724897322741589890769630619382061149689178817437693097684554356727381338683085384806242181335863863991650695818128415963770527316865630195706869708515252125416736063056793723247311491067703277727609384148742205230328582332841351211096848299378671503186460004709166811463308547276307791021187105437946791064063811012268912684959777236222413137015066420983738080993796452193323603209817087283575947624973451356309406846670837228860933579433717416668687787330815133356622246141018939881176148914857882907719704628753546176344645223739271014054624900837979513435101929874143041947310125606410134309150800264948852238576873736605019945949269537733526579056837757785830697692816152806378221599371949135690291799652629914539218987276670307477514777916160152532286658077089216043504067300064433501490938461573900809427578960086801062876400912940769402399777083737547221077029696503050746621613731728868313692981029788729723345989750126750161634702947424495304916293625271253829811351050298303482955346033060819794179533191732589741486832193353868026590952971477838340183393747690299385693845592982122607126962834591636008675020059694489865410981226820748261849531766938702736458848381139238296043157166222215447323137667862505672815134093506051902747667895608401596053822064376559407891634356489775639648528575780791703352147325760793155644789116581553066116465685957732852530483816702064212393658402465457851091739262552989776491796751979870527464840246220880006234243819332765109400646466847384077569245836199190043383567113015351054369437334098643048938612373930499030616454596134600405801006664651914795285003223850825526740767799968694868759013230932481599887152905336369927039523229602141673083527237729027433718733995521895336533505729903955192675710273587133023075849871818458924819412485328213777590329008961968880308769494231776706096986148986789641803929540894189603345221942945762434778839146016809935266194197619513089942684711904396510379806089257490659159473518989407498737614265210630660855771856239514575464150504988402148486867891095316002399486952377869862074801721036469111628957708695803841597997626816454738919322578912810773940784527315759997778206253832991876460404500822644750086216707514701907670575571320386870622476588503148775689120733720018087394042217133782275156528022376902561345806942679479695550475334619593619653971369357431806331876789349504473308341656501720195750906099017780855654199365120668315561510202095710936116564328156844114642936325995348305007000045763442472470435806933523082612290077680944354528870976822183004053800280272762800234208941698784270859969617265142145655723405240657712719438913767656183071033005083157617261249217952480099686077557415077053742077057772492681081478507928712619132387169731200637889827185193387894707684777367943306153030583269931243662359770466568712243568299891296018694512395574301811306443335126558366370036022065997383517095137703938239164747271677951806673019024630033889844693427701229286511954821319974559152399704474366471106026629097609433646597831821250896361284676086294400152832529792918893401442328979151043698607356282551359060455251115677520479576090265976784043678179972768529547121708598671439609730017294642081476936550095359135806551101790015628469996587340493498445697780679247909597926218981031808048292305764897542743461069447074063083578620290096689406622797445093695328582354575483976039139846659178819518345271263931211429587030135458635504052196301903713902165874113302187950677505963755157012382143154453021215049411521400326237506402891998496077045182643352704162885804598715669532960747513708438981310422250564634586911218675311322058464396424465927734704041324501515859154240909333620450138935783265578674359465411699977602896854867260036875418325558775083535125680914605140949692737551589926963481766630327935024045267022291959983728549321687496278952177326036018997174533102676716147788653362117387619498550814172988734904744379354664634319069462113224863577528040796054677235971710074609922994397862795983346212592611763766543798195757405059635813258851908300414615948859799112388778266194317083700660408148996659806419453483627245137826627438620386253381405303343246938753869991037484101044079805536615024065690156979963815673568111758891255877584007470627713470475023794299702785889501950134983259542297919865088785889073787925889852228362496037557061713400366877392683585188096702140461125566339761457004625632712914687680607832188377037964795420206699597008583285391480574101192542307591316680212995160024801691567526230769095163821865733165258710230198839899808475686774081031820607182127454719810174297361745104118703566145897466346870274869847905552896551816003785235661678404062694460550887909441597684761889229165916148932259856546152404389966164522301071028422742827299567984185627651665556394480138857196385720158903369607504632574615799594120797433941387690931194015033599525134414903588455568604355364737366566015932619292187609802758465009656054473726850078876154862612286468493283468326822893870666553107725513215973476018105788295223952759038303912254530063429874367350007107943564592492662032795506369395926994269271329818859993578720022896352790257359529736895672735534141055501391167402533115616970370991861412038799065968054213261762723626120409118995562922532387359305324183290831954769873088697952902440229832489863943346745897770991605400387846134049481462322108860360103586463707935784977416328244509639971671999991456248156905467201165805708979589751228785898890037579748932470880954124730236284560324548065876549936611261273327629428692185778748399134984972984087670265264130971151868507230781783332447840813211906434681276144251427732088965847756604309308975170281594972369954178504086251674605382818384383218829013835747299514896683233588824606211129229281645735658927695909146185074931825960661911760689114803813061663535092697555023850030636093423356506026709509193378434903185707261095633693060117026729999057368163126475751766978455774580398713138215011563194497500228764281233134468557318716638905975646851221327922965436673415045427986481134489449942920025623943637004315654407467646920589198887388881337722317701553773247075967609256280418023881060066228539067628430771875793762379387604596119563506402458636483237841164745534429713071900431824670607605815421477357687483901501022644032122403961497590557931494113256666413304889309940763581019331939102926619603492993775845792770240212068766135404940409091391317859069185833866063835226876650421810846228535415822247372147259182962455747217717482748021369491784309675014749429117352763147613296197785615632236499734522205282745710540349356076693455152063985713943708361584559624353431114152289042903956329611785956489972273375901606589947746665058809392607930142871116045413351792224740078448638424501174606307627157414822861508999285781191013492550864924359716539287925606566944160304795048023568391684968099090501023648516514395326525858415755619487814850658893710191774274419611586438074631637489354288206065149940451496907129444765888815463677738690786427138014514750547421329168071561334566915333264244230331157031469529198316920328659620728475946519021256807317417513516872672463709423642388586208079935501675772819950310854771417266605487957059246821708313447503739347369174909120637664352935814537611272132325590516788765990877437775427424529149989326024647820219943578214168988462174540517900322631704722892892218311303689698750415609719538976785171782621838418909725846860956638411304140863540474532803414885453530092102456986249021661852490575204721372962959646414524869975003307432081263123550643927456088116430420747260929622942250116270635679555054847099368311249469688981960129772469645042973696611582387551008986370784454346991126645018596406966275065389894807980848720655603171504253685197077061544230201001315716229544146180405588184645992872008422149584526120856271610484056814775488018739103707984706832791410557631508132688671650925854869732117948249275432395568967575932495807421272376241272191584322265159314874336824726427949272529601406602958035271698269049169655798683060881293481665594796585806702297450788660489131024609479603904503966328705408356018327907653477508468446376278568538670680434642354460792593804700602202834661616908752344856861863403720900351622920408746683837148637626004616509409279959514102480119314143072756506181040400613230106218615939541507647325771096004482180408187962590650730200699608270535054248324396685400445437769948914779969080307871913091046242812480327489864125435459754087380961467750849594744422033505624397880453117875802334923831246767487750983936043384928111985207878406467612582673099224689400102247215793088840768698638031749697811837152212603853929267048817810621569812382968587581590948730922635329439978205629276818263891406223557723826005313620881256131025272414354830495383886951909620937770026138456014034096354612976976293560893137490045123035821367159369319772114413654559712202684823147100739980016799292432595641585691271484755221266877171258503986330885817796923926950973576984390446549325764681439179204356849820877039525355165579950624442062307929845011587608815917580694102184893140307400939982420361906910092508331119792659660331811733453400632646243158492963491200278558571195784433977951492763038404850802621087093066323958478934210004863988111459256787154432043344659913912820297450273786138847622122604725726928*v^2*w*x*z^2 + 85402652242705578721770860126038612020915638344475843739905761121070488689590421513320521052450318133968538662071483786455201664083679680875212206350827536078891497604259075959403400685981500960584050954136708452159699107279774102442990159622007486286299115049500376383455365393979464955765046385247166680867431439978090120201260475892765513604023795959141779567093293004774200197161897697550863155970558970106314925702280565854203672309943822321492063197599662686459479048931671063415241744145386589854597737239590853854831058330130276425115721806974236702045492657381011335404092404509220993300667010662863170918948757020304039738755792353805366663918564003220707601489519087165167207880924151655887290113397958236645832649305491801805999193684240729502759895599485244931446870612246182165956908035772523988970453435874800845426268720607369490511684874346912438165183664482083333053632181095504949811924793923580171792983312825440594380124034403884336167754360256026181062534493480950568186530773014172611441067244903445053746055850431554159936273040840722013850677693876954542529282624853514530811934675575105843661240564523287681760847158875358645764803499107298587551269985294620842241966423188690855114778198563430588397895954788058583671048003965356195077361617054034809403807375658476701220480545503787722959586338495249527968388033748288960144593054396360473711398342341173195809227639046713373917129422788369204806662540419840610065235062186004905295991713962871147522712264233747076726255886977189071027607444750895342220492092724998579729147807112832852496738549231508385025111286496136688983187555861089360718859037884326041189372366834990351475129596256386265781112288798288632915641149484672780888710692460744640501049964317523701377876539808281142062724942390876569234121349474692609335386651007201657046303592526076697464100068347647169693605020312842710917168946459148419431945863502940212194734093184912030148561741063116385970600328946346116847143546679144055197735433946323897679760155296059749450548043543954697260944572594897762742636221748672581315851016593641986744276806979702699075206487192832989235752717067654810936117601654333483249485500055660920831406422573549379230672206828277657721274929917900003365098022431452981876356981326377059948084791055122319736244639792929674446873024680541800778507941418964913099009011618979878521374989016349014642407817522976525551692407713995619768839040096183727527613716562733977568343597759660913482321624986414663019244892696809267186855267996127216743695601911201658608548955921141157335078983684304817108273824843286233130241842872622957739348614678221658990305337716373734503413091113345159067073248538796016073108953087656231805161478737192096034334430330234043386833514447913770381623933981980497971183062182756474450133271356591128787925738379250344362976708114884621840918246773949327772567112889042647175279848326649680956666829850573248283027353509715913205147663512001042280564460478992825134560275279695376134141786810545217103490414416959983813176941505330312775607000839729140542598666150862299294900435331614122582989697702257448171812714903967139256413492212235024555169384607455411407508668758163449043256445207905488713021636577502015501174399358779202173238924525216228528415205186144147935943096861485975625649194675701027423667463899138961609124862952137185424457731814180829547166155861367017559395120695293090820530024019773974766550779497900994489565740578366693660125238576288265944934609612799524453475134050386749104174846721874334423938541259230279450689579067603590533837158447504226279924340457046545855172654464190625169402193493950631219704412292899545624966480760309545769001777525220346718085942944593945829942518267426862865464980721200306285292044383357712592564715276104775525731589583328606786247412601505899774766361972021121576602259372267160436971162383578123420549884289845525314520605944150326230815601130523244666459840078968739976052675275015758397723972079776330382765845454247680396162634855341046470381047358400033661243005435164418250269582573503664401545938860689348399401083646570338483857135574023707877070601482527363451798657038709787332098128129308704488841073749144519914949356309187970541862286203157666580359482305425667475065942262460219208975364625265278484825614654125966717829418733514403799597932917005637732477042502815283369541919338419041302814702938606003739798475810709786903263244358133445387799051753271126678217136543282003500624225430360820866572435210453101540139823505656928940208190837265967719792151734231931578849092582453281905545348953849381360781683543800889112463333085916507254578901011731225727840570789305042749268245584216724768336430459912890186346990396435336339381585291790734808513941582040719048368543624868946581106914033877700070547860383514693684250789244604872211574550824855583327332398015259968818030197905815088616418447842756084520999872336217289040599450284362777800309266765297375610599567087067077044923533135226618839562933195281854614343887434299964052672964739455928415926743347162661465673673699882712804022367348586551629030479127063146167564241087743031489787027008982043114053622709496908760457828056641446995959249446137932244986710341759924353728964966398467659870378495060493201323448291251576497987230762292113689027964461750926535151805568136402384078115967871777834508385669622993857519127569484560518917829285391245509989248456678654119583873090831153096366635197914521324355368850926788724379418018070222414160764427874108658804955813624099759019936664856116962524319032374272371854938593295612243888394844360028193200551777980127900952889316999698717456512702159688547764512366595474805798933951758120574861281881750355753768846638898940527744388653517930633462627692447023362664506231931403816468160968008633262730087396734388145544733444146759629335117169749430117334624470912681744031660996470620226745840074934023219373222017432349939321511007391432678399449851930319085763946222067697988636546344054068071789804133573905045364440317931012276599893357183108110630078790790139337658045018835481303548442733176169788651802422828075399585780418083088104699283967829991067970505387992054400234129538767081571693081808791337994324913014342726311205093087157467226509841908048550989035357468326411975525811898157035041765700543917087685316952805582472137513730695642138228094444973784522571308175667316884696109516333636631800592555641871237224530632319232893985898823051895344661709416144164684727588787993984414890850918104891832730934815565534836574320631746230908591582995900690887360900450325131507393798859338950728645111542703021169633787362782788238037494040779898470793547697456109054327912280595396791910710106324683231672149068229655329141641114692281062128116970695500504983265129996239675573678799558072429637089988394988390975789930392984366458580648319081472683423670562256310032130317006668069883640918141176312387069010948744878463018628940590431827594493571638639293850528394412876967714641133744776722724236380778273212220956270320053333427653594175394392122157452456269000060813892151742759910121235202840472186134501648227936616898814235685091676291010687604303141325240367788248545066184650760995905467794329167274492193809529527374581475529221917910950585779108885486494024733670703651425274679176543246790338859149673008871822708939519224299956642338593334679775168949070166466064362000186699087715576941266427412306903483280730015391961903514309511235547325472407420700281692022723194704956569937900306496838695599378589468806705254023073338741100593031453045321613810220479556015634589966395281972584549796275311125866659930780545021557891883544525107631236909440120340622395452747487889083426693826682435798124182843202486953802532169919423304883122069023000264811138307037713607525556695560566389352526983383002625326475197296792582565311764859914915708733817884080483578408369737712012790891162795845860953856275730379583760159533361164177224490590037257005407408603746425070175923756193448070124350300679979024148764808280865731541807458857820519319350171521968923204358011814798120556666728551613122157903057088974054378229999273847434210925302814510215393823708301132760398957380575154755226112540556761808156673986139904247782645531015594890511293393466517336633887996437476787694355227654798239964602403803396374543521259853011422252691263502703919026969702998536442077767734906695690883280397886301958926377491597423610359172573950380514007352318135633557064872550260489691870905916097531597561240100653468657236649774818856283059533477615034207551025888241128150968208212185501488852907255320679468994077944938415370078597195403790661517944237892947956795246733708040970271010017862715986382428760015929697572258679940849298155984542993329797479211399718355964072551092387213056795261683112028615359106088661329176342278714383406757681892417533542176949481161960631434473110475991147098722306516702818427036315330261466224840345049418952355466148377236491714662151519217782260796720465989133875771688304068309053277420733450486119751399729201258519880512668545302241044209717182185671666896167591583788326133792607252626718253065234590666249695788712524310999505563002380543065701681037512417879761605384979830373819866049879657222971538210735914849170595388252157826470769850533092842481395893802064067191743077154662107878738457999283229664152921442941721649338753215965454114196050283105571613943660604442853953373839879315403761461825797327885214656532219441320117889606617221150569210677506255825765419174643947444979635121890458824002435893921582754129538833916384529397273107233490488487277124774408294712481979470810557003684721084823698952648351655110523322035875098370781012790133894762847869323704509184306600671734400188550415867400357322809867402510232970444270960247914727286399664646874364408342230882874605815793615749457801187*v*w^2*y*z^2 + 88649606766359775449952122194082044044750419198869594624782881208839000437138737413910863339234471153134279243532332259078380906789376815517661324700015715162564143816288445355755038402576126590692408077146435431036298360336176967230120888881242447614969916053097037977967594302732308200030071409665172299551331034317804528415737279720309458250694472222598870923653812429039650939313744358605472861173934152959236744907962559409219820706386128411944065127269931181183429006465247771804111687811960013675220873939823212597307350378393504170222326255147354105902191221700782380790261100657509405356665331900613912621205734850010266257530754379325971303652323772816611633811813457285731324033782864848411382860949887556307155337612800037567585511430308542943493071839688934412353742624615955139879394333673743594336863604564815264401358376104203146593357675825720390892594697693200675209406612934011995302985890947804583456208673647343485958597115662872895577285185684775329087506177951124496680861339158213540325570720571260150222404730143113080674761618911053662527024678656674766098419099108157951229426070848476913380374901563778097331545087100772604585072116702161179226080754801476554736906817907903337224624799298366481325818517258117397747821967114624800286347597528607579715973669780270539871490840027428902663448779899658779895007366579459631497697434821067878297176375175335898732528882357810383790162192518848401366361401293111579514095720177933121866284008960986016424984429468059163327970539835077294729275976871214230686910928673739683136477364399604574064381020648400333863526224245309675928432230817294180212760462232694637812239543906383399570250853464303535189834908918178496240728860309942189216477690933325352766491474673375164777273867337203925328109350612185240570915966213468340475379504062097632568994714927538117871370495686027202255898819575885442673493755277959351556918871832980406725944078046558666205893126988608586221271332507011941236872093111920892879061524291559627179456515841333602512304307795126711051469269384803465421183335246483173754216335409426669572132761288316585887857201985773807212278466728868973199576211421668805494057340415561039280221936900196390576988454419172078452132336677143845765837724340444190613861086238612777064493531489715491023500331666660282802245328706775662578430840931642008731333765497142513929744821949829904089102234664011744119738906364055597730828992056967625711172090405199957947998344950846531617815663967426222906878383772504203438736061623441584001126479043608298021136408475674078416023116224477486840613299580414425750616975398694012617899543811978974540892732544089438635418986894569919704105157963457521577902115581909323464860594136755607058022999680084043459701814856093865331538497537341532717273947124469710886757697016778523111800585003715421001881674318161024573208678207184208383925290270217107914029262583102915123111950303282916807892495695772189080784484951795836019567705113103585756257812604091763953026751074837610513171660992725697166269153424802327712312396087132616715114866358615277270983782568461559949621770433469348190408693596196796498223182849295933752268618855801014020940995713153999845889268406509169328042361215548405320095866439483236646473252989583076493756613505917968167998175946223231559118060782875616716149731629345184775644327441874825389029159508965573347924057630246264167751744301232562052369388215079150708161533954493194611566156840922114748070248338107193240353322497895581040757490547119816524606836383877412845868159174722026099251374227396840858798377410848412946920668604384177099469761559964650498593197757503589617481253282563396406918207707433869509286439048762978514392141530518582479265133781649151818186342806867257700536143960738778781561922159428558869693803425975389935507635942342814239652202483570157110386404231611874163909442011063083826110960688134278852248148902200675152098149285793228404810512244177925775972744800390018832621393389075915049708055416565695176900088043510103875100892082236246631249998889776212139485950103163512883746717330994275466948715769589913691288628440855290964120390615223533694616359134144039736785234385474325278503123008801433681251120276365905348230300244497438766734607929535368639321631705372636811729881168923727555432543601026292676373808878685508372105663290112565273683453497088878654639517312233193693894426357275698909839321942831435262367557829746611459256003302434207081571003690122089261073594873212733865561450749656983637519960496968422539105378305806447995347655674650431174609108559377787039943210619644015316606443916635872080381254467454520647761926851456007055856018518204877343492474931754035792576334454166362878738856668230434950827663029344876254712364751206247847027705244214945986109244938953829123234304229226521265728044766451598848957832662607673219277541035372031917094458132530851908885530729089010472706148742375097179487862985360734025163028135355918258001614417510061818085045435859190814600886766560468481978597665666693149099808164211936313357556707513240334432727161679808087840510904472569807591405079317856112887928537469261454046165821527220514846112864913366314536046962054346500495134089509852503307326897605335178506354336282284781777282541979141016290836000561533401499783766570325164688697304398367901419424459982500238503442774801700037607547289375331948676193684978549100875235827884924315656884066546326680301466487288852630178510741324688256804227688422580953924601739971673457794781379843451122049320527422618183639251601486947308072715550062436177611598867664264744250750213366944480772503627583789738254703696042218325193340398578261317932370356842668876478280325016375121459235064593495083013475651623459348193180749742575420839055996577096528064012141429273920554028241746899701079842943829739696680784654707432564666555476874155515279307925524726064687955078904379288428083205334798941299061298847713023970163237324855829549881974494654905238751149599536337790846035353800374350685193816561277831141755195754996846691442067442670519716481480553098069264741821465442132358738654444270265688828409485748872745193224409689728538292519819304600917841431865354456523624901431189850947955552571696626412093786885687729401408203571783670356133425316614092957547523940506100213180420225458240479168223485450158815213411951025510378037646312879279395151437154898310965916775643015663895854745836547945874206388881085599434968875657800688019612998275022840494989240293769747868487338544847242817781195436156228387731161558899474896801418487888759835287698762998056298540737689330260078717268156501006811599944216173835562118866812461980792060269922113482790872409462329405377427443997034890122087061325114636943578171277615966589984655289849185165090123388083080361930234013014961959818648589082978892006617643930766337569308737526221087867928501480070000953100964834420115613563582930108812868920988142005919292256495500130669093651315069956308431474401802604011914460921759516309088528592721102157557968536286272014254917838746664470899224835544668772942660242945289419467110358803875066703433683646655535126848021548091018896689138781089790272100327473667486367220032777185538214348176357670075942699494433961999605546243945480026267120968806727362008062606858385836943035897753112960672298328589569163827978727275705302634837137253552839269150532129116842351115770551449929514844507697887409407462255659518335565291173343361863772708460229057791593992291691933868913122648952711555093353014145421184287268003949654989884234155852761523543687137671056015922796792408629927880497320992666298872118757944883196427878857429715461187370361982438600100481486702742142370757495640813067829193496158832015496776315821244611218590158047063874406596616214541580416705837750423660134292209210035581873720003939317814391743230181662455549275152894085034234664415124574897904549917194606421357329593051781181572518680683383247739142275112610259583761920702151026423860856869763831675812290262663215392025293062162367320104001733969509619150373897728373272489304265917186864490318671321113281413738533805862856651743094165165788158115738939918710174658440084231361282096636860860635264044053634246256665200372376243558120251156756536891299427754707659769944358173160727926816116560744870177602843356153706049421300582118189272743619998689806153958726774623428408171105132870643930626373493991826557065844304640644538490733847345313815840879463927039378684200132287749421100853245389278779141046283146506593469056452161980231023619359644756955615979779437032992160296897027708371768226393370234640787709010303595412713156021756720934408521288639169430541093114034365763001423093330123771900344408632586923145036079018514234962583310928708964274286926319299105221911568515994128195636383260529675470458364274046620012751936419837985903519661481916033673421791656971044125151691168721488167497191362900567742788060411905128057093281852727752596122030744359453566040613916015244397206876111487975545942776757866852521772375447435566669020950624928616706689740473227013391131369114616533823365518654942154787025245673743452108193475498299410000765827563593563273680669488018069749789775816097381662280275027550918189740475548370721184176564450575730295714725554616864594573224122848899413958229955747687365967989582623373309758935075680388039301422643422375242408326809493057370854870073432414091353947120877636340614210072680181272105838411954170524168471662274118292838799525420807999244964008635096017656128294515001034110043362569865514035892406933995905731227655638790413721136768203647116107272822830909188820672357063025911436735758985024221299584356022363773686289803558572555817929382917259652222355704333417994307857052366677025853288368994816135572992651107012888115763162283315900344789226999073751522089407292317863024674283995904665033735657480461869321*v*x^2*y*z^2 + 164585386374798331670343315809941933310680174615259510170069452555822873482879487007636498015202870164909140196665539287625041098720102898764352902788837997128507590010476124787129036473523563861206276355420862067991715193146633575616810101533809313687484499730304048285562427609556964532677683322531618633121761224164862604599581958100473798279967410661302446094601777237630989316425087124177206523206343378077308386444141600199155827739249911447880809019094701821361239650634087722333140076334264464135308417494894348542680668726780057899463131795575447712001521808305602803131922568383111107966925110770604765072269919921206583049693078565035602262882345630159853857024245706657390347497252943630686345347421204280442584546297091294580534135218162844254231239732600787459353208469651545743834133492496296250759622397664028731990495079044586269946419450952135978094239628618690291315063393078480854330202381664308899751810044903660406923406244073841798665236635035184721183835123037442284683774597825482776230571653621919983698100313507280109522100987789810459393597945005899164742323531007712499408876743531738583713262861917165090248009042575092744327030002757391600530945327766154432456979197192626895804354305633132359851791958096654930864085760295578783120441332199400492701452010499646221020348717141617034717171200504962405322976119591274928714678346644002086527883999998925228249273095538021024523491700549875547093236478545207647015650780471390412400151968576914788300893791070292301371051272232287027623784323907943097376936431628654141437185875483236539092104304745523262467434397159433448046186285490523508349220861879479762460534099466061142535502507266122461991354972985501685162342847787098100722780690612369228555245102857639240141303873561484399584429250186618678511350616174559044531708552619990173039632708200211888442191646545393586692404739211025427895369926690075062948902911625514169619166366102012004462270814606600656246242907638884581037614039283910869048332154693246652039881421109043952053773963547555050784181895301797137249288561305495706998634476870007585751232245748299165172839099381779064090870730572746881327473232023881103979452158085718048876478516179467107676184691744628203899035301594195686181457860923881421624625775205265438038274555338873636736122720648204630043451352744674197962162456938842802293029922089040074372285928646617017756179069122582145467947307050797158461428585352885617420514653680422859930617670771679499566036134372646119897526276590895237116994558067896593593547763310357205076167054425149499659104509111272220904002273677410697372141304668710612188117104505585361561622075792835528266472199280143608328976210985909189629321133826247488459188658714144460298890669625194541654568823993527372618161800986333284062208135774019321606330600737395091454975587218307619848269920183139908522104710772023112568239217930868617299634513766797428812214909603124545392608805978931871155875815343779019281494179643458334120466196007809093782984656953627620537906126219056763004019638674287232818848993378347633682967394507822102296273930184931564291379459400094818233789296768161836690320856193479324458829533403261223740321847340421769860796624289970506778490240866195980617471430919179931761055021917262012419928746071324828271786650320555868996764404765428058048425301052137550415897963667673252369937820121698681938591148072954289226153321595809987269637331114208732921314541741973025114495537310719428178262917644793561867742153659613503043581679224397635540790410311359684507675606382306302584110524533809019674879424255775554005664983569243684083573071221018372592925965224149931818764888317810305950636966339443734319585200166360615133041815020722318356726324245330025391781405066936790920892767202793339274918213197460110513196773121733122157182134007634405639300946207208232067514448114111394809946929456727371681248940681551247648597402286512076282053860598837863117306573978523850519233175185493104861837217582958141034734467597949715514972694301473710244093926757872344872373367173564615516845890875581808494109303012989513335845551111130110956682911927906171895323355779605123759250196313551674124713192939410895914483386019743764676546055898400486608893076872132624670069295951916841377822359032612397216005889450903398954952125105140204509468244438700183995268142272700603194526201526407273180705167674037844172861844421203040357068094737368762150961989545160744189664217981344902749931114307262476288691860920012743530303570164553580836740069579894731656960526109713829734273253559365572486412361596000095198795992745642971785469795534418647482090119675526403247388608824578399683403884269111189317445913103790404094639837448076989120051252755296336264597597992388853593599912243506721033840475801762532408558677726623193534337129763046032016752855105218421571708464722791355713111899706015181231506096277106403310081430740083638854764149835839047596736371868851139214413904602607913687111286735627305183015638148041356623930913566002935729859554006339533169838404470442165598107025159955127741829252870322435347068544792294231729323540732916124008596945219833028466599953311168159198241602884393428622849926736801177654594023035274115618860243927605011977878406353498759093214772174520966315778503320391230937995403965540536145939470493826413672887179371321964514057420546634130994995102995609970248483212834577779501600475073779330246000388257299575477705380846131330762960036595278511550449003128294650816618054296655971665603036067660886346419609318416989387639760223408560011629934919084189417642752611794092253192951274994853182860810153573348576793185646347599441382918555455523371274685046485938497239691935699430045048952626697210526505478308629317837672751941288777411079025238813612226281326110172193955759645443044051755765104436191530072730758459649440732121834344503427154059486378183643116485084362096015446903246109546660190170593959579334353539506706996402251958750207313248599882645966732577840131666304943921428667303748940417396098325074401565445785056934947330287412103269127136048930426983007609472211766969127311659330401976901189451254617915707853453960212590483342417670961744976660360706639547174393933777149285206108545490607112730009040326809614507250446223796999255568080733109398892709529641967148198311200346431667773512769699301861578190648242184672962517026405179387762136049692344609675530636073786582875537480541074911444947399411769716452107158306931753632072284899796142524460620170529355476457360155699611599412741836166648749707972726873741950845289794246870761814535231393014886500366840379481311222230532115807083011796341211738816254102662900941945430753225895260545515944917580112985191960144808630446809049432236512973050100199512742544556864420961105911082322946416187156076805543225746433661305538050784666810580577804224332623123848327003907498247889226470565612315870196766604221169657421986776920378746142792221549861210712258052186993741624695893076379961181030087200931678153753141427660099224967894362743517683878229270009603179097521837137684539573026374034217993901737525156787716041941529411948513399996141029191809586970971913272148960799978972049307979687960269266842905464694666072825198550123567919299845475329463164742290088415044991404225407979625657079023566083500618135842421660081207494118909759379430467912464170182205631439112959551476881629146993331723750089891547070520420191603498800229093729714696509548259306250720125987880728665711938869962152351881695395933021744934014491442460767150306898407402364769627959805608646897735229146030208318419427978761791119920211100631232904720796500466491013134134941345285751253486369008025907348775247319935999718574415301110753799549766302471046977912350184576962868650563786697806983573513506945673209641888268580907168122435968372388824325396450570763789340749799527691787492314609763364092875565107175141131050185739627712208927302378246106761444071240374527013750482605252186994081337150610923789195603392392430074846975262119449103440753696484031929047032252280765907926344345255607336607925316324700830877254266968424160083307269808205647826053814716261125611590561321655569384034704952539683865603248516417291743248339255588346614398699592422766822612828085239259633261680235233216705671072724843328709204847413557360321284080278302687766115267999616843085649318116546244875465070247977202226931729067857198713398515654082892829922809827887329031816646734511236388453239577923134518171379789156809910901325660034220712037661101523805204707073699976897612527918947267360016800923490916575039924851144546157233737847724658963273864459594938970839794325524091926646512207537093633154495182287342309923468404867234389658847879252671366067241613700609211713713511016549700694335086149322039416727152505334016153961966629323808365608706003614725697502087975468391953752563802961363269917838517410502537441049717599170565009411618702349209015752122648377638350133729438322118181814591444153362904921091591584846689420655930245973506700270208725376953234160049069957527019104599008119212712005162467078423250948904307405271006227869731470042946416978190520160428458765493785162570011964988208898897870897606994549147944553839351256539251954422260553657112960565456919689112205816262256005515545313997489750114942929004982728637815321981375889539820718889442412198259560675231492768991321178763741219585908641690558103296900649599347007158825030209365240696959812812546390370251553524500961329535508983891473557756030136171446708260783407861246858485918758820133605429313136600429455235240034165974175700393277662592207577457748179099977345227447317441873006648002772208066896483647250364812689358835196931014240569826271071635657710508546485183614878139518896000304297959463929232583864055082823911341275654935202437882314099833073154289837342465153636294157299628640843479339236826566095*x^2*y^2*z^2 + 85814599874270799754712410720554343999643622736960431159600507466623143784886729452536880161383574307588303647190935079827008634421460746506740712381966274718651657832658413765441343337116788686799840086385758182791974500983412763628569821951469422551313043495555279226507581028404895511854297695678173139054949219689859542882107575595272294592200438800931681734076309059121467571335284448206892071701537751623328417050675541419185593728607609865238832828500385957345332090297321977234171065904866907293790936923438957001944523627715186147900976162817791866169312442052417223322979557336113901920887841530960325553290022816587504873573850014174699815931642920985046876674570719088112820097534951565572162005580872629781530006597925056244770988387642456267944463550163306419165048311639726685815016685754110336063730865471696337374107755841303754861980351825964713300896837143319967347360256058126187668278854914868315924702374677680862367577549133584876518920492945359066179961415202161212247782568076883735266961794206360469049492902138312096723856991094974393361327589388118604126899174086206828286491056982399437981081574807039367403046250513578267545075597472153175172903432831124457757066638472864414356620874468501520473892186344921250092157607097510053576805315871919523839958981390302668337200010730279181975274338438069995778516038607618463397230840752647710692500949180716722865201205923893538131119619967031100846858516004606358035050790201706411723145391826661632840147523993584425763128703929108699706548805640510990552265340311635991788326828556956896742892573515516158557503427054762389837867844606945554647241078489706055572141192834492262987723963341052217935232998598033337872180320357195649603813213112024588749913301889751030291498549561807432479132151500767698998443862216845798815800001522888656348443861027757921272020389938991363944104146567061396854368594527048301010854045742658955860351981653471692256410187851344978460621093217416350290198726821910656212429695313847518421244416860835457448307765473273589317363441178328314513980766444855797340838361066756090825052839568272056961737625526609565277119187512807787630342595424965187656124161653764599651514352454033418115445161054277503411211567643563218559191473331807008928028267976323620218953979247660926394957703457709664880380500730547493628829571726198421800128723085620247075684486555394357547408761871285674498331552288762663749716428393539592924062835134012899677777352989599872978233362346727383587963448188223441883403296482138538466315626108783598267383433245199555414193445853075035794362689071964156214438174850843865177897131537581386172151997106336935977270764025959180645859273695621519221414369281889843207716030630539642396015576559120937776732448430330595475281222583596061398891157779313779915094410661793973957074753467028093523756459588277659358338005637377669334013481436714048525821655334971184666300154572998436634922168766309352116055844110438037380409331750139050110246732909065527026777445511401553017866773112821582983659489233207573944601207302790604824013279334624433026145351631840789775954681075165124357188880947578677276429587357783384835796419356053719530785869770174492232645548584139279256721037546614384232684405264614012945016710460503602962172538928617162210877203784272604614000754521842388949692126661424455889369597943418697105836297317804020862770333784692403846007521983139182994813390242908358419030948807525141324836266948762275204892259179010534233915392125161111591929570390363594992916843891980824374659709944227484172622143587684621097226427294155746406590542765600784473972040280664047929982525026550307319599518076213384128070835904988670564715792758266964875495684822360609067948606540333694625249244824805158546366354837390632885675968290887218664971955405569212217710541616465415861374329398013834575852594143150643523332156770356715612293074703098570868553723609189475214715491316863344495967226490077815011379230680872092120295604394996241628999056303373897724142945362081752801756460621183815170503210780640273932237368503796869907226795286564833040636232125122449141871041781363232730318824156750721985941110988380425812956092556742368172212653860974892334167944166486793858552257991621302124126203024790278308725686704364450736123939708822556026298327255990350838285654311225925214776402248465727616775501777021235928602360151535217921618851809291895056793405732760584931852475051545564262547386975306373431770353858289767031559945575842817753917266646927106237457156098724934082105110124126267760982682378249709939297711399754748452759931996709259827640641002141995630326813512760653322064962213919048707544827428125990870699158534640235351295271556806734012672386272092457119879984607256303426016735396239534715581448863952171481512854975403021232024359042516844025016225630010691898440534541693652045304866871373362594636457030544211199199920825153929681558534906961888441728499320876191019485635909766766185889914363270638263017152346225311971572123224756367374497272262484861688886669936352547630551404907782897715266535954764388888883871592578085802285366390613380138174699539872495416628790594805560208607224650425563880421682061039021429710741031066424480876531318613576750477785470692917088074032653523155924674669361509930675161576959075380043287915596078504925210371226325810595590780590092884828781250250998942002058629100016661994246672449046007845029510411789068713916603550222685904303724049406013821848505022389815674309768353967442574473936408830924539066105878320259335018508740124835391153030921441151228332578332443861184966762462994779407858462376880564623838635479259267005751705537290537672445517347149757205473611160220826256359279888406379348572500767905369298030303545438258705087372508255086867929116585327447642876439737929836626173207203540301448535124914203532918200700518358059255221723487789420134709214094169997559231235218453158672626447767399744490009083924944245421714625367298385696736528338532747740012947665744146804598099035509367833858200435433722159581328268650472732345918441683557313764294212460211651108292097199408787813707102990200222963795562127562707057201308266831342516505191108545281235710378895579684229297962702272082601834907051884612772596607429186836010000930246088333937607211905248522245998174523602473312982622954144289838932575044481948418964088386700880893375615068005619697230615085240256513730328253006714612681771937281030645092899939936310959315833927594478685698924475390781072090129735405989273086323358134267277974437051571886588976489937950172248864353013561149468942015452721951051921128710095752162344767918755467756227927459073292753260139965049376742862579923404844661934454312802912218335389253603056389301748599413699180951365151273101804975624460955816744876897911722149139511277854053679397617574273420705984113681119199195484778543288311490236024537574169499728980137365950980041076768041007296953782796759407822695978568937969188831195573058379017254656245296882413351527805005722411905209879449760437530447381302573372170835147844941362068509718529623344729743849556779408448024495422440304478818071423810813377552533658327829265748007195497175187401211375577361419014494303185412993777799430204150443608344465167149674875922822229134164461692171225668450826942638149697512600882479394176799826676208711995762743600329116044499042929685270040686459785547589211593913500257445703266252066159034117210188900287456291792410110615647435226887583648911362693350753355363871308081745884218699833713127221217916337418862290440410141254045903087283657807677335579988591798460778996802823936879065496926794806453095132511243729677962787510062155933221940650565577711846537272604508124098050729551708586545523369251122249209541842779612980534912560275482597297354926526463407718581194830726745796999634627335801711620935222936832718969932439077304401439107435328321694085272787152147577571263233559623261144033378890251718069746391253483519809566749307434385485929312784334886973985177835647832177756334736879623408921297224844427724337877347645355724244170003418335576596665529707782119596140392907115095848505097610942275155070897423865806929288366182911879374086488336234829686275471778388683189645291173126867506621240864847079448493294038574956678683503390966151879736957918136188816749814639936862891150840778258707614689585633093366546910234430536916902469764647099130020415672567695522750364486552254482642877501322236093635398943902268552207677626695540931660020826747870300239235328322372700403814086762989118457528731534541709367843965931708181562297203084361653075168547382412795180123017607340015442559526388214858521430939549116109327744705677046279313650799699802554819470022890708419577069436950188310609750212745188365447419642921119287341750680649657482455274465535697697324262893014971791293212334306050589882696442748476764791775405737746595023663152061163007844336011201017635012212375469929962388944456473115950620228538979762475435611749565304198042021634437498323946037588537044452393796689947353127927423129943301172303895409738658850931071615635541484717170748593046656313122075113730438905777182490003119900091486393254957881887428196703897300935945805535272494145990975705420652579815101078200420333917333772506351351016135421710764016980221352979217076234536664140314059686320116112562313104319322279982916122606455251663305418659458207815481888471323596031281171256392199447593294943002364333579031467518771499597619227968898673817905240041767504686180463716631923351981958753335015610755801260574135246101703068782204895810820597474070250989025840867922052467894034193773450979064796668264602629737385787545434978912455193090245293851768846147460700552747363198739634971878155888621730441065937499515141019079103484577541346815552801824295683948113073219265072476445721929787139039093792560658401107641620965453110313758*w^2*y^2*z + 145018326962651734105780585879718317020723213657030200816916368910448709919125475814936765695213366564246365957001146714898137560388554750208005898091691238427821072601072898342311534055043968758434130414883239324124341781081652921263208449368661969061656534452018981500962759116852378322385425185605160610109616670181970999118152168660042970823978535302786303664684207332173022739736118654598591794971719248978398322054643703153161703688889974954917164843236339518411177619017190144072947755720866071120784545379538716975106770907440358260614526394509821930024783410280125255586127867466105923240907742858368116466425898175513192094479499509950833859796024046012108270170428437301172588703439063430779122446667332789249659730014396716125677631414770210774185266508268918834144503696387453238575671278275545496889616464583581868589701391521762491014345271590165857454789228824982489664481018489140148073100760107827332913408360554396087348992401732555848469681933150789515469554360224422070658513558666319449223032382349972490134867904612758413061673006154975492499276949901596824918398880380065157430158785741787519041090605978330281277949926581412983634478246102235276370034151503792400848851934528559736494948952735479860904194955633162109709327630068394021315570923658968669882089674671641006201670284785360164962449575016233016239039976733932564627917834014611172570338203352280756466000357442270911489495908816923094926607204134353656812519101391610453851771066970303193375181088624724397128859159340562150493004901376126233842135658111533315535937952265196750404101693346481398000139766007868826426098375784068120755373118945026686341143429236238626906177133474200852724904518224384568831637222185366742583226078851504182977338433109804450705085331440167101462877013452719796411230175796434424183337504482199886501862353614347701602552298174577681142120472043513375546453859944240787282471049729342896038514549769908643838803230323098810382359277421816114948948555115237145149077623739184305432237075474169980814442402574128499762747922456608056182033591230822116752548202994351719471967858516496245147274376851706290692748364039276159279436945445626219322049036835001869368911510806564097998918400291469740042319050445168472752087851364063174001201439485289957830148503393750026652294034629363651226488966606994483029820106013292219973265734855581735858011897110802225071543173541713935149973143107655142646270914869194070721203042915577882455597788868714945557214489015364479503999102905261743120485338527216051790726088533582536246448547556808267103888140787919203060544758121836480733878444001618484266516311066514040656888692923305365597765943429470762141106684325089654136289413743116326103813380368721274676108134385389132349941735616073549863748575997072335136360403424745096490953839191392974874355696342095741930389880185294312717090355706358226859559405272809474841600196810471500217535736499414034836646842678706882686571736166692582211732032390740784831740506979147775472266391686677715073236636558113637106032842219523696822194772396245357589321134100014731202583712870591138431867414596645245763394167879820785268723005641986328146590938849036055405247837297387738085055050227014859944118182178121552754874527402796972846392317100930895764011092772846068983684948713915915206446448825766394093333772974066122745598871807183529542596262408044954411031904228732287258759502978344251557620927393514894373898788983416216163534223329596940262082583453300349999453536932602993151680102374986998180860764982158026428043386386193524122457130983236565703918627738647625262014292123005528596067915504942080567821877536897481924469064909134044729226442770200807964376692124246557119549361015449645694736081235174748444974164641212655321322583511114950399596292879625905697767484626758499242705622022226078935384266545565710813935466067164142429846702872429861993158357033068219549319676942494636134726146715536561567008046871791204206044794077081524155712025119491324840459623186213682569032860486760847857638099763274060302995074344549518441866410156140088198647996840725770314005902372128378476825167849815552560454496944178038751722155828212395755389340923185555709939601603474656131930399719765315700891198040674925500624983082073725911116208148098591797656666738954762178084341299844482743726487232126589520249224411250324943876242129733970287900687217394908611375122546196180395703133627385414776201591901833433637053811252152649869007226758638402912010699048445793226673684112602847275920047946550969942704294309666118746563225887056816529262836239800840504849774800851837196225275408354368670743606113418375155107791928408316296500959211826379259720750905168484841304990302927010499161530284493687805210321013741576898217645752610497378583435368378097701977560531220823668183528347030957889128108806182996614302533089265228964043837446973759866285243710892258916441400136714345141253169944808617018770335053168678325711829650288829089158670515069995638337324615396377706647660418939806292497403068871297428522751277865932494698724637550044163587445812100742447746831130799336355245521141044322830674844002685470347453109417300936099476248234451371311513601264453236671582393888679075639285230196838514061003193059556066617759874023108356007793565526478545420731125247361748840629749254855922415532982847809998947303838339917991657729382210479870166973228311905386826920783698476400508521282454112626522634415872810875388931125688981585245655361323171853647983019468322149539884509761112979200490405496670085935401375243623938576464028260334829926913127492774377750344821789646685499868424883389131092999569667630633712004345127571782591553343716861168508669818112802254127424028939639674476627169028932383635120306017931823158420535132764385090369424937836763888078678813195457705731922460598155217333444968687587704831694200830034025579304055797640571112639081847779819214320375515966832028461305585935907119832383799942822103272090145774632478158838706269605584347953840938683708337375766449536940441289091386801879784916955095432054586763971155105295765388255585335500621371687005990453215271161651011614200897829523194290468955503363720745410377671409846730522035972077555790031610422372056383434335489492922733699605779478025914787550808656010795429852351617615528677479377848090513246127425441572976003669223682683467663559656896972116509333914804721528977930670483317177022576913060395538586305990924159417528575912639796521035303073723532016416536961099512648013826727728500917956490635761013414334825098988369291165914099768398047750101220580802309310278310830236117995168607911181937692126539000929252667238444247424016350595654937808791421552292960549585593015629756410470023998449088081845776204928454401904918794350769710711443414092357038530483535559599782002847984371419013239244315445852349019314888639949507528057491317415082117650458325450911534719156724464675987802315915575469557293551174714197416697063591191493049655014324902460171195341277107296834160623064280590900728144054106365939315579665701935970301136269307860111314059757988285636830788462365206668212048915610929135475437345572394021806221606620768362774629816495729365750951033280605238492380635586566250869984885154739730756899986965278112151379508600320897615516195997511356519372184642792740508295743316884029673534253042609049031271978782838427746103850859527220399390279908904842693629139282602435804271930490487886105239419427892865151035194584551817644550954423794553106476076130482838005567878352807077072634629683074392082826853601337366365965368408855265190013406342641223727842913951932452753574145341246548973574524000021178479412292186320345204174753536613293333885245695641233819340829407169984402292403968712142835600490566335343426592020368844473555052127989348228954148249094107491161617396897822769925402927411136688126878348808799350723577154180878788226834833591094059338100283473114642803277370712898179456510321458790397643458172967251234455470968983537928304060542884437659159327746972189270647646506674407594826163185938261025621653418359053691040255284534971288815071484863895129597935662282339972913259969930189392347130624269766393063746668174294394155177584001921421618463537731814417291282383590269757248037462916059906495247794976672431578932974843749141326562621965921272112474554125691025821559543791976215665482311015507663950187688859517294938444538583719674376041972586979868098731898685858020632265854976416435703330549312155844935568889881533588254117154061656170821574867791484427420096110746023543972150801640414167722797170506982214365028398306629007660823458999903132972558924735025363969966713315311262695383487430936413316126441293081814230462703372291630033832836680520901430100809784089314561636140623615565305587976149595122170060906138017491903420474124699341167587699953224516485246057850550351627342854824168753493611427028874725890002223907325197817180811098620004763654255778044225932495176800942346637314113888355485335390572349916940259036106871499643267527567922222454252737330022252463449175463772831957952494214626450487827535552059045356024514299092937808234899232119487796000557495451221464903853221976876973745732323288767370795285620158218528351604466293483555487125224571884514649481632087313859528540086038271948504002082089175917280860084967799599992522121308424878982646730382298901820253271542546927025140555809698198749982518691240436854831511440544568078507675729918709773154927153182186823410958479495514626853822892937374386936995625281697250566322779631752773082444521354118660874048151604530198282369891387640279424990504921755391021679131603214793016816301067342396090012788378871216860338137784748768184345768711575324551045725402945854788448972951935135649327125135579569267075022893069301624020549107835865250965913198617747651953212592375054843932272726196725125104374635016422346573958*w*x^2*z^2 + 26260231986753485761513480702589292382021730273381678282418544252482608063939984482398631933929245422104880324818796050321689393094810140273456134956164409561054174989406254591555989393273964058425881497774270995579488504065746661929804517934884095513701351523736191089579580604462237605840994336138122083384461800748598529497566828013371077087950396765001086292081319318046486410262133299596868782982428062095062196299541453955734832032160710830841625932712682956116094530566285218530648419361018563020274423481446164155312171913474181887446503859990095449687405957242120978440795689048096496895224525582293175273424881616052446655805089660569918748685074445593646735689097688760910660506116214017546541606432732326539598541544500874317936358729692106128332858978984701428415964766323219035781858952630180537854694991720815823204411386901843007177529548085022771257419112180810957108487020802433888816247797254965967249648240796825838195190525405052421073541455038561352134669111528108674486192760271272852291020148275121332879669150257333481112946989021174658002283968873438705843963109297833253950032401578719956426975034604576759181057071435142786592023033130989913279448748672720365241545862314131900906113005380654464683236521177370957627882009730799494759599084756108613921833372610082447187376585384165060195320976373281850257607437781990587127521830044455266719516610723774905345100564823420446383343892840478475136286914590429398241318669971999945377678165780608961183201978168853330718240839152423751138925788341357300826247922970235146588257663040347249503728729685173108362071062921072176981396324480169964056171009526964850762530738012213155642718713752496138853300791127019059480130081599839242681253541503999301313323373201500021626733863077563408524988971441503483969365928817618252993432979543014548513343268668147360129491030970509507970968867988181869131991343569014037257470281785812829463407379874878469881501837005705335591182432621803132045096422618871151465670816524923092710532349073578847836178145991816400769404521017768050726829297806987763185231830859931542418615883260374914294503492549651957300974535544399370602538512060157322289123412653532757006066110313541423490607691137126812005513557132816511536690422982967755678344387865125019894677436674519446540136325624987730181079653360301912212182076273874102800286875640384125296010263021882406636741631402553605758780539090657160273828952564023464868509676213257108599147336725672639625101570745084322496065848838978928769616160222508144591928103423813046343735877910275923537512721014470738366875879008415881506276690869470090635381597779412510780744768675327441298597585725102183395801048230867877055630009634935508070371498854108523287647365562782393054485929446052145888469536754373582730881403534104335518501257626692144678660655080225081654990235420687311866587329797550326949310744273084988743904309131116258653298425881065291359153360623719226402281028490779820886821615784108911291128014559977210993053114476939642098016465297545639742676436048825967863982400183227393831555374714571482701209613325547332570753374766292726945399378358337775326916029068837050441366310779228687976805154664755311192603489249380519281002462029956107067405105861775545303432453984807565109843391397235391789274767345884267293081429101334397376499016252968344078899111984441070180416349985276629025361082402978041065553213482578756577204772018108815274105877910769401626500684183720543706579738424803999265668471699949722068968464617413690660612097164674148256896263759955044011362918939625189882115973637922831477244815448158737472113033629691383304250504633270087084602075993233117917405561365414156415250750758245044739038360927788094841800149965884365566112522262731473171010882581456731834715196022669891376830320452856888822761748659144798172786071109670812106211112377194152472758178229551755275653841084208698819590193056801390593845944341726197263808621135609207053617175879930450921101989672796048309758412861844218009995815159163946966821096291597202889672111320234427779091434692546459646197185758674125156578304446590097017527421163645194958185505336496956235254816777864102690618936505725050798402432616527144266391924272398268574552843913617797250038641877090844833948238951500441160723712407186928701178469635711451856299933828275605030997741173940560643954178196009329168606491920358476857616218077070137082624522567510104549389414398092545875346935803395450320829032521353573366907181013551992365627184260026074796014921823082978877280296017534750284150508210596809193045628656117168856570871479223902278314032771927269972463120216744913946624266005468262029202262831204193845191269613190975791169432618072566641378055675896701634441653254477418507435883623423530434822407626177962174610028612617217965890867642083998654305821296592383631756563967872356449461200981322579275733230648511517347527870485203200356304253033014940710700336249027394683977685457712216768423058861853642752848637589576973536634414143650094194036421940034962366647720560864654871285624856400259730102924213420331003826164287305852644156168956284206629518188477864566195597790760207626002155525047234559981940245870823492271636923305802757903145998712230152276790257919131998022973312913215663474338918631737736717033301905422113328592578829300992723715173407137743138604001060040647179938344837777337268743057666277688846719377964286031700792732018899156971978176314329356882893266132753802727438104679350085888741701862578648950795649420539016881686646312227405226075679788150056725726034611798657462569937414321615950546241178229193336611891012234266709185285023410553213117619161832514479398727925856425159548732076947847855246671741702502492032069683366522596706179949635063005536007280373322829336479154092949436971409507520823065283580139884528879058143632166728689233168130041369647718262277254776810987766640908939428038558414285320528244431345103391951494897342567885967895374577936354439381666995854490069911114059086297924278745345876139290992158931953261002380084581170192674138527853008653704584209601380994246551805071101531703761286921254377676985176985916893181071912613974343174594659385057629619829797463032324853203728480132073983871770180186022463782727039403865484651268328261451258031733107508437268520058223210414111397005093541101502239219065962803998181256571946794204550599186244732802928670028195818685428249526520449603878141225415223554920653926874099335804231678410572233961428014622963265061484312596661357213296475888653728023029711738344809011070759561559432508277958534251360740090401826290625393917375264524777755549813131623784206374504430337431516129216533614184581666145052327738914702530314302904852132966453270332269990628469832060760254342325100648798115718642680404912014451735787511643759872197200248488907610484904565214680544181236625518358343371358584105727025304011716152046183116750355197603282813929561576995617269688021114999067607895770885589463556662498408332866705794526331481960049662940650582123471533605825923186924635652929037805490624351969393264482979069729456839881993257159687972583095023054438953134872536746249823337507491117564196374639386484489109742036171301255727819156993212518192915989110743130489087435308872471999940232513732607826291475960561470354298069845006999513807642499388791853958977993004094101519224448181878509251845786821481230572051649042966393854016658621023466036967590356860709015555905508589027367179311219767995976918952228223659653637112213146706754846974378092078782825495321590353000497259026232856294403065292643137910965793677284301360391425382515128128792940099528055572200808782502545741820544191603725064853719897778664160322455546769550225149161163329578851065029280698955170033561413480860007104445097063440464232513701643601130592588168576211950135406717228309563554131285425429389984546964316603127990995579176846820530623171063935540088052500014893366410588517498672722059278342653233853046025639376172816639376188180000000398787644509168418979983908938477767554657009894500081338055042946336301755318179997921619244143161471891875249190520338278839732896251638655167928132118041798676176447549053568418736813619813556737542595982257509126495544999393679172694192329065086191135655712374862048753418679173216998828691277283197795162806721234627471831118398126179120033290326633286385235663709019244802981208124162778852797979802612092136216606306789391175818226000909633272946069647667792918306440145373055909227956392067260615016676547125536962323819625840771709962213955565631867738114883328100171867237809837132784619401906822474832962785574318249584750060475761172110440977203809858806517810757831292328582696993775887511023324053098903920750156019558506088629796586981824580306141014623860183808335110803218576944038418831868903241186013624874937432953602218866598567956597041658243094025063336410877898083550573973522071652768179823806959470617177889765341995453341658329817006266525922150209392115745552959633910544074560499540235385084888961818056009283243271957963994221305174699801827888908002298895151283600722100823497914652668060638239448056116345669669349504261650950769889295541365680506282085611936544600273319781991087423166093656977005855128707991090390851935435687557730218682022092527918878537866852195005086808237229788638772410978999559833207818130851850655343649158426905358435320439710875778541283276685863400656156271029608076827685786985272969062075866659773886144201292515331374379178809794249700615179167019599781958071165883106055848219228639687676955228444113615973363562629415964237098440529483107202704178291271359266969896942596181660943997069674418399988609005447109644733176513022119143517846046983964607874173889992644559404759266239216064497695557001595014920550478651773119408587267623347796069243187710185186968890360553248546723852638055195455562178905457558*w*x*y*z^2 + 90048583239881163778492353813666697442870336853965708963052338577270156857653829390416936872036917554678771270815678626749239414222308636802968945858185206457851428578433158059232882595458206142130911507234319266293814382734452681374584471553547532936558233294140799053624212259749428777914906684429718654311733873472528833563146095003261631771824262416052034053556295124287906155759935825017666819330188744995259732932464777247810281893904629889206496798453647849215236996887914280681322598948607318487595907124749322642318287407140006616371415185901002841570850629012581065837578636286503799847438125289709081465778700668428408401736072949685887289866540314502961990547518686493910318928869896964244533030009474726586838007855244873278972971763902608106901142474746432907739027606075535894101239322124399280775689555998611211532693698198196269587220062517963134728813521840258794964237837122479237949240625019004173374251148090429648519500240292643658143747954968811710040161232869503927142122962246787636287543456462642301404118873264738139207627193488794736899583790642832456480316134316441183772590322583446001139746156190170211308882585102033773431087633457366107893423430477950634298969925057648033076081605515964455189878916847958673447054407224756634908093660080696970296043653377907322344732523905724924428512536109868334020816093784882730436118379367726807084016170864796991296762562746925945514445714359985641143006982810678054391662053955831991202013716450028019150029198035176259641799780940546179364204140189687223637998211271882684637648183185987798265274807598054848242155518362005571412915137366580920157133204198807724066248571565549851356368016405381019160288927075156663935126806902754641832792651627105957489733231148377985801840071805065977162244092161570003351426422048915354477822938898871169593332503401451636959779528944497580473876487245556222122686092414624601440533504365361893305564757662851398847161117689646329145801930914676842027645680438903829956235763983089365090983113586780879245281374423225379655679801164140261142879493646571324376255602658441778260691616331962721002137206442022957828228020721363596161075664610807821844357083439677283217354894856967031049737242326952652666528323348722856787426968035040044425400258897890756858226134601116209361473331163499117760731261728918988007331843013092055903519199529467414609383457151972426870219059785698674445681026333051241964788023590765431550272525804642616496742571905265610709097621398052864149123565922335562289399819043121266031325225847331461717588375326789394465482867671080403628576797031213506917014389669901042608899127344507494228207028328646509339922590366784913914001545300700415272606111087838715616955927965215898713959655133135183797085502119455004843993659001565142186600440848257455228198656229314611618539836383876604328849735189637408685703529595542546057064561271341151113085947010873255597707026136145162730172278732900061698971419446049197072204347358838475417990755738968465798992956419993502265473030500474632091108356551575965138114589262919486056104783797128745643642866486770953706691797004637102940226024226614960291736179438715240365084964870465655841781342840419405323450605116967201129003818322355769883118156152266920951312417684518673879408847657982780977006703663770605497391303315776870403606714458708419948412888766566001577745500154739206346535913768018954705717049189269494337746594944535233669897023226129875632806614100309605812721305709878677159277945279812062579045573948582182204517467781121020789476877464710216384143955234816622576917888374283962271007680377040121486182419024603239116771533771748156270754915277374157591820857214338805616766869217399598781417838442471184970993078804236119883062018925059852425678736888066631385298625515004054917111280019025243330066303580978866079419469228753406546530455342864159114418244716613957068379777510545343258215636826678806114406916264627285526534753552426870960473712930487863719938308292052657342837521217052402616837578330063284917605013084709961840533941217083621345401374231742260418092018472830481093011708332326145866114984509421724605744348925429473551967526849180926482347928979339005747813001985640365210776436135775194716330343847925185731026558760881532119874588140432328903654935031771006588218677406913055039507071859924336301489238793357689317710250650420404495412909938625531539750048205092206356302392076395811829245879883004193040102590393788302101327640333938065078201939014668761809136141641935651377668869618697136905608682748601457825583697631114564684194055547518779720499495846215347696074766972036202079902766788822400998693089929773385548239542658852323828505355854563371404785847660180011540075391705409079910679359333526917983702839545392211288530276596402385272067167509501319361152907028013898856055777415425435014003391250534829593426673462195407200652380909128800469334558708953680370571832482658065314728794128179972456118077775573145628202937478847382079909637402925786173583886743234515375441454095761837784793761910646591609789818534083283981072500069563308431792143655221391267703774642467179389238460827046032551322378514627206715654531267375635208368374236863408182359857881144894213105671889209590255388728451470022047875827905274946409289509399426004015288918529088132762921273638770835839658576284858386786251671154369061139465318737378138097080971717253736025573480118721330931983349375834001387628003999629699641246655203173378930557586302176167308901490925187624615050868154509723085156824637422582285191931515837148086280396433968136527600909220203996655269518255254296236610130328420937659669739196947630167837628811538405155257085458159537301112750669871445896720721171732912558183907079922558220302388685125815555548348185566266342418104994174271373043689493782940935865437708059702097071001750586072061856516158189455016525606285315631354796114443788969659308824207625384973826332815668312901035828310089239055355320166128401041743468806184891712370160349724239557585177325867353625556976547236662891965911070680587755550490195900871554127098189947787471653129375541525341274020416844332835386914530634990001793156401291155695946689708265156670022978098607691360873996359083508691368847749842448031977909191880926761600666423409238013135578744187604969343091358404094557409396015149331802195345632642447107954716164569745297091579281107978890357942157112637670022625077993377961201950747914481551233255049379554954571762222894990802113161447264818599235461439189408223132893040648962031167068639455151668868337025208672007824357236876906210251324444202045444762167416496450479915355582446599841076408083605032886200648560906590446087836410589451938018393888602039595189349473081775766174945748580633379637220774951370147129583986744037102339567665339908495206361862007592410466107817410488292813955490043760010596109106398783043500735506001307228493515439323801330350667334632516984173387075700481188140155707325810947780065083802389743875329162982488724202370515085068058106802879595742323923332937263194012899025247750035876230637378975605536297949667306173864213152387213253177038571480667353033043730325816448342896193607917082409062869041465094988598563209025384701707315275469901096038006974253342315190111581104543730239691127993655040474064639662173890117319500122169579156670603064974756812535593308598966856251588327533514213190895922758204851585441836100315677422041648047005239786821048902577324158066235133715309135297112595767784953500577956993076036203848130522473172180948705087811029321976763120821447235492990581419679939964203561288597552827427354108477930327203886444265594755385970604635972938037516847117212706515897124082739865723375491308295818582232309798130505392495933093992764085573516499069005437762854817885708600555244918438924668349805826603069788568637659523122989295667436487087609962119154361949685257905726771670924163194661940264755186829478482683339139367656840092817668602084286940054816105705680703640235694527420307881094295737992009352631952989455891415286150217220672429456363332346714035005117228457805604370575446133929167365641919287673411146544584155184802006148595405865367777742637359068948788945931855761739947008867504165812703942834294821273524107324013995373032163420437751337258742352438840601136385689320272980318147639175275956382760811938488828622853196100379617721755049024754888047333992271092449358290182463233683056260234594632305545094944362904630596528790061473002708825222181829389270280698310622048609976982066054145306716420211947825954172242656059868041358696603107928741225167678082664060668795066968933738788171834488297855084472108039366708226389769156730262073613483964452712860434869231015603114092946303901658000835504527530300195989852035337317815377536601286186689191059269926369705341715968825514275149386582934731977692850856507282574856526019655089887434743316379098746823382157103795774986451054373422378327191541350980962682899175661300963195371876204972795326873622881222495436248724083954195672904627688360200053721925720405516705150969951755875414416537201855108567623483344737475969797642862966486080074990492409256281489591498946388013157851517427120708358273326149801553343743091702711644766404743340022426818384139154192753088406456260165909548075320339430473438887666093014668985205357208555680262446236158253175792445537808796458471878382095140729453257038357398487290176370576153951732449669849140673273751978596412772302291311523206047172036420012652017831553530519838419366239539335289981693693099800279111130394052423942386218110857559908581565694031544385777680155828338154310964572600201702315514968569018407630707267306515459465798459996835347997652517684149683354316940317424612237391966959159749240289032589338167802077949857953074181874971281064138618043694214887366318472708188842564916625461573282805957820714716933602900879309958*w*y^2*z^2 + 72842584793100761745811255638327013140339522554252962480263663169964827799510459487151786860411028101676123350961531663204930508061359656325324772386876516017204241777592974678383149931600786063266178247263970507771934566854429956169801655175975396656640696581352797760201217742837823901611067856438835016229582491498709584208691732798905052795714428242150771591164412599267703932003277409218115226537772162094733147422235435705846510383279986160710639042332218063082115366853077406188029001645722179438731037191781916144789158364236000157252596216868941356846051482638448480232586425279251395391218384018637545933189172026328355512774573221281815853721752280735095435353488562787410390406754531465815217247080267488316109585971464959504740172478568526322662447898825783108046757820189998847893010246670376816980312194112982550237812317710452578225712718184826162922461787213077232595524748176096971045509806565930380532171890638719910323212831384819294113114142914604810336200829837769167466223147433375248928322543704204355887144546735312590774676686111773343797279939104663839953582591519300245978540797239799480724625587910825209405345630716116554120341162102439703093137468398166270890927087375414260048778478839269335431283800133163412979100977209266439343541905392253569979192247300272830687035004426057449236829973207657066050239986935217126349704794409882315029374719908366441360790360853995575047689533057275798002892868307592863134850887787669605510803792955469921696582747984583796168970172295645080965095843206363341188106168540583456010213995396978619343848123835769863914945909280520221483538643277495049018176269328902536261493061805082645631305967748549680958287274134964877180780707483619898402169607381503087335099531784189640196245907121728033692877357389621952383556707230711886574129591042037359382714970697146267345031319937547363344613711901441532015700939590646199067878554092340061224853816723610266720998174769924654178910221158453138266365251104721631614600917456422672599339752811820378839664499005215610023599732387752849937847583393774455260658997825357754825380165455423385175813598105906747090667275399838043140523692382497136189038819431743383758302274000582061948624199904376789995612969710406467996140809340675508777780550924258783222205133403966898558359430419396864287968054265426167367625306745373447856011552986636811816055649425518055184421816772018835556222135982522310765301216995568568567703634177715784500319195510409349178435614827434831071109013109696068267393869170573671384737254119834983454228140752315990428052038207079263728353610540750971770549418475930542620451442082515686825164911612163669669402627744121102555954290330865707040273025233850986622172415711911288274346814442485669745262358151496971796852706224910508266090993753319020941452480068878428160608080875262639292242111267380779633050939789713772364058974582871354696387795264568626706498160994883243804965041038303220300417869915310213875697620734552564666668920584428405514155682273190716108464901650196666459500319995283212989536394611120057906721970243184706753859192832016080456304272557366006233599069978398149871187976762520705414704378409817023614642627409888585281970361597180402452762985074607223209758125399003321658127274663638310309540140220382938255300773831346041997880082614182235340330038487968515965339644786785509814832094913688526039176366053270481857522130563056944005040192706599974081355526070753059565193521939186645918822096622137664555680670354915713177945688989473688783886057721344445416778420413827214590182096109260768409891304505606691998400136692475462347453248660865489183588804711174288351843485896631652902579517982339260842835904882441177396235518112771485620433969118101586922050656993054585330160186736298620068768725885036599720007102431686223881481506700201265379438159990268485664135907844893880519295891158902020785469969056786446879081043562430222728516279318433057443395507754650104667915241762459913823798334062649326716647218763391853895988781769215036180037905285244573438043108472265138223367550761443400911731182054318287446346241587417295274629005212499317535207268772527143548909399442240010055069279963492013794637174076798581925156343875554966804997904505899243830862693754311226859517623140414788044526658895530141338307376492043215872554693455183341656795080975121794932351238629647934299108325775809285186074644659859849706140087406414456921527200812021572449090259941383410657497310910376877323930634046636516771726308537166014510712995875160105193649232354718573765210720198329218140719262404631706476743425605075034807894329458423185408270902338089807268791143957201629037551696091126245716235138374899047418721290408518603591330323933687162936814867060395120848359999549767734554019695700170474817531448259907544022403955085920163600598028961436359192794859797124814745814305156347607860935944173376339418395024801143701376223248955086779986439545070564033212244888974486072840111607952465695218684238552377948737061162702998676422594138592450279582137488549977876407914979446148258078505739964243997937735210543275306578057243456401425716897444000218261780086729388660258436392543050918606469396622891185786838436186591906817750138214524084987125476957128802955347461326558017446127665223029488440361119071163641353390711560173045464949609984750719711699423335015097286580478394191771351285325314822533503054260268353894384885356910154960842084160405090325567208775009677808620418151798408811810697720632939249181545124629666148919978469685545881576645806530799446945795396765071493561051625473529746278433434267521070381059248681195913324420051037507908330706214004704579689120186146492207274575689261770442488902626666815154605493709380766416284237017657769818948480035209258003281247729931609371836099875243186449643198835799461036789398547261117849808475817463285484514430966905968835485543933081292177675555433957603299487329894234448287043026071493862290553086193380772237842961758964220096651720473294504709598018701944872237195765923156860692871687934048074011302491309628549380526741961457388861913328170608981107464536997025410594718546360794863060023972246816734663749614800889484041702450948272350646787487918200812216476587892628892576295441574104779365870693024922889628585054732951298168789983031104299413181343601905920499550802078459345400595912120763411962688762407950846974999576321634371069806307908167277843852329795864041050173564676990681813052634016297278304583299600503415581165761174174456002740635628465337012337193696317373183496241415306502430281221853128931095164333410667884560006551159371547946551011718436593188663759450453641138627777352155901754596363407149586368336564667394026391363787144310577167204634845546371744208574079087675828394219453073480785305747997908950493730530940708065705303711706425577653912313696487703915707554008428977478323332899343404517182598897589730862616331353811039078127605046320158780662009915445776580387052979366224686049180437122935612595348470886751169890776463188120689272384032638086824733790889033008489446083688318785995003108761912640436970559615065984712878420082732808085453938716150647482919533466609863014826988153886581784259447942763294842833750528167002228239551642026011412701450237822661975302247478548562046057555205676946335590120148687853625060691504780866366082912476109894980662808980643211756647286536877688821930499765014018812127823239307567671150192548669620223735337185214849643339525224021804585553884089742438522234421997519359103502359161697352465402798272287364636644044066937428338940502169474161136678749694859023501725866374312805575151724486622727571493274917658190541989396649662363948327158837905818896978869464597041511195725330909672137858668181476292513442460147278078028745540462696919213320041677715386573452893839165382662114017142533033501883937453236256573373760977229745094328189647096223554616980221889715252719518599479955138674413621677372204472146744774646815610268194358606086995328213735706059152521167322684456948836010022237959618889025986275303083895807711948401836344383951544728643706782904744749502152772361488673117364678963541393935346784589913612304614594717885880152832009741808585376018302078051785054975823868977137689236571595418181879295381006149774227810105449186198966768077752248448995447425028217851748510246695330019782978559110649511382595275458050059717770140606901903259500431622206897374895794944770713267969055824509179084246681898529655901209610145251695823191726042338784548928598924926107767239510194715223071573825105778407188180024338531488165064309538557892669715770256101323608787913357700369486815981424994961607629203345339884418278599551205000389139896839061428303904721346761508086857134439929302866725401862795753297230508190070455283818986834566731700236359372530916639481058663948287552388151708391914261208014848826740569666819571250514290983415800663582899644259187130037318701173062808715874726633658746960047979421228717646211740417889476438461472989858852638250003578346478196271053236186251280305732505368195661512566850520069456130609475952784223158584148378506067478196599776440328792983092369755643315728570144812268161707096710073609135828182625315402496033329986581443185027309779359665782922409613742903399292477875534342675082372680635942409330638295598704545997101983390996999851359837630872387020849596980174303048710403699834116441490173021812730254371334697851698381535701088831599665100412695940603903093163436791656420416622820352592866819323384572561794279190482471189446875740862022350179529811136149649654937736289503398166397357067727299750031004017689607365364868141363825547442493353578596978923487803901563525072256390641241055367306627092445811634641160342146532578298479318021259550058037459715417369230446780296845208600316878022503814055393640020747135860599696142871869936650756012195664143721661865*v*w^2*x + 2016686632136572633271765226447667979489680076383126485636859413273723562344097367325194754315694637837228904185599056033690158305370407132767263071457138383179484275302106989146000664591877329960533518601195556035359578593987891302875894766479368519576023796678721846165886560172730537667487413612730137118587130675052922421402163738882777195618478781837105300661006903561206468580993195858850385681730849008798942568766291605829127790737517927110454112257495649237504798926491898885199630595852297158542649830830485903452609581610992556273164828735369047400965407528596418633346152390942187193524662382593025632234527561503464943182787549620308947113829722579980486471051884744838932098038976049135338246561200895762259464134429438644459442947469318066218768518988415622524453146448525980078676646301352139373705239904125041273388825345848980657382611218442181696975418409505266630546562948754774167873267487306337692829902223916109031302617884836528113994964609939368359743561359915527303370871271511716252724889966924324721216479811466109330123267267433865175318107975341015397843527167534654008234391930541442016000804050961931780924958452471416652963744614413464987140357070991034601046681624161622930835201472074250666133667452403111094662145367711204962564109571417449216805953141243294711004787709156251255604141098258398793172876042094196994906532198095580750008358825890592779287784212671128981420405974941034444683092815384329868553036942379740462383775715449295188856862513681332914142113694832936224581494610522694517080193920312976447875813664289512596478365595034160386698628723402692973470833397693346912661550348998064936097040398743929215887626611654429444142175930619395993227213542029572915252100684170723307611185230880875071994595259769005214389229531904786161678691687733183721289656637178408097873601745280674594104469408596670291378583245310258032264823654429963623042127681751241720148401617649952746859124551739269613845953950233069987980058077916392614838501131303682568847275708005837665241401563133099129102648075207928065391021192494865932616559455406064236427462397991476470989496784833005766382887457937209585166439933762231006361011351459877888733630648694603141226321388821906290659558279073390771849211704365898052064254754598901322920749000874204635289626963816066671547387387174172680536801553475715236226487660025647545738393842506651746441595602385797024654721525430047593323690386053633590914831705680988427532446980252280458515266481195904309876104079724643953470944863688224745930577898971904848787049298474629852360242710046326885698817873041533826026919625795240103031485322878267520547425807583045560739216736459344331430663970631496560259089645896691969321969714369479289610393894254474397651443010147844193056820402388279742140805845406839025968389725020792165175056618537459038966864070698862900505462957813349762388321242139120381181635271170434169591658381797881321044823469580190409790923824397952284792987519227090265323205376838338612224803900926461550476302406616501857443958759221821219547659447734398029232506168708298966073008037039659193018782854536323543868091901101774178517193631328538149881256848113056905238673882316452296026364628663931595286701524660921659750553157166800398269194687574550725771500676788327014842581718348988178258124144064401172435084628454254862457182692529251650413950680782858856610175562064240980063208675843970666978392918767716723041081429054293665851749572491165537807814361013006585380268415057744696064643289297147880888001587018361941006371764640261041982386587152111160707511736966450272686939300969006924502986516600594669216165092969537527333025519314371527358751219433964711491951446443041083543851786546570343812936841929469394745134656184817929062346323141776765036714299819626136725260727526572123539933435387555298486886164742809359466342335680862790676943028301284266016991939387322118171360967925547114963810521528700540545024422514817545020225444535949595453091275353498949880912574838991664630919106970575483128161406709900399433656174511693190800570830587591738258202020630192103447013298052166028653806170022594684633265872764159756743531745435633833997563126317567355812520086654738588030755864358469112489519838083902573961070657473060923114292144580174638223149854563157152773578620132764503838527975759992051605673312451992942642013883497802618264420577465745078665283557418909934665914086223733595410219537959730413565359485026813683375895828026967952256891040033371838686576716622060765947126345732170610097107355773582239100206583435627603421676438160262912850982705093061484444988218380283054059590613238749079997460544396786857474538985382128478836105311383082608117811248896332490193930581168252391300138722853741594201430591418208880014958209480026804454408003183191242013673652961434255066925154259989251739157926922535861346204476760903009421673956404034996073230152917938410569647108392011222462832631472125594822176053989166166190799306431315718747067639910699834907180481266756993404284646273689888220496797703009960519119693705991825208563847210085904943735725607356248542028743538926391388430750580475221414231541643998475058828864086966693560240857234705838152261855670463727642142085371003813337517266023552367414718154797949765910743424478728751263244358001239000929899401493671941311611689508056717486033781007783896016570565430442765125763118047304735071391107057580363627081425798805941593038085079637762703839369571449454400175102798227968521174928206574849975300881047415818756208736587148778293061425179985387551791442500369766828058444633088444812184801640695039304071691741365965067740124917722459583057062003634208701849441496898580480179689489018940588285573784269758645303073460715723038831055428499351898182459367479826036276716104921164448087968606188827090033493729749994044584741835320876256847521693433389769334623693019056476503569798894652823486635463474445942415326056333811186291136464151480893874823307130127490772761225747217330804585829395860764387258664887341164452741234778410896495093402629755184620865802939526198129619861416165433086783284234058689695644013017656246945283277619910257372319722946331135367712375402009602090275160496837853200216815242201036854650855827312976152966393263275700759598433434570260313530961772650525927030101449239386061955121727644505278573375937179602014223908325932955080842934037335115046275061812926089810920372394888169191400567144684836657019262006000210352196593795733922189461917283867223233639182993198143869261573344709944322024611094160814561013327142803249997806936953007140208490800465272048796412876752925074958561380128965481059631597602568429809244467027465897899509163226001398140027012758313703699073586856424115060682032235368206592735500924743750741554206728304594422738729349398782193101242254436904971954539188216703878332734343055107857507780954600879141470934110781178185845601092069490967877717077210138896126879344145509316097870943545711282279678062553694531104790809413290432713417634753736299251873248788260241319005410323392926136469195992423277576322766165913810755605441882405645230649955829372044899524316353721513388681301167118603683583184195385049263659570611480663848421306487411838088862467434535123837651994208950490119285537646646577677776776834742358811193224709475521911737045064853238958139499418693259323310539989416200281777815531927911251401736216203533931126497659065984471449875516345383499357656230551411076125940767355703033705315755152886425539218644776508224748876542462455474335772754894077128476259884547380837685877293492543979522665545923991145087233631664524468764568291374724536093162893890568036754392474039865471563806721821054797463787019301277999337163777560672224302740661415681826385814775196251697541091234330826519509595446287243157019951043293979844916075887475446741333080232280085538495376108519904140293428528026161636110203930847553918275223600466439819838656460597767231112925307683949065682481852025014329078549973634188698979931346012709534011729149715660006999785693635554705858375065307460639114189819056482809676681673185638320576603203028111725963557120583500032597607651074087765728407565345978964417151206037677064170618613415781798101417201491867579795608395644429193909649998395766457724754232036467550630502709025276282541698207500569305104430039977766498984340695374073271068466478790818391147316008881328605791932517055640736679449639328710227863671192605387623930991779637720940551958125722070373364209304227160308276459246163997955248414168886462632623185731234462792765384224632340093279742776559180795875760733634091866739487402998828651120534152568304632814579224808653283504724827786839646537154675076930350599213297169340204781783320233520123933430923205359698759101286013085677049539737853446090813168944607775294644096609961312356944582105392962083213931701558700641602321367987526010988452210402908833382187902768235393962580742080560933927864608965583165489770070924653137773122289732394317463940771370116552578906610381712269833149956286975458360150380544095170451394615868058744261892054053918208280826933164625821463003045418257859157060706091483036517283220706226832737047886402078461343728524741246475448059388441541052241160717634138081125669875979721673133697523876998220473321607225101014846731142054249650558696799707152540415243955120735828790945472583601074324125245285234234433280936096514867642575064393818585192790035737522954982864448845208307423287405070687953639075319114472430957956816438154324372580832466763798219081218749272455567453128605404018148426233628860034605987893710013327895856397200657000710299482236500172673344951116529143904255306697224603610826973074330410214850127279632810648198176769768040159394717185882196431064805951747600119023182544234215467781086850408770809741103575262345648226620497149401546807898661002540079002754271038532012096*w^2*x^2 + 129434893858340800433999094580655532078794075638714459134192653420436826129324769546276021456668961511236490110978696391811065171889533085257646722839479351662969695701874425537378827360324929730466765787758542318294565061020195765659259727616932667449337336690032283940346253281423810236629723322701199294084179799605436308340229523959279166808461070666022842710008769227315823260360088063750493856809816291906045186908403333759347602252058902027940107499943853336579586538124077923702498048309139579756621748240408953802782019263999402227577224215286734852269434585494066748727218170546405438022920941120282148271843566748727518135800615599453144668362377008082734380917088058332600932315446819922074448629577963047544173381101421782372651918048968887847688034479976391225738571295265760224659961903652115662164862489152501917351663816339064051685742257493807911624169186215101294303687357090084537120432795729628876410923113554335548285419904563451564434979427219654693613270480723539518802922196921320404390779720773547257164306718502745009293829812941442159467337223065275328369919830518506722280669962071316946548986473701315144799160318049356036487091531365054767447124806442379262292942618653733513905787864692559714521673592594649096622167271100001583830005404180185782952731775038963955801411356612639553631443913941993963920314602530757050936138245170856298767140716435771801673880616793815232945690641027635834312177886299689098150991109468869645045490843429185750202350478191689822439421940214874099322782674391479034875165296051963275030926423988432961124100528340025882446048601858978716883852291457368139091014480978823637275952353028807810587852089217842363482336328037153346302188365123674742115040591868185377055666645073361679281719980902342284156614093524037874806883162200563999330588051863969191388352478881677453323682137228536876049954450445792334624252534091964250920382421845645927359734651391588557139323056686252889749963259938776236108012686966629893493828573652085999864175575778317058351992023519667753137764985703365202979988095322124177541295772848820087493995068623363300789103161692180895803863399465434337683005812252412685559579051998762894067666135341141757996634245429628353977213636302029871367011108339216635573698648041552449393837366663508812409578271052232832319637181037992631493425664096574300341614371180472341106039229222356652080398129581456701421942854799192502198622790366298369715372989527374941046035229285414897514186522856042248855957688400406394293216624336319289754697106006587679212984072798731283215203420955603743945775045635410532708505634087897718025973285997890045332408770067420654097275654476283054740405465274149876969287537513007862177562148178153263244299604831172096535347033496581420893809949503381611473603068035528621706234888925966951419683975055541000644836616733760849497026550872586149062092657938992112028481969258719853994676634206278214053743095536205736313856239826188155566404296249320084186781331806720944914838842628618040143739144689963783427254149557760457466744768683945927524565653869876801611313995907657136468649703039403700553965552947487208929543888125191811437337549461708663343876304025915433196620254113897603785145518452967499817647889009116699597807220572278035095764302038601968296741981212090121500520814901228555430569602101521686703940043786452948469706299150973393419784584983336712701575914761377387932897804530799527774863532422824952359295391638887792805250308537409123213059133490367978668209857841558503770406692160787076776329686010998276648340924982667006364283326783761528306081947519657705871475332936463448570448255227317820050622521927291753748856735198339617800204774411905522482981809051782789701530569582105421592045570469959650047006384553477010147266818627435839100493353939734026310481091937299397129667206823803386401792973596443456918232598055071842382264732160843395967023184971151691003735972218218681884642054195260626845297145448765337414771995512825325463349882427641254695177462007554441669495153590915953881513840384216494347439920470172471415621882559664136203519368791714410286455303345466540048464770952601604412689229447036695616979797796334460364771977946331108907118772798101091478753596027878431333561969276362578478169027263932818207790271549220398802330286811808672184531239048200825059351249080270392441145383223824735810936583360135024098442813211137457755614436811085465848799871252338621272189786556866894679225526881452430419421959487440924805329808972163669861488057318109798461603598265883703329390939847223861750740600557352172295527288997377511791998262514328744490075329104276895092566459305071345002204458513059939433360153415242648013376369660407754378582888442968183680340689181759290044943983763761425560316610739230778498772949732173173110615927394876298361956153234126113529445894477463064449618106961099275051618425252637134480268573962122405129005398504335267809556341877743500529126005338383974650522948118657670750907273138179977079732463742366168561832055352543054127115744217533188451631074376561122801250544200502509648352983658867344807037497678141187749729403105846345757698800834129903355523827881428965411015593495913398800409482402847499775933571797260767957511718248994322567125951361753004694949184310969123348959948975918878081576488292236922250251943206391768491513660989844978604053701351490202043789048354579492263428013812793343770368007672098073919390182908516774801268665425348561451374637278546711806571974458913763315882791547641380908105312063995456618311813553803918065297532913744616310281418507105508278408009120992718791929048633813255206352112501986272013812572637342812508002723219875094821156232148544467674387065858832932762047154777052062628909353517144835208526338103859537175903658637815372762407723934359853638207812403289000977711249942008185967133288660640278250413313302975832590313643028691883281253188341556446131442014353939422900301659046834364777085746623580865235495495344877799030606171068025201017784702505155807464259565984972526409690138085894380802197786417022569101007200171872525228305397956749509556351227430860532910768983918661847356914376940839798872829140502009348136229318774429651398802497417210085842926285156331950174009713829443888793407953268646050047610446436325278616891870219924801275449404443924521308059684905287365825164928818758792731125918105785857131593182464361918710742578842851922702709974130214523151930165401325927325019645765582939821908944244491111673284207347200517047108484723872845845111670859288465538057356128622295332619580234862640760903065121773201879430687749978983483060499081296525959133901353269253321020505137673932867355834755948451042497144093752767612227865334853568788041523687108255462389017135799883861826079077318497965789740540327048046099392543778050515675035115848803796033634879574758971310995959280940014319084206674460950734555376894661585217964123377953034270691255357353264691006102744498681542363485248168878509003152287142047674901980886955072153118481393190443502152009806728681451359964526306901310899097670669659773477105858989215675575021644710023998647692199961795233784028172601721954833088970922275920091142936065520472326664968033747507383891815735507933023537172478866326060947059337645931733816268358541561761876606590678103106067218983630234988882194408808479922901962078023368697996346289205677082900690557821102292350057386093131734663485085274807294917930826813250828834467661959817945348890764451466564520760791566030085234348586077344382390458174386639451601759584323293252777056203923734744284752002995187637643939712688614733375048772462982133344383616979558370597976690845561322752768384285717324533065261817165301344016228341446325321085510027293649522389639584817698974259310929257531159503693552787078738147764094644160954342925019529387484171279126535088717440642048288241221920460278793667049840146728752853691872968581015314470717611880605531202521894711172122833332549375294209833479333131012203382715779355518286455503598084848768209492541557416857728714379164560006798964087983678109271143230314160685020973977119390361599372089641609423829527892470554105757682419478833760453385874473026238167588353062334448267399895278828188683625841607041460869164766758508546094517722001591642724327468351397826363296431032000384231429789928353925452574016409153511113313656017984742428764705373380185265879739842565713341970931661758327834962458123617127332010236693860267125481382482779789700946739582025370571224370611604296497704588363029757771928117936272584102727374316291489873419432989235878783849008737961086873032846566133277677322562033143735052900328411548538823347867983614924049746751256137901502879687394137826439121625702233037581905523495686086017941062531186533281656323675303495916266604129319637968541265887041499164550775344213556213785966919394438935745334122230040590920806211787303792872848338921953249627893921106222006308976683815888107859534223073725854826130782394071099485139945798307526430747560717330542079163182479087325619303490455492443930255559953419599797470655842903281872743093502416223280971686521173557764792562210844926770458305158031189262163068304866395582917031473859443703132702697256348394165320690466876536881692024438736679660435688581681032498789168327421379024749631726473990554183818805696035307504260124335383589561706977080882816683276537647416003867328947245962467626710364389435070949486877133354565428716309028419072434993793002980233791903464335659541000966692138210111975496860977786690847648663597552077558478371532233086230989818768242669913451402082524434346718042778505559743348600081317880446627050423661803344735887093345079295916205235647381126323893998166783563427941556042845284826041468978846666327107616209186741416432821920669866266565190242123142981637157226288565068080534891051889072393727191405443538841235469705*v^2*x*z + 123677190871845114226425000611624615725860499008840209998986478974367676557781618165950609410756104719282144368942429566348279855162984407902325483686091733117866327353640798709321797676180307198941403503239589627625268083151361178364511166992434214281116458248542995553849453122340193854097298151472900541726831505524578453629968759107499610961146561323050833632210317550159238219485213508107577899389525516340825189703345989921800850622131916074210327767119405987472598077936766445960131408435670633738036516346313204416765618013944206345561953231338168102098088286229434570362299488694036917969793704825333924947148559332668154554441747244266103733158201168968646642753204095661384541303075336631086378984535006279833752219548307858775585181855019065844320167499893593846110079711116970202007962148892596499807608871769194503879417951365898239903233856841778601236379012844466426565780852021427810928395205054926873105939932606882133135961752396981185057484450556844048393868146217510194655262791507906681895599982985500000776664132440657879307799746791884952409463201295231477152173621322971861428551401208508595531959588047335534395685733468398584649400960683052443340257524251478639285325864718406013440547576922407098755224771047775337837944706028219338249482743062501220583076011048596441775267816937379088481660993111286860450538277311242546666676448202918488861468971111378108645187845593784264657632827597274019714856642576913862399337401778794286179402597704324010343884389614204812817021588251564749979980665265741902814794734706469125515111620136643735297057991732441391497106073734624176098939124234976324987975593431170381320658219046135226676692457105165771191760230933064718706420401186618815202863399050035123829225610267789932891588611834289537713867193095205677866930724975359429137526748786248920625549669671787536231409020110458372091328592126311033815440618512337796620695573568933217437753132889868575080008315706740943623126744919227957356206216435870178750490293339001485628342354340688620783190988796953421350799415616868448191851147510954991600841073857563140647384503875151847804181969925232239724378670389571662007493600935329592398342212499793359645940703188309206180351611089148147038724733951433488579712985768324230371623285276756516029689444503700627624078956319102149284175646789497671289207983868226533697220029613037493829793765499892753220943301336402273554647484917517015602095485666652670060758166618704359429573555216101726815692695761630554094943983670145302652143185231082077985274782580743288187394771475701090184336937754748097462298959088873154993523943203060277720143778052893356386146751926248299208297929909334954246513187022703125238059710552140465680728503953373409516013647730123857747697094524960172100826365709292151626818075135187104697369638393298819473534460336015523642653082717595145524541694517131570034958289806572477336642803510554874760601840149827493082449696131655448454772546539292353208748997453201065010313480243761518378702931888256007784275618470575421395048459765746017164769487959609085255231435690585935947824318285753551818152349481823145968243439866001840626674417895733490597642252487720615833049157381199038813608163396957606826903155774019399205251756006285859823819291713221235010337298903015451984300182901221132982359201479481205679214396993704902139154168581129900927340747805143604997543167737286188521197444621936073064698894751581761720060962576174319044544144163904527824862202697834466761964240888208931226024831670605255816149321018785918366755860643525084148683221450574198507874321393074718624567656566826526719027247710177077698146482284468499511762093543649833372190811141818442880563513145608632849631805287051960758664580681286168556133464028454020127642784219219145452188350382916047065757436955036982035271886826719362879692984234271223534834891266034154484324732629320106265594650712014553415434678117739967279324432320989159260657400499050143205406881341719459631326554524445716475447977535843711664850018427598949531480005229520976014045370540845729727912593378728058008824881414865880071198375975549935122277905615657835630847094351352966832040113121226011108037292208247865214027414605975613945590949148997441888177314843867263447634529532403844903697550167981814796848107415946754893621318720036073290783459186305841317920154908648556534453676936719020103177447045655759371663833702569776611534643566637587741902458518315559571701077126668748452175514648528745971736140221771818527405838829577469390761046066882216746888380950859027019816745374015762833657708101052672721488127418194780883579907735245994555821387910229594104825539709872578135613998646166270886345245065069618441882236491179486489581501950555816124398330533628361666600794579743220550253481597432870899933283961317639992034283225061856080832169271937084152333966169336508981871736163327479190778158002665838321826066215325248959994739607021087225691377120636708093186024317124320436841219323145508423748396529427580744907785228323954112387173648643432006270065716487283458141960977332721183562488040027728131556827589206840757836528939103526742094955924489237895909395296387879172912188730436039269766410727678274185690789789040990114595217731586664777561714436138761653846153798808732751824479149424427534612987592863257969743578612420421050032094775605458520194204552341585858691905554585550945489795796476630843473562148564432455377472212728904780633480535565016035802607425989526222904303011004389893477720339347661708974617134642539755657140852133987600139971965000237600523498808709316763682696689084400274974788775106034771642427839305522907113769242322561252181121964035763116912315100814216454495030438576428566978784830503306650713944618924765583652159231867370391126844146811709607603488809869412699343352697480337338703490188901886070305165554996908678733560654281538937141541739550130254957048837705239338232508414717012732867250048211811384575832527985477776188479094169920864550909980623656043564967193471415109000715165851078972772027621548545791250344816505596762734890864437976716448618688534938929881311441735443120670252699088743942367563357450798130946758972019215363317212350088922246433528677000489519546689023920819076045760850821840083103074263241181898626663575514062510186454908053265948671248943507996521221204248213175822487369631856072573723187134023274452009104782417126400477062054504105827185327172880158953288182788646458936136711984902555282638863754432294602872917700205687365472014680265237756888156981707795963540434145607151382321436496290987408637199916561490219823878005866199299179240334887715148635692824201492239729660961682406681999780752912385286211093086151703098736890880686512536408849372274829341929047035215343703464306540933347410393481590113855865496405262381685354047222143139796469756758589799814326169464437989905834780677268863727946179483601243900902051017835841271550776133021904394448215222266184565619686996724648980530187595356485294723624308364579166203378304874450770029577886525443031590236570160861330977484753700023598403291931918215436856521052594157908737591083614084634188202308059950693106239113265952949289023960531455295796208920752877239182176233873428135177573152013682855163609132261901837853640773472989136774015551420324886671871818187888251221894387398541781900768425560410848961549510994205293651846384498306015598946557042138958725943827731815260140644337331599174631121070595029314296896161346775624621538165811786396292350165006716482512080510251302173542009108148571239849331099537847774367375207321912902240402986941102086840682605416105274494994219841503152456847833982731841946022733007339322133570614684311617023508636591756489993546363958166555141673140443865943041384596892931766770176052777846248473154586354682165943764275900162189568077422858326028433685542761047962389939366451631910929147049867065827967142135147131225617281345670860514361037914351508206661008631494247830906729724871920111319513973646302758166804079455636584130683385164791824178923698946788603234944446261651556984032793838621161322646388885330876353523197382799124587518642663902848799851362543587669886934099654299057535873760729930536612406832892220696332255885956522338784058182352665070765969445633702113814676939465823143757053509542814532453599321179822327960657954410645098643746143907120809116284785657362640318817240000007286164455962217950675290772178535096571681927528083212183634911859944910012228664000016534604278959008910747522006846543689480111951219300600790745983696366601633988458737976397986655272393080862273465016081745080892635182346414571818739206276274366541162320763167539370667405283939329692944379776494987959423776134863760115288512972939259971613316720011037341647308454438721347727748146815115577341373782002662973601531044328362785092166625129071904114219863113439248263619950156228114920710198757938096103464025998252182675816230554632041736966782749934740339775819536188227818555912161912575590090864714782004871943430804459663888332552444159363287722874161055720073680510349730085323447018636333248531385419338022966711433329841760628251335273398291418250904924390269820611750307420971641358521089033151685806601903150943327940619641860716822350854718215583667738201362197952090129433495041892073774495153254881293789081662482338986183259582041293218268612482685077929136718631431579824544362093735376308316440868421961100590221410259177942419175549334499147477574384115907277898304862415698119842913856273827021564810253459324241656784249051628202002211693895267641468607188636605854849200701434396978433338909296810171629939681313234192319969134188277493111915429103513980156724708668484044961983044181534781712697554440811506013347053414299201924885366159135733491641110894625978044118800779050772705634046865343241024047205070174347585388482848542269642928281251562584014210417009688512507*v*w*y*z + 98679130233289480445554849085216019611129533246937743317870497234540804425003024770995927584629620606415523324039213896791119532941065482081922332483189807266893787600340880535110250552506676177106498243073276814859846766457327037391440765401011506174614162155591901575480556234570753671502904749602894031552754352386201464284081270714765753728554698771416530492404964040648706589885954984739354927069823504288424371002395954808989946110594744586493782313709060821480582089387205546296591990717247319286274741275255184707409228074162904779565615991342352109257357112877367712408215362773754849431590817709124828299165993227352252398533921256927637810994692852509886471646617789111625546023489944465028779747581440139053880748196294953121756895098521261245240429651058135457396167203840267914846081351931821338035929563269314759416434700102764459691210270368457948722496289341670530155810109330130412424209826109162533127225508570580119768130491397308918455853001105913352696547001022992583145881509894170402945442845000076201138568328394697173335827232496631855609455204846678724293394057919207960338307479414338611907139412893418758718208825221291552202626369689983027174486993887901294851542169916944507880521174041076859807109228449722908148850664915332308332305720859566819894542441962039429755638706462343078981762920335812330524774789545772711586823025414702221893547925759831186513350469865919885294955450700670298895533245992960548564215005608065278163436005980301759138737467684806813331224436053527492013908660046504775662962588560371759869764365434007326438003789887704029658697565568514640674893920305434321052770135218218212394943887016597730406943522030529204153448638164144243127588477106072871129279000269983109590715901798019212600237017616100691379393955658497851323730795332931654927163466621069996592830998325806253159036027973124680727799832560381254528774941968427982801910509403606873765355285275884692422253975481276768699465794583513900866036212453403897017973844216585150253855574437048647586108858186853878236327490072094127281175389431411472081910852405039411606987385703796416034256148913006630848096035028208255441566395619549396582811975052648167045251794858841013171271168354724983466542387338617771214802236429841611178458753667873194241018011300910951141964285183258530019468857151537080942521340883661912321123198863153394945072259295786246200123505122995028658571277186557003175953725945705376689224436167587522232215204884788057586859903414112685892777710504172985430788582914556663073146130303889389924535901773562548992999481337069889243690544070179613856781133928745752885026999134069508686495016122313508667860637927557329496114749459126001706808568950565069735216421585207283057404136728098589904040273375177931262919056618966183122340119609658001855397335326718747138701228120383546775319088762718593236717413266866820388611308009533338821825480864264298583397858822487234430308709677635772372418610612669637089352993438082579284800927169040268339005701878137244639678712214172260881726365595355818514672123369010681137890443014140943778167354242180990880450873762625623366506005095505149772484862824460002921589625051909832557654414076107033751548151823939155756373587871970689552328261371760430350199351859766971725310315461761279753423370052625989049909193622866946600556877724266481431910200367229398569418162513513867749852088050301195994758919807350584399219021709452510097014175008295686754785086735963691968631681453505472249721316004358316014111790711646635956733300350133306034210157812185850480427190522403979999532752785880184662951314867580882683776631596028375438215535120579964244174614399147091104280670432338371167894095963159926460645483234704997801169340347769951045023493856086534934545784192970343954179931527573449157615933995406843997039042448731751139464030759971725103021852557224788088816558920946026864239309875091926524053887169803061334979040216698922496763228962076996425013326110306854907591226978562535764169196687340194212702315211159296691282339960491143297466311841165505813252100066220728721760161044370778136198166927614822407067071776466210346626513397388893184244481026459841024361203185760324575297056239286339801189508426319342447134842573590805143268258255024184763847962592366964261165073738937872481555482770097139507626588969243355286355510414135630334030177657909322000191834859453984373550117891146048085293687441055098958420348933840017811969564913081166797745005160264865903021674310653840389251917131027565109376643146437015955156206841282282546812665302742800250022177491852036357294963392219487844371776431483581996641955264340169100838469671172390109406098595529077807425705649560590728787691209396967748138368357998261828383271841991725771491813971989984292765379078518697202033655303486875715425962622203955938024969335642950831345389018930274873333580966894838812948375864836577233602211419676104353002327485248324904735978421881111058827370946624812444923553505813632900551677269511644976041420018957748277686904460987944055132551013976284660574739971045477549962771233598040423152674113494194397682884477796233369856960266900848067097435210092215969837259800129637477775360595222346548341439967943367262027827800591200519171451231016978126869171193841745395963897645243706437296196061354618109950935457142180114165036244680403477122440666511370417800709230239834615404283452524753124398648458558596626317765359068734061555611176885939281488635598910361568693737730585661843462284612812192798523625855663044975118281765036471693745583206510092692575303470913620861268946148836887112836298941694470922002036759774830599944412202044022078241980831329812332862239704270760360463805420196314156065635267731137679464127704558479355870347416779481717541411852819431909018838983809108904975840845914936650153408773068454754651936736739784169005293504877674159037708917360330932703888928086252431248876960732699992106113826978663604496902831166357194467181419930971363529794556145317170745262031203148283554440008975574508450475128166516738775368619134956432268541596382474979213828993407068793904969826580981259229306882443047611393336856636240838174116329879483063689088083509689136272312896306718388408710661955199004520065787616903847729294674522447358039324252227061471893729669327118119099129211039975977592460120348393711218517343428622859610177459286872143569780340606938886071963537366033104025227283249567956415587709736170356007168290934087060817096442117730064915087261695487868852367224095093911446535789175676082942856850719153010364380589211736990674944613580117425228534428183899264143560121774089798282087431537237947571065352385532971807378190341642093810794110371440158531603631682309137333957542383707965773995237903216281217838070381404793865284082196602884336061116414859761602480461567486533975008416087195390902516267787078389819364283126070238865872665740295304082308090489341709863661208278020084378348469228786021650990813920843138317464691743141725072506975605252907233721243094181091428155844227300926053359033989507097160657147632950553282453005528888485038963372580372399279897332528691766839817042190713947435558886162855048059395053641213298934993655057584489502823031847116865516226095598507587135575842206732766915243248230316173408558782023841698667682492770499847061532691422838836063750743067584079429380841826007053812854585729360609065827884063429702542393633192477568271550602862387936619457330293411121588368281231551096775792583176880580190712028477553666843607567644418527470866370523365777515645560813853583193928360515958540003877638474962897424491680015396685624367356133910621069644994055128231292864423211322750796550695049418679711312729783915109055102857256089401608297685745659326606871922036240711061590295225089284730114411009218157921740121222186824844270265562704609408099182490937938553384873613709253563510779045870208398798048005287490881069235431523351471637245921854449114158926230563014966954374561653321047763428641841296966305944169815375985897727547362151482189006780866250125492579611892432496020881928377922468278283924133271588775346705338976412197836938560053881086925884384552328264421342289756661754633753764553261123752137618692628735009295165265517703829098599311346308140606667507643472249492433015858384241350360939343057243071626733735000673210038360556050830996328205223382448328929413669163665882140357945049395647672396242429370034015074198303480082700223145063101221123741783394635004706067099541586772009334097413615594593263521693100898875817497310599437797628844563362738008889724809679552991823060466847224956181460042452140418124141305290476074628701012420055912691318516355368594595408953780127849121588671921771345889807783602664509249785142284904014960179183569780883456695919141980132809021972523901259610266008365955998640072379144948848125938020001952015185915129926096526221325077427279199770678647628189256339642925929021298647417032625966238340793604833098104368125028318863593205204441922828726411779815782930858152665702139690595013335403414592225677494305231567646786199870798702845006716563740845741510510955894861747821934016984855698650938405642605127189466176291658038270608313406014016312398223986125631782629317347928726107902374229320161607697040559951692588073114202643346113648132030822779365345277456035738684929297189907380906434019934361978725004782814569591553216747395333481260439540053678994237643569872659646064549627001989564765027466069538308594499313976637536842433934871300646802866548715747733072767739541245223522931101175812091792071778215599683114126216369073679384195228986024531796030730551921909758595621333898459361914221137040563872353669465067773848148571642123891317995536974211705162142857882963492728173515113703089663434214366828641616530572800320966363176773048856775734573598153012529917435406512455633954358459887713107435317348433430956*v*x*y*z + 148449088858547266812014665365830093896443410642898122275075503807292440459522550757882130746873856989613681714735668106533496253433317104572289545837003187183743754762951635966685024946426252701293311914912594043531891409323726482701568161140526785439124678757715863938238900504431780495942579981155045498360349039337108480492386350176710488788055511081523623657511450395780451455875446071107832004319310222439198651926784138766849562589421616869816892588232791467180413708922529307617020541285072332225759681352707640910263599370060403301568470965119417662353215857655799340726054415881781044365471471381710813405398916949818795787274210757113547677958927947539387787074632625739555299839681117845664947045155831562806120346211493486231435417528568841191727370954232881562950833593264339491192271421052883211223361741366958610235673144564012745267673128392292031640862287715187731362230754959949535014931262870066171159384777523289165126794032428215641866567072775778900259609938140032541321695429204967705409808770629443188865320403928671894597070683949425591963982910881386884417012551518140043139299422324761798216889896229409113043765316814378404305912720001072347953871441080002587211036772001015766001185635530826448031076806765511436612850507846131275437680446752319053988041256845054169610985094174231045394801660049100950819127309989271797875362574090498604472420356489367304061898961843882831402086866516442607573089877746145143366802634013624537127191409009956034297911953697112645400569572024314820273226218504371123884078701603883373737454477451541481917052088159182723311530240212882232387336206971322706262218894167611157385162376221387081178495919076234175455536598959909234181421625320525639541815021005097750563181357266826502945193378835162526475631763743071630248717053743634932417925463814503698473768610138677206369375398375364864507351857255361400741640988875988204346874386985837853968106863455085139030048896831303103198733800261468014821400348851367715446795529486357981278199713913050478038418017021281209960956676015878150537179639823436032955536665345043607323055128279943834245333732612646250236780183511198113607524396126835257701653195399374462536071552363146965790280886940462275834767429280641521202197628321025324905868953155411426482342742745443505436441446309113397729939064804311126079799856203496894960916803524996160879366092816174522832492022285909251973893401290666827140963466332416624830564146503928877211998826253719138910599314883935849730150258026955173893886793714352721943681329084001215957754754177542027676101442068784422279062287695985757143160450372446498571389357890855645406994263420652544808132193959946445047011525574309462393823357867494753652557557429837093354387191089474525982194887656892321170579174279990197423302286686287587260851540401743816855432281747523309695588947203090515852964587926183495830619805784787379744490289753147509463296735310209901875141711522837722267876423815601318945424105722044412512109683294173519502908965187432349642555622561958365566048100123086176458688619742110933578960270303231007327620465458088812397244734973290409172732707087804882469436464511333047231593341014064201354623741082180399200709539799639013407762061972238485726985890039763093099944954113580931385996900028456278678808400306095311112793408331051759497349405355405105845192281893252651974036915078480474276328351324111841736616189907948109624135417524190076789275790409737488246882262945400972671385455176104516228642048068418470196632307067487452073183331531653356684514644723125541233264325264527780026438366229070080356745030480750105640630658835150010602571804697332489886235433522779017304061561774913976660504750941785431634787454328365351914075467226923175217590160439091015128920721294700276186445551031644870439869556742461305933279313745967813951240656883662354592863125646887828758184058807316348449807563907722333273293236487008117874174273256119924288292608980626059441529934716546961587225429286211590551279198630652144626608783887243593624949073741633254913139576041539827828230652750888147395752584524328537524316425569905747859577923991606819723139455297189038734995114751914566200584850145205340792843786095738500131215261446939145928795327902368170595756820019421078489563577929840275592253927650410780184667229321935448410165553452179080132410162084786466923853241618063965584433288597840816423064087766415836420340413642144678727730264649992636831664889779260964656230589293668066341774618223311153314734372338046580019257957713120610604456401260088818377088440560349891911578298628414869585134890131078736862510179590043933391286332572541146329655962676169206301787266340956217561774457791758766507395418676038223911011801235784957237002994134523679367272914782033638486456800612219091384888541121795798086808846426487944037180294905297049365652206742463558856693653527643217807416061517710071724427473505123406587366498469758648434754170720592975617958396059540774371961392494720328411891761841417313889147321050725312314384319810466564635540019421774831894247269625651509590052582766034344248038356589119441019944947839270422300365862573385950378855267434976436866152381252427320604701964899478834798888019756930793434405727127057049742753934572465579353360583661029460068837776892424919819485506377610606330950017678413848584580991027064107947357175867360819137600475817561708210167896903570378372646588384148650543870687877477352791107593211596113763645340629410767613332848451440975325661837829943669663989278913274896877550977995922317714517198105417679091221170351063868500187553154876272225934861492979008138102917457407470495108222394811800759926020833142242116481100449597462098803773384930676238112199374849369221660044051470496125416684313849396845658709082909426000203287114565135265303658106879096255513111582764391910346481318317132939621952113597415094033032702235510592903183015324732325814035037974164553408380284327850774239387420484316998066262835511406740483289098289890723348775230190461629272774408201918980596828350184397328870902339071290672111959080588947836479081130903091649417733250425194289457026280382178681351644993683160300808337466709594717258524813808385008718149098444855249542633534708218314272149646111405435221577410030207523475603306825682947383466345390580245981100080388939301867450089905239395629857613130051878018184293818437080760417439191392812599000014802249709710894072272972608510964220355084429173118609006401712653314822912909789830344120950774762520471473790962835068050821194051033873681350602324585157287850588155981136909252147722481981966274829119901363745608452204051184362198033564364070867051128126217139384177843664834530464505502639496627457943403185877371223014883784797534383585261792643268813042438043575695222811652193975937787358970520694619079452595338318271509496727899926198647640641943596961326734981234543571562861732884251535037215155552256126009788000349965183860759136405501396352878610420740198673991507099478584312784434202157297937045572771120137241130155268101469802131383409090863202392346636687898775306237122745205912690914050911786891679410968962825364814642485688021092887174012320922483159745702352953086127982185470232929837016029669396803531257720540905828395222364458163701326725280136699491002659331946100067612790811507698940485817091170926803783478518600885385121495659443593517166652129017805776378924073495941949086341544971166427236305871953242240694821621298751129344404075799757437524556707024248535845147500160559469325873186472343757175331925115036471313888429542287535756581667843428258149072171063753779033166221566269984792517859106866372799888449435029741584944859007515076288045615557169015437961424406047131775320244638239119469714750549130886626310146881430300194275904348281195393627126180253092807193282994302842921210075792293444456629290179923435238480681966115295640561086113571225943456259024245462256664803017428829639050064129865954495957983213779284839122769529981027759599126856102092024246705492770431424186362759398166909242206291185938621905666479826816486347196276536948828236676947370664493592825184238486339097147259952161770031008438668856175192056339404285649574773687706150099908521529636151386522365925060763722743324653639751606083168231463928028054630949339129464195250440847252497906251983194439518337524183215407129219849723534228258822280172233195313290478165608724773643137063841947552644786514180592092497139400059470881809019713506270335222706483935851504560417705506309846288043361055469323275199476322770800886713754932247160415999698847396145124802557938123359523297850042557549314101071026968105745201179876882797800332931005488680930672757173447152923732469853218041366283563975769067440913152728269154206386083419872361881330048076618371622908149031334280586456153415886563430360062262402383820734079214735167034119006126397469443875511231312767300490248485554314602427643981123704080205943126210464307952484744737401195713578897959212087718903005444331108696103566757986160876743214187076118339180572485268436946460956150831016707509968013192033116689690459963540496586236258022582035971253962134697624272328106321620560628353358358658051361705924446108490235844014314398627101920067583288123435851889630726038108563498692111465790525184803023151338236873951649913641767204394878029850078862079628383818149857391573389178458193993064379576478753422207773180350196848469082775360486118186054126933802905331642305833187617916481606920199470343907086822014867442818659517279417746365501927598068825008458733013099110104033077282224224153912183709006466262747699229307329112957663827160372116174910792060738391414459522637300895229348985310404002233327263402296488005484006889078048319723087285685673000755708859645148819251997207049815924606655247268742357394882784255226224973798512825777045077904961702357319460341064637021034049550788903118*w*x*z + 36812147571736256822925351077089155726834599238781114532516981424523059839903032253280924589719366728389957915765644039165421993688660953571966464038159820038664882673784625913772653425554193114842543613094762165313539623695595230573734824438595846291802558123445739897957546151103034704525559166971664523077725108847051683151991499170078455113483149055124115388026039232353769874768334959411823440265483280397029004300180834705397133870136089589186758966848403184628919832746171405717784212293103380321141804994163785292215797514190712294137755172111822544048760264670561358415226686247745614383757387776940931495520011477003318457640538562732226632709337428007310378921002217325901729531232409383584241213047746441025925167856145754601815846429465706526884213246595033613767518094774190977083060809617862318424175282346466883683679091598476860111563050804154421889170981305180973632223698655478345333929049178091662792792822886303448646771753287112326138739448516023772045917433026228410645402051990308336959250759530270037972533123660055486317129388807563105279081775119235394704748335926346697475670492778345589226170713515150013133051488355353114367782254217226487068844852739380208520231547643907243085096253232445723175547911380799720997810797362696515100556045351763013974321880268892925727752485999823466836536888793830878048746748178405769608329635958760179478891241272482167794947600873175339370094225714889290192917454855106289871598737235962134169606614266911798310577096675583128994839366234361633789564841703922253175189247659274200399441953483757259100622323124378695920837267533285078325073004344874187957168020846085515362138567087560338855724376159413371830531478168102545513710555722160895921773584593827393132252503024963759343044747984047610521363134173212815887645725817522197758850783951841231238597259585732040837954392971120410281882045383886538769945967661609133865152257418332672350906795669449403474603056664407332508358660918754981774165527071754864032487692573716726901203204655614425857476096784767814858948867907600212345239033826144441129623355046348450510163748673914554265578224014098572304516216904750582735636319176692120650619025027853530955915229753417182167493523064223526113799285984289997649548991884285604048027454666111905428628596895049435507310032650565542119111597210546476250710410523151181944109886836372947388430622592141958199670301070593483545856201949790146796863672085767267417175260524616728160199266488837228233987089960473508988593930274581263236490807250157793253548687128383910836651300974212968105275473419240662882812451164730407749110633673181097687927732750209763827354249195122134066458656924549541684101508911004282380485872107899804382132243053209538104572335150610449154286218624244486828327495898018227503218243586785980015604267264037792136612435685779623329055210465280604222455031712501169918926230394157828329103468842140516733148317015127705423225288747211236897576377997337471421553700829372181418717393025017620612891729578535986642889663993217442833221039669668244510523869588516516847752808674653884669913023155175284786487069267474416708379546848869195560994252065313368480045805001097372146002452780568936667412874822389787947423900689030635165980806398375282886316051667215413894557923577452188774090992918315277141838767507115560711788780199044226301989826869145206910633050760891449475532065604004266444780561764825100479889605164397865571907259112470013259242349509850860863262213223877103761439523292638342718933950285697427511340304402310947909321015910066189473029240129795135658746798641869383890980846863759787957481156720341638064779149925802823931452270295963665190936963635706630130676373176905997131860954658447470595431092185961279459416438809349407221973720204805633584473190887676052637277783944124952202775114953548385158870707003665365802944619764892920637938636835729412297774038011948385411242082396038686939645250577128978267786127829019337551605627970779309096948542843018473166447162032648799750714118416213206960009226536259216651343479416844037481737927998108074926482526650867448478563425762822149454282740167911669687219849896264619197525359698857496602384311215082332140160916321607430830266652020378498036076924752272252385725539199004892771403137007369966007210514858580151506708391951501975228204393375662178375716302111298385723606414973316005424924922435258225437060447308458046791881496961483916798259209098269159480686346870895884645927002338463275241539444429920741216393642809791345001914940163202225070041071407604420428338132611926879942774133345958018640150383589683943926690869669341147208877071091148666344404678185043956646918756701683065488331721990195188627264411421545799806135459212610597226209651728679948703595087241634981490356982421885164963590342785777190044199265319866138609474434189160567821882177978956979141955227310127478109574144223361624150225148332539628575538194964775868211128754954559717517431785172464696343673254953294890851925827078678565123988594870766756959531172981666328031754468391488733001267126922528002218852790508844940709837185638234674229082454034717163600354529644578352873453613752247757076161906054818807403625844022841366433681748147349092865036267259627910604442682075363167486750302932940510095169326221755954208952882402575525731467409926777438026367358472534726377552269909625207441421455542274012880593626960841465752663745940823584869675983681718321640141881178101475040654937316285206639808075248348423637348141877641510396430913261605934374429922457542971713808408249355091043891118590746911779932165720709143049401696391118545701899353722127377352189887979902862075938432874771876414252501198145845914599736903830796311819408572612334155743276809744688917748139075998820697536842438605433885649240729542294034548749404951010867141509073834031282733675857295659987715024372363496965887749496500424589296450338387698231413567656095646635055835355301066715933735362048163270786723168228531367813446674383717416455600612819390960223726364470966623615415126684092109305386225980318623835106615330133636654270008083064188567381374327322725729476518135663271962165495485998526203653563116680363634630490512332220108158691365181677212683307906565586102964695439897793902743088360492189337742721349680547314318625776974247854626330174772852730318069299101629287556510068874434088939270210159775611338194554907669429427389496111409765365640636434506425139852762708468651242592089557339147096011662521618328754034406900690158931612802774277377282097085940418866760963842495892136637835339650755873390690792291285652285496218291394358469837747623324544652810845311932416397635851007152338978335811577298742146719400550073544858357083927226122607658737964033284107908957445791883821423432928132803089945086807831627358552406455253127574879200848346970491701916943795902150082601017612291961193337678461585063650586947212320950954564066664004123500541379533205213374720355135956300069311533400319983605562720670013461561868692945590825919095992307755633857647415572310286684979060374100081508037564596903860912220858924202717479789914379183713025270294209767293140344869941060218526004123440662763540136137305256725601971000250207030411029236579122429938726407647658918163182064640743661677037751606604101975638204413458612971323810515914469381796989523710727362212785199030140427245479468998188169257753748468978638053340655074078931034171528533986743564286614454049836884487372022536998916387690005212869085283170202170230485081233963790714267712520713200294252362004781802317582312247895233438093802568742312163775688892152138720815829718262327746602423527910518151942821102860730845448096897073414335474310266326740431731468402855314892052438931939751749818986119885674318712595929136809616818680307772951986572204219377268061487416359113236407707515725186686917134384208608419912315708896317669336855801532679971878202916043382258243889559569505646732791529697433321238883597399528398296241369601023972763511284655562042461394954024927283885680343730726416681875422477388436796884868460412937162198944671789238358398286455428412651861450910534813954805456739628191764005895239274726029701688330776417180251593909967023118489090817243818277243508497034795979336017077335443319594771692302307692306500480049483135011937310188070570477217026914201897911820114446221368084332630712644830894860126023288009850348204613159220084966995154138582308630041522580381085744804478170356024324667493859026290247032187186056787795002519902631865725630053085626459406969067985735194900364766761018584227376068179427210926491471792957326522131766813525339608769049494801337878612814841579008550458383801251174887591865443294573353315141614365742373765592827854483013826645463350050634784054724026699988209277445443738168708199588638513378062744544440964384802418827420452379860168742648526372350762077740388478413309894589878573417388197375556874875775693940958619562236631367739811594580499716746929373143116374149513150461285079182856333975929948349264670233490352809723919617819714995167398207411298901326397805758895085939557876410569789555273329534519188437409695993138151152387328266146021673361028275248163473812557410442314272429845400432391887496531090988109167500632019536313798267673529119950711439556141669640272086164234619800196796628537535845128603105023854541614455028193215825965920128376521834153289533904197223072837322310358895857552139429402665785627743066021524613525341990634636011139131340237613828445497428972746805121285710794971749752763492388074435660816094993478091081878691412356079753269628865308031621114734281022850494690069081702381611238907382075772335909228000511080651221472735731345073422810188981357298330435522572802353855020632456281872757148626248538851327354886117912853175962097602019850517407779138700963040932831914426963713608069474525973344902533270627210321041524819389*x*z^2 + 56679329077672781550170772054828431922937416957159629063146396659886944855046561094671482165741792797801108534119950276433425834191661095785007010921296758665873255452096087497982180507962031376410667387520680933541094135860170063719494873240552957165769263954181363227913390623095165634638455517386619255179514622944862515008461482897616200774379928017327056406518111439757724688895625226223225685016448501773094233726653987146194326866244448193858856878547091436990892615261532446537594883045845630701374817901444784557738017671554195372676745394731242910627123290828364702692366294462817202880971119675124642932443848349067962240333828585717860239801470163249635842471246445986434816290100113544653411430839330111321134336822302109296440944711636520992531581424104228602535934283132434910736114811872833378608538672054626150394225407598009301208733795965603965985598987137860501165375207720042882433508725861414423641056952691618648312901272069167093928330386440991455383680784676988741085937115818366433426673587581397260479093809554450679775971932955321670195685556312575256553447687560660144725399338371101662010319205813365819098545762093276969634617619984873526200751899782583914053478503033289588221337859039316594147785805248852545857803475079934022756177984602417205524897125727787515406391415800733953786432664422004561775479934997542287076694602894061255881498456605038803195289056912319680881005895813283197979943117134938301662181123795958342244998993604103427551768312146470752686540665907485474512490741951052784364701962547872302552475075708753053099955266564054394978418649102667949785445702374213385717714081891115119276896286777783362668899226461235270454481876736492639193948157998693216379376335103173790010435514134198907511216214006999132930379610542162253780772942512054771942971474820382209284589534721337216013354287140204667378497403302707525812979695074104155679168305213838764345524033342366166648450414855234993741047165136349912936170053129870691443786595615789148055850929414472105197153004989450767549734924843119032099093851267294414062235136411222305087590298802419048105479464414979633264703800271770670042333119385371245512108509825033205464079614214921132567438303958877464105702973312448576221495854042347696203692283446387032132609558469795537260814725331989624410538263365052663514617691080120933644151675243195712586960554120548094706300647983130865512550508500138543470048895910960518797630529930650775540374101718605261155865782429382938884555887345628583425941119862968052700662615073710909587456282377521320658740738009108424428825697304110127816265218420048931803535493264727012376011403566369611350962193277878406569700569899924784168360878493197791939836034636729589676935513862240145889329593562191504325828059433772399556399570414505457377526386387771888872505382650043973523138216001501315867094810055028485561337688130514821451976269921301938564020959806654147964010291596101239882463869844883565389843912036643313144996575638202199699765645954786367107552579273373230961930508658385200572328397883412649374520892556051358369586470444975324029938931635769737746331826046614666765123279301232034556036811398681715036088286752234433113820571044563309829940414037253950347542553476195560793798748520063336652478856176317342976561737221498217140227265764412316666112133880637695481529113090295863772273496676058258299684167411592978013349532714423351412811257040240463097698688530947789190501743965426297914486417055769928633838322027597481457815109852513986537300846174130741674216621995033538120654750100936669387681707768952727669123782290832881959959441145914559875162603920833039029967633502148579326754504443171879980062181365562039209080448773836321927698432874345992331119154641487654726800842973649681364066940165651311014989166143722933901383831731325102907067805749705928568913988269087209891585240083262188868607049695066769095130302434880804779869311429427327405849653658305397869591525052791074923732498907789653054363387051793031899728856648378864657562540259815960041610439307427105143929378456654555092991612042956913053505906662775091487160880096729220495674266818971619057424692974984041443919975009147828965349833613032609236440038733020548307415790850775896698534104014340864308673540166084140737846095669311278442033623338039911864419628302489702200651366533471640833416689987487538691238614646610651368157832879315378046358684681388243460047544776116669887919743037218720084889045996257630287880873715652656095982202117687924850284356669219509173897561554213093658277297697594510229614718020692604281361500076976805143524029315265424652890641866781001175822266533536613552819880726780839250779254656010463806675644726607902135913522133003471336519467114615676349727771788038288091192384426885070489156993879157782172842273209040826793480360473841991707346171736977976737360149553527134486726652398106932332630326447274038134729801141639597092516312220074289834941944254502405609438795476584496799327620774633976956737823965392482722056812826628362935415865709653582747425326888786031985027219601908819735158398877372297015898233932274798042746998698721047817303551091436213636135507354344617976491269573701410136350963815739187528800269624763630570703311586424669962667813888869046163504670509650526240778651331381688934458340103681439874800328846066699995627699277497058233311796212523989355603061680160224137952602123526248349934811561309259057084600822012029110289766600911804635089466373387847639935060775284984976936783309517875874126707904074848389998249062202007744970850566486793149718066759814900220097948948643695543820360279176714382705025368535110124705129995153044354889955694694189007619557783457553976364805797268676810372776575458944020494754888488773511140665993887698419923889087083322416332404183248880360465616678872516033042476822288322000560539806119554290920873631246227120681375051895288564557849201546072360341144787510248543369636047422307174928255783861789253305513921450920935938587826263274144255293894421511359987594208942219936920773961473064519430299020034953828777952497819317645296513182488867300842846402905532160684201730363437933496204575145342814235853804290619089155625342417102710930304612906789557630165418613317222459008937527784496490404732488555161975760345084171001769779200487895171923949891436124579560796808976872568999130309840831714186309880061060959201245425175117057858536056689709392718040419885113917176889543726126679190611317182360978488852964748679557422926858075198195306124346225612678771403691719659115007595974676380147068076428698340311940578441604336739236293993977818434762619982357209700376725061574572983831255523069123256174814034765346008324647452974052964606618773079636899722948500917065390664064273791220606242642992119370652528512340729178019418508444225130035221687767840859485555120048707605716537403415459262688640587446521794117592684580735662780884844041957823325672837130058714934917895865096430002357834976130363097916456515859424243251288166783282408657905577163346253844780123888826064623168497637203897485181040518641766183053308105124798383092659242568993381596020163088538353377727657958717930685859678703966207968680909461890809766212344606885887814209981091750335601252342750525504853631612782676925695659419991329293265872613389468525654063651173756204317820492708160220617288692495060002684980468512618615827088540182546635255671780949258708982553790896407988350855626939301775249243534967401692188137982504698549059464823976180916604076351620185098353221490789049310106014775709145179379475959798616303051685049798584905931477680794927065627723068658233535506621134086262352381950478654853554665392573961933785710350156277412498921475279268322874663488318501483597677361345643861854590038387889933731553393456430697962109241061634195136083594930672641986129392214503690004832673870013852347006695798040008690494194285782761053923466595654166402747295018761122405591153397261989582308683857009957832003771576574081194014093239010388216351096613296620119870411796135773239973022181651001009767434884687589293447684762878577736503890960861838963342844591360555274506564470890864752007575891865704422997936869721952990209517933074107848679509249718337839065772570999685601597237830340582004242908377201537247660217944336534149801651972574484941541367942570784064345567011168009848786525151779829339742099098784776225413275071381073223420494576817117650863106612462001607310481771849742341809664616082809563489066420059968429720185848144304244683496401085482094618074657338454969064788661359287686305193016334343569516210053162742226818236984898607511518548949175405130350909008752477642633911470780323043294873774248996527692094738405310734817269803140030399498255020921675171646202507367344029304704672761614782405407499201075810536018791246030698424454294909566094620171553860758920497555901856172392253780022563202070813364500899467899441795037159631157522774841851866889993153930991885419968711649699577097245049020020514109068483188044127898482271054859947058848203879820641343572389653407237812143059888572404226813199247474610748948005832939553243057165178185844330277017423830211522491213972428526499942852559669140190778624322876263707863377034159221399495831551819138686841846221241778623234093711850726187648378701437205325899653388007512468601635293500701569190235758130600232456967284230239545116399120868788235849019392986980189778242202281094594181813613115598626445374861913931600007944457989556872511545795110622763290932241152394296759803453904949908615320045047580502289821110780015947364692757327667837653181601894377948339627376893442262015671304996657149377153103096479017564380241823502850390379635666781822159508216756137441773880085431309314136499857771946297465570507176583875389408575885382481602645376839461238576418497671605546426997708425064979613549232101062471000046299180*w*x + 18006036751784491760628526996807027407166225903423231877169704770044875825644243225962794090934551544882516263877934842403177208321753947418859554522559428454576261158382249477324029869270416683177639935521632544532829755347119766723105446250033602942437512925316960495166144614165298094425334536566210931420354617430727061630586603904123808896141678962762211971713580295015298173757609244673611911566030450856800547932106613331533538648768794872958610892270830357944037162998298353276676606032261284091779935822933658565124874407153361486557016162010070631706119199668878111783296122277620021501567514186564319151792604254639105655583914331517143183406257953057573335366056917251119954863012161719179389283599971247976276247719788362863038981893641127788275413430696745459370115632411521521634735580752097524821914576309667400961627599914542567767538849972553576787081496567704767755917223669077448750902519099597641724905290661986548886190438589526970171334686906591345282049283776292040305563521563099611459330133337891730224166678875534271331173149859280125353874096125994486027387601493645128271576987265560344890411077678576958049217350520939434160624441524245740519979413360361493558835754027615349007669065059900984433818670633106285094890994556027282968464867492007990320996263808748988949493599945059384633998299775593560546173516834407220617448684867345136606400907570286743558406197929691554597776671680836454378187387348587293137819946179423639242333446055119342399939992474285443838483649376777185775566003553821703507074858583950526510743812380402641175332503028170718196164573987458621788702486931218229853605755792066430277953643805174748402518696937888780894558119018239789325913663500459712898795475565478642334712041732946102596188532515443762473513232028123102269413453806498292650123661236602309623914963872665490911983292091187603527853744959689647864025382774764823365894220994960501113825351791595702006709966591859296974782088669178014766891108936297633877660392546736036984936402914200800498333677139295576402861136168429979396881304013832170316956850347296638181073126205442720515372753449062049797818297246597469906150405248574923142479948249479795539797094920234690551885997306182125028588308190971002460591794317254832626720586284494220299356281950825163936254754023167003238737523501432943940997435699414204252594890799890852706722283618895865603020818506240060087661152259600986547120388389602220155805707328115998142962842520346596537952943567345188965010832217373679911665411225886000018502885398688334858350857686771824997105867446063461090050667499773251037267022057469375236415115123324859914469143768134671789736714462037997460999800824375629141212949177583755042528617244728352092662589331144154440729474414848624888416784278232979963249875863856332431552477447602039647087643292685828858709398954361768444094896513679525374805185113539339587746315102577689129498685568686963548490524525108803403665464986490519010746338799200300543804833463966582328280826798722295064400732312377394798286157702067770120890677964680765742639767786560329918887288108423407336005066632397339516937618781273588662350227280017588434966535417058030555715140822098527812137831047707332921079090217774436317559827612350205631834931366513331889021962401841520466699947927877150279544663537082632008393204532484467618416108169701428629216231837236650853306572805374271904470207489207489574413774232684406654964507948290113207379277685530023581634582952592939855517079353290306171338867351359062287356902653881803200488396642262587994640396299958471562141860288599335406819309783112604474964953290323043217690672378831929670630366787476144157830820500834194159153590067874982846038397746905929487663863014142782927589994429708699716707383709895683822179268726167819259879692525243228124254710924796673285783621159037615309876720164934612952544461932009692759847188026724667368296268749991611893666212210452462082206606735230666452511958108476535821699022389439185362170495847842675149423840459489270265441183903161229390800351025444885017978711655179129440848324681089478420264565668135968241476840927318133895427965409819754925271525452530210838104478822636956217180154215643140972924673654885003408143271698594831756537185387590246518286106625245131677360428300705556108873695380699448896666734804307912269443327470814057386554214686417104929683896845454661733336252274582481743316624117310297981403209484743853078295125197886821492099337473866856218630352861725569673789206985891891825595771949454908779339362381270073628653175044994206719247186304076775443495516067705981401468037855235966311681533314060582359572180645127352186608171567685087554274122760591135798430828887193041559381692659404348920849612485417459509888841973347246000530620511856709705902329187226877634128009241293339623543640551356064442755806857381441599314526788983798151975342014222069710362066142409977726422770219867065281934899810061518489409606962329839334021531780540127040527488896530439603512272232761087745080569559230241902257501682484617953300154930107378979513741142921192166976497862555891390360428791490836176968973980486732090603517629168792919253598655542757947069316698453763607144014180927333749878148664078959092685346449790447161376234117961000963393283092834898622292790334565956968328170505960181100286052691081104329913588107737942666067548771795132303903309577564392192855097491849635182735817819814370390514018374755505064138500905604990169389687919491676869544996017205592589931735241964391757141760575496940384808215962908090332192561102458395998334601026254668419204216532270516242542241626386962907505332601534645071699249962359876798489783873128053334797297478334736580906327901401706700027390151785277564300935212552516551849954813640796131494360343735555019854600499053849589887457162497680817922519101769612942655231822071110064671796776266731003591836631051458309832325635670358474221158903243900354407665016883006025084132767854098527738708017855301523639256913916029800289906345345257695028631227509902617698177131910518745608797725033037329263568232927804199933248791311757422967201957158738790458519730560064545301248637083102240456361173666952844195995307240436200320129919692457827451521456814468909140555766424865424611202245979961212009206255330979132265840890751042202806781883861450319638880732487878422918369830159093466099240756824551748167042123715279716892739192110463574601846004617193107172808397532965696036355025029953605315248827496423092431868442327467646824044231525359107594390398509612162493324806325773223796529043527516309702565315565918132368487915858768148050012406377890128016391274855035340486240266911012469842944860074261356417630300827370368669815840982832096585247080555827858487495533283879223937405498509169390346601692029263142512690191642689851439905047675490949944290966151669246917162075055113251297651255191584736163703201713638017397277872815349028467797846941663773160254062538659158544885328130060195861376443238758929031698582566186538740036718988964850761645393482530981277470889450027661577491252765651210865888999596112856294815686402605200984255438100409166872688970015876159446812984712171422870461001209633940361475403161335929141413598711718467619520960716768872498525487435420750657313489002991597508303922102744895283574061197357234007745639487965951492106549972567999711301898215635596164172090082243601948903150136023120029397175471032255965422322854381238062465730737699184668858806681885435652277959772355350098098630676651117940078666719864833898108772428301734353750318575045452259147876299635633659587022761407529633525487440211293077645508484396988946045326703960803225740496834195756948110349228390520923868332306227799227928785169544336241855765163840336267472082229902017377521167686120502610368482710865655577361790960754470222218357907253068839966619012777109739025748697961103511695474024620914579145103325411832933861036006619455418685770640751701542112555199802002629449109005670972554184341311132844376631703821118520503414397734978204808404981002514388165774742058474841546810144296375114993569978049892810590518002763586015094433595508251678646274933520923771947114664317928193295951088115747750951264165691247425039554192120989517568877200087210614293803626314714882317329969370026236255462610691834564435491244430540556387106099332682522431808198459056813808959031389762988989054115797528629417977131354235015659071496091062238264323787165942025428133814195004250557446540765821504814724921594306334435900681601754564141408205845902952904668261120376945851939779523750393142422284824084617203944048386738492311051442747587775662184235826302142094529790923108272619739964270839513408803434329344726577872313183741364337035961140965806460763071075240592818251799299289600701383708635554517163094022264578294469317452106345293736403918968956384902774233381978449819411542640185349034993256263382978055891922006447080938720769888106705798115750513700550412887250902747343602752995894430869119568073153551308784463930191714838781397094724072856438892676381979433133055777361160178542698327057706551362502985440519831162577565761400435412710947049578902291652801821476572514484086183236309211419976593706514598490634494163548947414202738359162146679766521811781574427084184471085544604879527700075042958538587026853950204301147661020725351004138931791684174817322486294373792003842565076606273148654804285525221745674541071293684710549123051525984092260075336950573375087625995726806817438483894069346978780501943803806524873264539300532440917346044713317544656903849789427332336882176499805277197290798416783910940737593833769600762283325381012705633841084666873188177970057189018357402966481533335525000698142889705354338423621207275940255677782529783108415192835676709853942370056990534577729172276337582183065916016217847036144244700790773011355816769979508589843178
c = '92bbb516b6e04ac3c39df6834328028fc4525cd5c97eb220bf7be20d6d6db596'
Solve:
We have to find the roots of a multivariate polynomial (5 unknowns).
Each unknown is of size ~239 bits.
5-variate coppersmith was an idea but bad in practice.
Instead, because the modulus is so big we can just linearise and solve with LLL!
We must weight our basis carefully in accordance with the size each monomial.
My testing:
from Crypto.Util.number import getPrime, long_to_bytes, bytes_to_long
from secrets import randbelow, choice
from hashlib import sha256
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad
from string import ascii_letters, digits
key = "".join([choice(ascii_letters + digits) for i in range(150)]).encode()
blocklen = len(key)//5
polsize = 25
maxexp = 3
V, W, X, Y, Z = [bytes_to_long(b) for b in [key[blocklen*i:blocklen*i+blocklen] for i in range(5)]]
print(f'{V = }')
print(f'{W = }')
print(f'{X = }')
print(f'{Y = }')
print(f'{Z = }')
print()
#n = getPrime(4096)*getPrime(4096)*getPrime(4096)*getPrime(4096)
# random n for speedup
n = 0x48c7b647909a1f91634e6993d146a10f52a193a09589820a75c16af68a5d381bd7714003039cfff3dcb091f8cc7eab92c697eeff53e12fdaf774cc6c9ba4f32b0b1e2a7cc3839d978148cb934928200b952ca59431d9652b7bd95255d236f66d8fd5cf896243887ccfff6af58ffbbab1afe6d5107fbacfaa2f01461e6d8ebe3a76f90e4217094dc4bf6e8c289ec7e2d60e4d4b9c698e3f79a7a7782e78bebadf8c7e9551fcc29910f1cb258bc21546e8895036c547cf61da503e5defba2a985e2ff90bf359411e49ed524dfd80437d8c4bb9a85bd47dcde1b5843022ee622bee59afc5fd48c717c2991f06fc3d13da6390bdeff63c2d5d0ee6dbc4b2a225654f98a771d4aaa80729de4b4f7a11005041d345c6197fb5e9ba8479998e67d03a73e4aae99d264d9b522206fd16d5526f5f61bfebcb641698eee5bbba2987ee64cb0a51c341e618d27277814c6c91e39b4fe2c1467b7025e8d201287c346d49b1706a88c51046b344d10eab5e3db3804d5f7f477fb3baf5ba05212531886e9a75571c6c24a9b6d609f6130eebd59892abd3224b11ca8ec60fc1627213350e4ac5eb6dc77b18f4e3e7c3f64a2e57423c451347c71d8ca969f9577ef7fd602fff0123f7d0c20a86eda7fda7c9e0af9b29c0589a53345c0b045c6bcd5e5fd3676ba3ce7e80c9994cddda7b524e42294507495dca638c470ed469e989ae93cb7bf2e162fca55932c4bc6a1c4d3a5d8a4a94e8f777e7d6ae0c8abd29eee5ead38ae944245255cc3cc9c4ba522a9a3fe61668fb9201cf369ae0a72650304cb83c78e7f2d4435411cab7343367767a24b24ad718b0bb31a0ae18c5c2a6fff5a95b6ed794a12145892a80476eae69262067a798202c4e0046ec84f16b4bddd155b83bdf84a6dc27c5874d0a8f588ae9f9ebdfffd405efeb9ebdaac1236a096482d708a269fa082e964b105f1472af1e434c2cfa1a8a7e85436c0b080bb27dce866a7ba568c87dd3f3cd44efb5de571d95bd447305ffb79d6af27c3c08baa108879aedcf8da7dc049ff806100db2506eb439f29dcf3eb527a95ba1cc29d823fbc0b96610ae3f8bc0a38df146c427118d45809e7a6cd5e08e9e9f65ca3348669876482adf82d538fa17d295226b7a696701575c2d3ec0e5fc87eacf81dc3e16a722c8cf93a54a7ac9ddbc501596528f8bb9eadb5cf123bc7698f609c77d61ca1e6fa7866eb9c1fc4e4aed1824ff52dc64009fdae5fae1ee3fdd453f2c9f324592103b9e307086088d64490e3edf35d838ac57454832a3fa21a92c0e4446181c73b7cb0846069dee248a2592a5ddf6fce669d0c783c9cc0871c6266403c31190a1c9f7b2afbd312fefbe01a7adf494b154240501cfbd8a82882c2d3faaebed2436d86df2cf06193100e6574bff218f9dd042f3ce90e8e6bf5ec8c144bf9a01274bbe840add496c23181f53697bc94fc3e8f371eb2584ff8c3403baaed0cbdc12e3f9991213b53036119da7192b3f8444f9f73497f0549be0a3d3d1baeda34c96a94aa38bac07215c6cba3ec23ffee1133c238987fd5446a51265f42fc3c131e39eeb407a0c3f4bc291b467ab6f7361ef957b3363478b0684965f0d18b57fa4e6ef2b28af7b3c77ce47c78018d0b18c423b5ce6da9fdcf457f54f7610d9593628f09a8199caa9794ae92cddc84437458f76fb8733c7b75fbb787fa585f1cf5affb70d30841b36248557254577af5df561c153c7688b223e8f40c96d4c8d89b7daedb40dbcdcdb6af4161e99bdf3019b455300d0ae3c26ef756a964b45321ddca00799d1c6f3a97be2f65a651d22183acbc77f9f068b841ec519bf1e2387ca9bcf2df1e5008bd8f736232d689e7276674341f9564e6b8a4957da78f4921c508f33b0ea90cfd609805ab351d78c3ed2930c1dff8fa2d53ab6e6889a815e5842c7f62d33506169afc760347523b6529d2235a36dfb01327698e8add916b8692d2d0dc80c1d7fce0ce8ae24d1d54d106afcaf83fe37c53eb3f63c677cf2bfb2c3f32852b4160a4edb5356470f2b8630a16131db986729f3a2bab4367728786557f26c6adaf80f6ccd039fba0619364d7610ac376d6509c80e15086c1e493d4faab7955ef09a357a5aa9c0533f3d1f9f6dfc48882e92083e49c4f19fd733163bf4741ed26ed8792f866a94e86a5cf2f4078f0bc75e1e08ce1220202eae5ea6a499df48ca5d4186af8efccf99f96243a09aaccb445574f7dcb3fac2337274175d9fe544d759a02280bae4cc1d593941373769369fc76e26acdc63a812b1d3a87b64569f3a0a9ff16189a13fba18ed69abf968993d5f1d8f9c53c764da2ff5727875a97005e256da854701771824375ad9d918591a85230da77d0db12db58c214a65c0f1416bc927903b6e9f3044868a54a316abd4a5405bedb7e4469e74144446b362ac7014c6df0c3018c9720d1d94ae23bc539bd80f480ee582a0cd40c30d9091609e56dc1dd814a40718fadea1c2257242e990681010436c3c222f1923cf58b501002baccf6a7147caa14d3ade4d4982e8b99ca00509e63f3d6d3315a6751270a2605df6c8ec1f6caef6f0b58418629a4232327d658d0dd599896a05c5ed61bfe9dcfb94d724341def97e1c83095e1026ee8cd77d87d07bd08aa524a100c9aa951cb3b91ad1f7ec085aa5461c1ebd08a31866779dc76ef603ec3876f53e2f8e2228a1e2b6d997ea256e4066b1f4a2be93523290cba41e8ab59427cf788c19c0da3279638be1f29b32033947b64f8077773ca55faa326b0389df81602bde446d1b28026faf4395a489aba4ee338cf49657dadd6f306461630991cf3baac2d14431240651bff047289d1904511b80aec83254a9a782e2ed971a1aab145d00b8d8626182e70d567347b95
n = n^2
K = Zmod(n)
PP.<v, w, x, y, z> = PolynomialRing(K)
coeffs = [K.random_element() for i in range(polsize)]
pol = 0
for l in range(polsize):
while True:
i, j, k, s, t = [randbelow(maxexp) for _ in range(5)]
if i == j == k == s == t == 0: continue
pol = pol + coeffs[l] * v^i * w^j * x^k * y^s * z^t
if len(pol.coefficients()) == l + 1:
break
c = pol(V, W, X, Y, Z)
pol = pol - c
assert pol(V, W, X, Y, Z) == 0
coeffs = list(pol.dict().values())
mons = list(pol.dict().keys())
bounds = [(2**239)**sum(i) for i in mons]
S = max(bounds)
weights = diagonal_matrix(ZZ, [S//i for i in bounds] + [S * 2**(len(bounds)+len(pol.parent().gens())+1)])
M = (identity_matrix(len(coeffs))
.augment(vector(coeffs))
.stack(vector([0]*len(coeffs) + [n]))
)
M = (M*weights).LLL() / weights
for row in M:
for row in [-row, row]:
if row[-1] != 0:
continue
sol = row[:-2]
#print(row)
eqs_groebner = []
for (mon, s) in zip(mons, sol):
eqs_groebner.append(int(s) - prod(v**m for v, m in zip(PP.gens(), mon)))
for eq in Ideal(eqs_groebner).groebner_basis():
if eq == 1:
continue
if not eq.is_univariate():
continue
print(list(eq.dict().keys())[0])
print(eq.univariate_polynomial().change_ring(ZZ).roots()[0][0] % n)
And a final solver:
from hashlib import sha256
from Crypto.Cipher import AES
# output
print('loading output...')
load('https://raw.githubusercontent.com/Connor-McCartney/CTF_Files/main/2024/CrewCTF/bigger-and-beter/output.sage')
print('done')
coeffs = list(pol.dict().values())
mons = list(pol.dict().keys())
bounds = [(2**239)**sum(i) for i in mons]
S = max(bounds)
weights = diagonal_matrix(ZZ, [S//i for i in bounds] + [S * 2**(len(bounds)+len(pol.parent().gens())+1)])
M = (identity_matrix(len(coeffs))
.augment(vector(coeffs))
.stack(vector([0]*len(coeffs) + [n]))
)
print('LLL...')
M = (M*weights).LLL() / weights
print('done')
roots = []
for row in M:
for row in [-row, row]:
if row[-1] != 0:
continue
sol = row[:-2]
#print(row)
eqs_groebner = []
for (mon, s) in zip(mons, sol):
eqs_groebner.append(int(s) - prod(v**m for v, m in zip(PP.gens(), mon)))
for eq in Ideal(eqs_groebner).groebner_basis():
if eq == 1:
continue
if not eq.is_univariate():
continue
roots.append(eq.univariate_polynomial().change_ring(ZZ).roots()[0][0] % n)
key = b''.join([bytes.fromhex(f"{int(i):02x}") for i in roots])
key = sha256(key).digest()
cipher = AES.new(key, AES.MODE_ECB)
print(cipher.decrypt(bytes.fromhex(c)))
# crew{LLL1ne4r1z4ti0n_15_c0oLLL}
ETA
Author’s writeup: https://gist.github.com/Babafaba/b561e663299bfaa0bb6002b1b4946b0f
ETA 2
Solver using rkm’s repo (credit InYaDreamz)
load("https://raw.githubusercontent.com/rkm0959/Inequality_Solving_with_CVP/main/solver.sage")
coeffs = pol.coefficients()[:-1]
l = len(coeffs)
M = Matrix(ZZ , l + 1, l + 1)
for i in range(l):
M[i , 0] = int(coeffs[i])
M[l , 0] = -n
for i in range(l):
M[i , i+1] = 1
sum_of_powers = [sum(m) for m in pol.exponents()]
m_low = 2**235
m_high = 2**240
lb = [int(-pol.coefficients()[-1])] + [m_low**i for i in sum_of_powers[:-1]]
ub = [int(-pol.coefficients()[-1])] + [m_high**i for i in sum_of_powers[:-1]]
solve = list((solve(M , lb , ub))[2][:-1])
print(solve)
expected = [int(i(V, W , X , Y , Z)) for i in pol.monomials()[:-1]]
print(solve == expected)