\/\/illy Posted March 15, 2007 Report Share Posted March 15, 2007 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316527120190914564856692346034861045432664821339360726024914127372458700660631558817488152092096282925409171536436789259036001133053054882046652138414695194151160943305727036575959195309218611738193261179310511854807446237996274956735188575272489122793818301194912983367336244065664308602139494639522473719070217986094370277053921717629317675238467481846766940513200056812714526356082778577134275778960917363717872146844090122495343014654958537105079227968925892354201995611212902196086403441815981362977477130996051870721134999999837297804995105973173281609631859502445945534690830264252230825334468503526193118817101000313783875288658753320838142061717766914730359825349042875546873115956286388235378759375195778185778053217122680661300192787661119590921642019893809525720106548586327886593615338182796823030195203530185296899577362259941389124972177528347913151557485724245415069595082953311686172785588907509838175463746493931925506040092770167113900984882401285836160356370766010471018194295559619894676783744944825537977472684710404753464620804668425906949129331367702898915210475216205696602405803815019351125338243003558764024749647326391419927260426992279678235478163600934172164121992458631503028618297455570674983850549458858692699569092721079750930295532116534498720275596023648066549911988183479775356636980742654252786255181841757467289097777279380008164706001614524919217321721477235014144197356854816136115735255213347574184946843852332390739414333454776241686251898356948556209921922218427255025425688767179049460165346680498862723279178608578438382796797668145410095388378636095068006422512520511739298489608412848862694560424196528502221066118630674427862203919494504712371378696095636437191728746776465757396241389086583264599581339047802759009946576407895126946839835259570982582262052248940772671947826848260147699090264013639443745530506820349625245174939965143142980919065925093722169646151570985838741059788595977297549893016175392846813826868386894277415599185592524595395943104997252468084598727364469584865383673622262609912460805124388439045124413654976278079771569143599770012961608944169486855584840635342207222582848864815845602850601684273945226746767889525213852254995466672782398645659611635488623057745649803559363456817432411251507606947945109659609402522887971089314566913686722874894056010150330861792868092087476091782493858900971490967598526136554978189312978482168299894872265880485756401427047755513237964145152374623436454285844479526586782105114135473573952311342716610213596953623144295248493718711014576540359027993440374200731057853906219838744780847848968332144571386875194350643021845319104848100537061468067491927819119793995206141966342875444064374512371819217999839101591956181467514269123974894090718649423196156794520809514655022523160388193014209376213785595663893778708303906979207734672218256259966150142150306803844773454920260541466592520149744285073251866600213243408819071048633173464965145390579626856100550810665879699816357473638405257145910289706414011097120628043903975951567715770042033786993600723055876317635942187312514712053292819182618612586732157919841484882916447060957527069572209175671167229109816909152801735067127485832228718352093539657251210835791513698820914442100675103346711031412671113699086585163983150197016515116851714376576183515565088490998985998238734552833163550764791853589322618548963213293308985706420467525907091548141654985946163718027098199430992448895757128289059232332609729971208443357326548938239119325974636673058360414281388303203824903758985243744170291327656180937734440307074692112019130203303801976211011004492932151608424448596376698389522868478312355265821314495768572624334418930396864262434107732269780280731891544110104468232527162010526522721116603966655730925471105578537634668206531098965269186205647693125705863566201855810072936065987648611791045334885034611365768675324944166803962657978771855608455296541266540853061434443185867697514566140680070023787765913440171274947042056223053899456131407112700040785473326993908145466464588079727082668306343285878569830523580893306575740679545716377525420211495576158140025012622859413021647155097925923099079654737612551765675135751782966645477917450112996148903046399471329621073404375189573596145890193897131117904297828564750320319869151402870808599048010941214722131794764777262241425485454033215718530614228813758504306332175182979866223717215916077166925474873898665494945011465406284336639379003976926567214638530673609657120918076383271664162748888007869256029022847210403172118608204190004229661711963779213375751149595015660496318629472654736425230817703675159067350235072835405670403867435136222247715891504953098444893330963408780769325993978054193414473774418426312986080998886874132604721569516239658645730216315981931951673538129741677294786724229246543668009806769282382806899640048243540370141631496589794092432378969070697794223625082216889573837986230015937764716512289357860158816175578297352334460428151262720373431465319777741603199066554187639792933441952154134189948544473456738316249934191318148092777710386387734317720754565453220777092120190516609628049092636019759882816133231666365286193266863360627356763035447762803504507772355471058595487027908143562401451718062464362679456127531813407833033625423278394497538243720583531147711992606381334677687969597030983391307710987040859133746414428227726346594704745878477872019277152807317679077071572134447306057007334924369311383504931631284042512192565179806941135280131470130478164378851852909285452011658393419656213491434159562586586557055269049652098580338507224264829397285847831630577775606888764462482468579260395352773480304802900587607582510474709164396136267604492562742042083208566119062545433721315359584506877246029016187667952406163425225771954291629919306455377991403734043287526288896399587947572917464263574552540790914513571113694109119393251910760208252026187985318877058429725916778131496990090192116971737278476847268608490033770242429165130050051683233643503895170298939223345172201381280696501178440874519601212285993716231301711444846409038906449544400619869075485160263275052983491874078668088183385102283345085048608250393021332197155184306354550076682829493041377655279397517546139539846833936383047461199665385815384205685338621867252334028308711232827892125077126294632295639898989358211674562701021835646220134967151881909730381198004973407239610368540664319395097901906996395524530054505806855019567302292191393391856803449039820595510022635353619204199474553859381023439554495977837790237421617271117236434354394782218185286240851400666044332588856986705431547069657474585503323233421073015459405165537906866273337995851156257843229882737231989875714159578111963583300594087306812160287649628674460477464915995054973742562690104903778198683593814657412680492564879855614537234786733039046883834363465537949864192705638729317487233208376011230299113679386270894387993620162951541337142489283072201269014754668476535761647737946752004907571555278196536213239264061601363581559074220202031872776052772190055614842555187925303435139844253223415762336106425063904975008656271095359194658975141310348227693062474353632569160781547818115284366795706110861533150445212747392454494542368288606134084148637767009612071512491404302725386076482363414334623518975766452164137679690314950191085759844239198629164219399490723623464684411739403265918404437805133389452574239950829659122850855582157250310712570126683024029295252201187267675622041542051618416348475651699981161410100299607838690929160302884002691041407928862150784245167090870006992821206604183718065355672525325675328612910424877618258297651579598470356222629348600341587229805349896502262917487882027342092222453398562647669149055628425039127577102840279980663658254889264880254566101729670266407655904290994568150652653053718294127033693137851786090407086671149655834343476933857817113864558736781230145876871266034891390956200993936103102916161528813843790990423174733639480457593149314052976347574811935670911013775172100803155902485309066920376719220332290943346768514221447737939375170344366199104033751117354719185504644902636551281622882446257591633303910722538374218214088350865739177150968288747826569959957449066175834413752239709683408005355984917541738188399944697486762655165827658483588453142775687900290951702835297163445621296404352311760066510124120065975585127617858382920419748442360800719304576189323492292796501987518721272675079812554709589045563579212210333466974992356302549478024901141952123828153091140790738602515227429958180724716259166854513331239480494707911915326734302824418604142636395480004480026704962482017928964766975831832713142517029692348896276684403232609275249603579964692565049368183609003238092934595889706953653494060340216654437558900456328822505452556405644824651518754711962184439658253375438856909411303150952617937800297412076651479394259029896959469955657612186561967337862362561252163208628692221032748892186543648022967807057656151446320469279068212073883778142335628236089632080682224680122482611771858963814091839036736722208883215137556003727983940041529700287830766709444745601345564172543709069793961225714298946715435784687886144458123145935719849225284716050492212424701412147805734551050080190869960330276347870810817545011930714122339086639383395294257869050764310063835198343893415961318543475464955697810382930971646514384070070736041123735998434522516105070270562352660127648483084076118301305279320542746286540360367453286510570658748822569815793678976697422057505968344086973502014102067235850200724522563265134105592401902742162484391403599895353945909440704691209140938700126456001623742880210927645793106579229552498872758461012648369998922569596881592056001016552563756785667227966198857827948488558343975187445455129656344348039664205579829368043522027709842942325330225763418070394769941597915945300697521482933665556615678736400536665641654732170439035213295435291694145990416087532018683793702348886894791510716378529023452924407736594956305100742108714261349745956151384987137570471017879573104229690666702144986374645952808243694457897723300487647652413390759204340196340391147320233807150952220106825634274716460243354400515212669324934196739770415956837535551667302739007497297363549645332888698440611964961627734495182736955882207573551766515898551909866653935494810688732068599075407923424023009259007017319603622547564789406475483466477604114632339056513433068449539790709030234604614709616968868850140834704054607429586991382966824681857103188790652870366508324319744047718556789348230894310682870272280973624809399627060747264553992539944280811373694338872940630792615959954626246297070625948455690347119729964090894180595343932512362355081349490043642785271383159125689892951964272875739469142725343669415323610045373048819855170659412173524625895487301676002988659257866285612496655235338294287854253404830833070165372285635591525347844598183134112900199920598135220511733658564078264849427644113763938669248031183644536985891754426473998822846218449008777697763127957226726555625962825427653183001340709223343657791601280931794017185985999338492354956400570995585611349802524990669842330173503580440811685526531170995708994273287092584878944364600504108922669178352587078595129834417295351953788553457374260859029081765155780390594640873506123226112009373108048548526357228257682034160504846627750450031262008007998049254853469414697751649327095049346393824322271885159740547021482897111777923761225788734771881968254629812686858170507402725502633290449762778944236216741191862694396506715157795867564823993917604260176338704549901761436412046921823707648878341968968611815581587360629386038101712158552726683008238340465647588040513808016336388742163714064354955618689641122821407533026551004241048967835285882902436709048871181909094945331442182876618103100735477054981596807720094746961343609286148494178501718077930681085469000944589952794243981392135055864221964834915126390128038320010977386806628779239718014613432445726400973742570073592100315415089367930081699805365202760072774967458400283624053460372634165542590276018348403068113818551059797056640075094260878857357960373245141467867036880988060971642584975951380693094494015154222219432913021739125383559150310033303251117491569691745027149433151558854039221640972291011290355218157628232831823425483261119128009282525619020526301639114772473314857391077758744253876117465786711694147764214411112635835538713610110232679877564102468240322648346417663698066378576813492045302240819727856471983963087815432211669122464159117767322532643356861461865452226812688726844596844241610785401676814208088502800541436131462308210259417375623899420757136275167457318918945628352570441335437585753426986994725470316566139919996826282472706413362221789239031760854289437339356188916512504244040089527198378738648058472689546243882343751788520143956005710481194988423906061369573423155907967034614914344788636041031823507365027785908975782727313050488939890099239135033732508559826558670892426124294736701939077271307068691709264625484232407485503660801360466895118400936686095463250021458529309500009071510582362672932645373821049387249966993394246855164832611341461106802674466373343753407642940266829738652209357016263846485285149036293201991996882851718395366913452224447080459239660281715655156566611135982311225062890585491450971575539002439315351909021071194573002438801766150352708626025378817975194780610137150044899172100222013350131060163915415895780371177927752259787428919179155224171895853616805947412341933984202187456492564434623925319531351033114763949119950728584306583619353693296992898379149419394060857248639688369032655643642166442576079147108699843157337496488352927693282207629472823815374099615455987982598910937171262182830258481123890119682214294576675807186538065064870261338928229949725745303328389638184394477077940228435988341003583854238973542439564755568409522484455413923941000162076936368467764130178196593799715574685419463348937484391297423914336593604100352343777065888677811394986164787471407932638587386247328896456435987746676384794665040741118256583788784548581489629612739984134427260860618724554523606431537101127468097787044640947582803487697589483282412392929605829486191966709189580898332012103184303401284951162035342801441276172858302435598300320420245120728725355811958401491809692533950757784000674655260314461670508276827722235341911026341631571474061238504258459884199076112872580591139356896014316682831763235673254170734208173322304629879928049085140947903688786878949305469557030726190095020764334933591060245450864536289354568629585313153371838682656178622736371697577418302398600659148161640494496501173213138957470620884748023653710311508984279927544268532779743113951435741722197597993596852522857452637962896126915723579866205734083757668738842664059909935050008133754324546359675048442352848747014435454195762584735642161981340734685411176688311865448937769795665172796623267148103386439137518659467300244345005449953997423723287124948347060440634716063258306498297955101095418362350303094530973358344628394763047756450150085075789495489313939448992161255255977014368589435858775263796255970816776438001254365023714127834679261019955852247172201777237004178084194239487254068015560359983905489857235467456423905858502167190313952629445543913166313453089390620467843877850542393905247313620129476918749751910114723152893267725339181466073000890277689631148109022097245207591672970078505807171863810549679731001678708506942070922329080703832634534520380278609905569001341371823683709919495164896007550493412678764367463849020639640197666855923356546391383631857456981471962108410809618846054560390384553437291414465134749407848844237721751543342603066988317683310011331086904219390310801437843341513709243530136776310849135161564226984750743032971674696406665315270353254671126675224605511995818319637637076179919192035795820075956053023462677579439363074630569010801149427141009391369138107258137813578940055995001835425118417213605572752210352680373572652792241737360575112788721819084490061780138897107708229310027976659358387589093956881485602632243937265624727760378908144588378550197028437793624078250527048758164703245812908783952324532378960298416692254896497156069811921865849267704039564812781021799132174163058105545988013004845629976511212415363745150056350701278159267142413421033015661653560247338078430286552572227530499988370153487930080626018096238151613669033411113865385109193673938352293458883225508870645075394739520439680790670868064450969865488016828743437861264538158342807530618454859037982179945996811544197425363443996029025100158882721647450068207041937615845471231834600726293395505482395571372568402322682130124767945226448209102356477527230820810635188991526928891084555711266039650343978962782500161101532351605196559042118449499077899920073294769058685778787209829013529566139788848605097860859570177312981553149516814671769597609942100361835591387778176984587581044662839988060061622984861693533738657877359833616133841338536842119789389001852956919678045544828584837011709672125353387586215823101331038776682721157269495181795897546939926421979155233857662316762754757035469941489290413018638611943919628388705436777432242768091323654494853667680000010652624854730558615989991401707698385483188750142938908995068545307651168033373222651756622075269517914422528081651716677667279303548515420402381746089232839170327542575086765511785939500279338959205766827896776445318404041855401043513483895312013263783692835808271937831265496174599705674507183320650345566440344904536275600112501843356073612227659492783937064784264567633881880756561216896050416113903906396016202215368494109260538768871483798955999911209916464644119185682770045742434340216722764455893301277815868695250694993646101756850601671453543158148010545886056455013320375864548584032402987170934809105562116715468484778039447569798042631809917564228098739987669732376957370158080682290459921236616890259627304306793165311494017647376938735140933618332161428021497633991898354848756252987524238730775595559554651963944018218409984124898262367377146722606163364329640633572810707887581640438148501884114318859882769449011932129682715888413386943468285900666408063140777577257056307294004929403024204984165654797367054855804458657202276378404668233798528271057843197535417950113472736257740802134768260450228515797957976474670228409995616015691089038458245026792659420555039587922981852648007068376504183656209455543461351341525700659748819163413595567196496540321872716026485930490397874895890661272507948282769389535217536218507962977851461884327192232238101587444505286652380225328438913752738458923844225354726530981715784478342158223270206902872323300538621634798850946954720047952311201504329322662827276321779088400878614802214753765781058197022263097174950721272484794781695729614236585957820908307332335603484653187302930266596450137183754288975579714499246540386817992138934692447419850973346267933210726868707680626399193619650440995421676278409146698569257150743157407938053239252394775574415918458215625181921552337096074833292349210345146264374498055961033079941453477845746999921285999993996122816152193148887693880222810830019860165494165426169685867883726095877456761825072759929508931805218729246108676399589161458550583972742098090978172932393010676638682404011130402470073508578287246271349463685318154696904669686939254725194139929146524238577625500474852954768147954670070503479995888676950161249722820403039954632788306959762493615101024365553522306906129493885990157346610237122354789112925476961760050479749280607212680392269110277722610254414922157650450812067717357120271802429681062037765788371669091094180744878140490755178203856539099104775941413215432844062503018027571696508209642734841469572639788425600845312140659358090412711359200419759851362547961606322887361813673732445060792441176399759746193835845749159880976674470930065463424234606342374746660804317012600520559284936959414340814685298150539471789004518357551541252235905906872648786357525419112888773717663748602766063496035367947026923229718683277173932361920077745221262475186983349515101986426988784717193966497690708252174233656627259284406204302141137199227852699846988477023238238400556555178890876613601304770984386116870523105531491625172837327286760072481729876375698163354150746088386636406934704372066886512756882661497307886570156850169186474885416791545965072342877306998537139043002665307839877638503238182155355973235306860430106757608389086270498418885951380910304235957824951439885901131858358406674723702971497850841458530857813391562707603563907639473114554958322669457024941398316343323789759556808568362972538679132750555425244919435891284050452269538121791319145135009938463117740179715122837854601160359554028644059024964669307077690554810288502080858008781157738171917417760173307385547580060560143377432990127286772530431825197579167929699650414607066457125888346979796429316229655201687973000356463045793088403274807718115553309098870255052076804630346086581653948769519600440848206596737947316808641564565053004988161649057883115434548505266006982309315777650037807046612647060214575057932709620478256152471459189652236083966456241051955105223572397395128818164059785914279148165426328920042816091369377737222999833270820829699557377273756676155271139225880552018988762011416800546873655806334716037342917039079863965229613128017826797172898229360702880690877686605932527463784053976918480820410219447197138692560841624511239806201131845412447820501107987607171556831540788654390412108730324020106853419472304766667217498698685470767812051247367924791931508564447753798537997322344561227858432968466475133365736923872014647236794278700425032555899268843495928761240075587569464137056251400117971331662071537154360068764773186755871487839890810742953094106059694431584775397009439883949144323536685392099468796450665339857388878661476294434140104988899316005120767810358861166020296119363968213496075011164983278563531614516845769568710900299976984126326650234771672865737857908574664607722834154031144152941880478254387617707904300015669867767957609099669360755949651527363498118964130433116627747123388174060373174397054067031096767657486953587896700319258662594105105335843846560233917967492678447637084749783336555790073841914731988627135259546251816043422537299628632674968240580602964211463864368642247248872834341704415734824818333016405669596688667695634914163284264149745333499994800026699875888159350735781519588990053951208535103572613736403436753471410483601754648830040784641674521673719048310967671134434948192626811107399482506073949507350316901973185211955263563258433909982249862406703107683184466072912487475403161796994113973877658998685541703188477886759290260700432126661791922352093822787888098863359911608192353555704646349113208591897961327913197564909760001399623444553501434642686046449586247690943470482932941404111465409239883444351591332010773944111840741076849810663472410482393582740194493566516108846312567852977697346843030614624180358529331597345830384554103370109167677637427621021370135485445092630719011473184857492331816720721372793556795284439254815609137281284063330393735624200160456645574145881660521666087387480472433912129558777639069690370788285277538940524607584962315743691711317613478388271941686066257210368513215664780014767523103935786068961112599602818393095487090590738613519145918195102973278755710497290114871718971800469616977700179139196137914171627070189584692143436967629274591099400600849835684252019155937037010110497473394938778859894174330317853487076032219829705797511914405109942358830345463534923498268836240433272674155403016195056806541809394099820206099941402168909007082133072308966211977553066591881411915778362729274615618571037217247100952142369648308641025928874579993223749551912219519034244523075351338068568073544649951272031744871954039761073080602699062580760202927314552520780799141842906388443734996814582733720726639176702011830046481900024130835088465841521489912761065137415394356572113903285749187690944137020905170314877734616528798482353382972601361109845148418238081205409961252745808810994869722161285248974255555160763716750548961730168096138038119143611439921063800508321409876045993093248510251682944672606661381517457125597549535802399831469822036133808284993567055755247129027453977621404931820146580080215665360677655087838043041343105918046068008345911366408348874080057412725867047922583191274157390809143831384564241509408491339180968402511639919368532255573389669537490266209232613188558915808324555719484538756287861288590041060060737465014026278240273469625282171749415823317492396835301361786536737606421667781377399510065895288774276626368418306801908046098498094697636673356622829151323527888061577682781595886691802389403330764419124034120223163685778603572769415417788264352381319050280870185750470463129333537572853866058889045831114507739429352019943219711716422350056440429798920815943071670198574692738486538334361457946341759225738985880016980147574205429958012429581054565108310462972829375841611625325625165724980784920998979906200359365099347215829651741357984910471116607915874369865412223483418877229294463351786538567319625598520260729476740726167671455736498121056777168934849176607717052771876011999081441130586455779105256843048114402619384023224709392498029335507318458903553971330884461741079591625117148648744686112476054286734367090466784686702740918810142497111496578177242793470702166882956108777944050484375284433751088282647719785400065097040330218625561473321177711744133502816088403517814525419643203095760186946490886815452856213469883554445602495566684366029221951248309106053772019802183101032704178386654471812603971906884623708575180800353270471856594994761242481109992886791589690495639476246084240659309486215076903149870206735338483495508363660178487710608098042692471324100094640143736032656451845667924566695510015022983307984960799498824970617236744936122622296179081431141466094123415935930958540791390872083227335495720807571651718765994498569379562387555161757543809178052802946420044721539628074636021132942559160025707356281263873310600589106524570802447493754318414940148211999627645310680066311838237616396631809314446712986155275982014514102756006892975024630401735148919457636078935285550531733141645705049964438909363084387448478396168405184527328840323452024705685164657164771393237755172947951261323982296023945485797545865174587877133181387529598094121742273003522965080891777050682592488223221549380483714547816472139768209633205083056479204820859204754998573203888763916019952409189389455767687497308569559580106595265030362661597506622250840674288982659075106375635699682115109496697445805472886936310203678232501823237084597901115484720876182124778132663304120762165873129708112307581598212486398072124078688781145016558251361789030708608701989758898074566439551574153631931919810705753366337380382721527988493503974800158905194208797113080512339332219034662499171691509485414018710603546037946433790058909577211808044657439628061867178610171567409676620802957665770512912099079443046328929473061595104309022214393718495606340561893425130572682914657832933405246350289291754708725648426003496296116541382300773133272983050016025672401418515204189070115428857992081219844931569990591820118197335001261877280368124819958770702075324063612593134385955425477819611429351635612234966615226147353996740515849986035529533292457523888101362023476246690558164389678630976273655047243486430712184943734853006063876445662721866617012381277156213797461498613287441177145524447089971445228856629424402301847912054784985745216346964489738920624019435183100882834802492490854030778638751659113028739587870981007727182718745290139728366148421428717055317965430765045343246005363614726181809699769334862640774351999286863238350887566835950972655748154319401955768504372480010204137498318722596773871549583997184449072791419658459300839426370208756353982169620553248032122674989114026785285996734052420310917978999057188219493913207534317079800237365909853755202389116434671855829068537118979526262344924833924963424497146568465912489185566295893299090352392333336474352037077010108438800329075983421701855422838616172104176030116459187805393674474720599850235828918336929223373239994804371084196594731626548257480994825099918330069765693671596893644933488647442135008407006608835972350395323401795825570360169369909886711321097988970705172807558551912699306730992507040702455685077867906947661262980822516331363995211709845280926303759224267425755998928927837047444521893632034894155210445972618838003006776179313813991620580627016510244588692476492468919246121253102757313908404700071435613623169923716948481325542009145304103713545329662063921054798243921251725401323149027405858920632175894943454890684639931375709103463327141531622328055229729795380188016285907357295541627886764982741861642187898857410716490691918511628152854867941736389066538857642291583425006736124538491606741373401735727799563410433268835695078149313780073623541800706191802673285511919426760912210359874692411728374931261633950012395992405084543756985079570462226646190001035004901830341535458428337643781119885563187777925372011667185395418359844383052037628194407615941068207169703022851522505731260930468984234331527321313612165828080752126315477306044237747535059522871744026663891488171730864361113890694202790881431194487994171540421034121908470940802540239329429454938786402305129271190975135360009219711054120966831115163287054230284700731206580326264171161659576132723515666625366727189985341998952368848309993027574199164638414270779887088742292770538912271724863220288984251252872178260305009945108247835729056919885554678860794628053712270424665431921452817607414824038278358297193010178883456741678113989547504483393146896307633966572267270433932167454218245570625247972199786685427989779923395790575818906225254735822052364248507834071101449804787266919901864388229323053823185597328697809222535295910173414073348847610055640182423921926950620831838145469839236646136398910121021770959767049083050818547041946643713122996923588953849301363565761861060622287055994233716310212784574464639897381885667462608794820186474876727272220626764653380998019668836809941590757768526398651462533363124505364026105696055131838131742611844201890888531963569869627950367384243130113317533053298020166888174813429886815855778103432317530647849832106297184251843855344276201282345707169885305183261796411785796088881503296022907056144762209150947390359466469162353968092013945781758910889319921122600739281491694816152738427362642980982340632002440244958944561291670495082358124873917996486411334803247577752197089327722623494860150466526814398770516153170266969297049283162855042128981467061953319702695072143782304768752802873541261663917082459251700107141808548006369232594620190022780874098597719218051585321473926532515590354102092846659252999143537918253145452905984158176370589279069098969111643811878094353715213322614436253144901274547726957393934815469163116249288735747188240715039950094467319543161938554852076657388251396391635767231510055560372633948672082078086537349424401157996675073607111593513319591971209489647175530245313647709420946356969822266737752099451684506436238242118535348879893956731878066061078854400055082765703055874485418057788917192078814233511386629296671796434687600770479995378833878703487180218424373421122739402557176908196030920182401884270570460926225641783752652633583242406612533115294234579655695025068100183109004112453790153329661569705223792103257069370510908307894799990049993953221536227484766036136776979785673865846709366795885837887956259464648913766521995882869338018360119323685785585581955560421562508836502033220245137621582046181067051953306530606065010548871672453779428313388716313955969058320834168984760656071183471362181232462272588419902861420872849568796393254642853430753011052857138296437099903569488852851904029560473461311382638788975517885604249987483163828040468486189381895905420398898726506976202019955484126500053944282039301274816381585303964399254702016727593285743666616441109625663373054092195196751483287348089574777752783442210910731113518280460363471981856555729571447476825528578633493428584231187494400032296906977583159038580393535213588600796003420975473922967333106493956018122378128545843176055617338611267347807458506760630482294096530411183066710818930311088717281675195796753471885372293096161432040063813224658411111577583585811350185690478153689381377184728147519983505047812977185990847076219746058874232569958288925350419379582606162118423687685114183160683158679946016520577405294230536017803133572632670547903384012573059123396018801378254219270947673371919872873852480574212489211834708766296672072723256505651293331260595057777275424712416483128329820723617505746738701282095755443059683955556868611883971355220844528526400812520276655576774959696266126045652456840861392382657685833846984997787267065551918544686984694784957346226062942196245570853712727765230989554501930377321666491825781546772920052126671434632096378918523232150189761260343736840671941930377468809992968775824410478781232662531818459604538535438391144967753128642609252115376732588667226040425234910870269580996475958057946639734190640100363619040420331135793365424263035614570090112448008900208014780566037101541223288914657223931450760716706435568274377439657890679726874384730763464516775621030986040927170909512808630902973850445271828927496892121066700816485833955377359191369501531620189088874842107987068991148046692706509407620465027725286507289053285485614331608126930056937854178610969692025388650345771831766868859236814884752764984688219497397297077371871884004143231276365048145311228509900207424092558592529261030210673681543470152523487863516439762358604191941296976904052648323470099111542426012734380220893310966863678986949779940012601642276092608234930411806438291383473546797253992623387915829984864592717340592256207491053085315371829116816372193951887009577881815868504645076993439409874335144316263303172477474868979182092394808331439708406730840795893581089665647758599055637695252326536144247802308268118310377358870892406130313364773710116282146146616794040905186152603600925219472188909181073358719641421444786548995285823439470500798303885388608310357193060027711945580219119428999227223534587075662469261776631788551443502182870266856106650035310502163182060176092179846849368631612937279518730789726373537171502563787335797718081848784588665043358243770041477104149349274384575871071597315594394264125702709651251081155482479394035976811881172824721582501094960966253933953809221955919181885526780621499231727631632183398969380756168559117529984501320671293924041445938623988093812404521914848316462101473891825101090967738690664041589736104764365000680771056567184862814963711188321924456639458144914861655004956769826903089111856879869294705135248160917432430153836847072928989828460222373014526556798986277679680914697983782687643115988321090437156112997665215396354644208691975673700057387649784376862876817924974694384274652563163230055513041742273416464551278127845777724575203865437542828256714128858345444351325620544642410110379554641905811686230596447695870540721419852121067343324107567675758184569906930460475227701670056845439692340417110898889934163505851578873534308155208117720718803791040469830695786854739376564336319797868036718730796939242363214484503547763156702553900654231179201534649779290662415083288583952905426376876689688050333172278001858850697362324038947004718976193473443084374437599250341788079722358591342458131440498477017323616947197657153531977549971627856631190469126091825912498903676541769799036237552865263757337635269693443544004730671988689019681474287677908669796885225016369498567302175231325292653758964151714795595387842784998664563028788319620998304945198743963690706827626574858104391122326187940599415540632701319898957037611053236062986748037791537675115830432084987209202809297526498125691634250005229088726469252846661046653921714820801305022980526378364269597337070539227891535105688839381132497570713310295044303467159894487868471164383280506925077662745001220035262037094660234146489983902525888301486781621967751945831677187627572005054397944124599007711520515461993050983869825428464072555409274031325716326407929341833421470904125425335232480219322770753555467958716383587501815933871742360615511710131235256334858203651461418700492057043720182617331947157008675785393360786227395581857975872587441025420771054753612940474601000940954449596628814869159038990718659805636171376922272907641977551777201042764969496110562205925024202177042696221549587264539892276976603105249808557594716310758701332088614632664125911486338812202844406941694882615295776253250198703598706743804698219420563812558334364219492322759372212890564209430823525440841108645453694049692714940033197828613181861888111184082578659287574263844500599442295685864604810330153889114994869354360302218109434667640000223625505736312946262960961987605642599639461386923308371962659547392346241345977957485246478379807956931986508159776753505539189911513352522987361127791827485420086895396583594219633315028695611920122988898870060799927954111882690230789131076036176347794894320321027733594169086500719328040171638406449878717537567811853213284082165711075495282949749362146082155832056872321855740651610962748743750980922302116099826330339154694946444910045152809250897450748967603240907689836529406579201983152654106581368237919840906457124689484702093577611931399802468134052003947819498662026240089021501661638135383815150377350229660746279529103840686855690701575166241929872444827194293310048548244545807188976330032325258215812803274679620028147624318286221710543528983482082734516801861317195933247110746622285087106661177034653528395776259977446721857158161264111432717943478859908928084866949141390977167369002777585026866465405659503948678411107901161040085727445629384254941675946054871172359464291058509099502149587931121961359083158826206823321561530868337308381732793281969838750870834838804638847844188400318471269745437093732983624028751979208023218787448828728437273780178270080587824107493575148899789117397461293203510814327032514090304874622629423443275712600866425083331876886507564292716055252895449215376517514921963671810494353178583834538652556566406572513635750643532365089367904317025978781771903148679638408288102094614900797151377170990619549696400708676671023300486726314755105372317571143223174114116806228642063889062101923552235467116621374996932693217370431059872250394565749246169782609702533594750209138366737728944386964000281103440260847128990007468077648440887113413525033678773167977093727786821661178653442317322646378476978751443320953400016506921305464768909850502030150448808342618452087305309731894929164253229336124315143065782640702838984098416029503092418971209716016492656134134334222988279099217860426798124572853458013382609958771781131021673402565627440072968340661984806766158050216918337236803990279316064204368120799003162644491461902194582296909921227885539487835383056468648816555622943156731282743908264506116289428035016613366978240517701552196265227254558507386405852998303791803504328767038092521679075712040612375963276856748450791511473134400018325703449209097124358094479004624943134550289006806487042935340374360326258205357901183956490893543451013429696175452495739606214902887289327925206965353863964432253883275224996059869747598823299162635459733244451637553343774929289905811757863555556269374269109471170021654117182197505198317871371060510637955585889055688528879890847509157646390746936198815078146852621332524738376511929901561091897779220087057933964638274906806987691681974923656242260871541761004306089043779766785196618914041449252704808819714988015420577870065215940092897776013307568479669929554336561398477380603943688958876460549838714789684828053847017308711177611596635050399793438693391197898871091565417091330826076474063057114110988393880954814378284745288383680794188843426662220704387228874139478010177213922819119923654055163958934742639538248296090369002883593277458550608013179884071624465639979482757836501955142215513392819782269842786383916797150912624105487257009240700454884856929504481107380879965474815689139353809434745569721289198271770207666136024895814681191336141212587838955773571949863172108443989014239484966592517313881716026632619310653665350414730708044149391693632623737677770958503132559900957627319573086480424677012123270205337426670531424482081681303063973787366424836725398374876909806021827857862165127385635132901489035098832706172589325753639939790557291751600976154590447716922658063151110280384360173747421524760851520990161585823125715907334217365762671423904782795872815050956330928026684589376496497702329736413190609827406335310897924642421345837409011693919642504591288134034988106354008875968200544083643865166178805576089568967275315380819420773325979172784376256611843198910250074918290864751497940031607038455494653859460274524474668123146879434416109933389089926384118474252570445725174593257389895651857165759614812660203107976282541655905060424791140169579003383565748692528007430256234194982864679144763227740055294609039401775363356554719310001754300475047191448998410400158679461792416100164547165513370740739502604427695385538343975505488710997852054011751697475813449260794336895437832211724506873442319898788441285420647428097356258070669831069799352606933921356858813912148073547284632277849080870024677763036055512323866562951788537196730346347012229395816067925091532174890308408865160611190114984434123501246469280288059961342835118847154497712784733617662850621697787177438243625657117794500644777183702219991066950216567576440449979407650379999548450027106659878136038023141268369057831904607927652972776940436130230517870805465115424693952651271010529270703066730244471259739399505146284047674313637399782591845411764133279064606365841529270190302760173394748669603486949765417524293060407270050590395031485229213925755948450788679779252539317651564161971684435243697944473559642606333910551268260615957262170366985064732812667245219890605498802807828814297963366967441248059821921463395657457221022986775997467381260693670691340815594120161159601902377535255563006062479832612498812881929373434768626892192397778339107331065882568137771723283153290825250927330478507249771394483338925520811756084529665905539409655685417060011798572938139982583192936791003918440992865756059935989100029698644609747147184701015312837626311467742091455740418159088000649432378558393085308283054760767995243573916312218860575496738322431956506554608528812019023636447127037486344217272578795034284863129449163184753475314350413920961087960577309872013524840750576371992536504709085825139368634638633680428917671076021111598288755399401200760139470336617937153963061398636554922137415979051190835882900976566473007338793146789131814651093167615758213514248604422924453041131606527009743300884990346754055186406773426035834096086055337473627609356588531097609942383473822220872924644976845605795625167655740884103217313456277358560523582363895320385340248422733716391239732159954408284216666360232965456947035771848734420342277066538373875061692127680157661810954200977083636043611105924091178895403380214265239489296864398089261146354145715351943428507213534530183158756282757338982688985235577992957276452293915674775666760510878876484534936360682780505646228135988858792599409464460417052044700463151379754317371877560398159626475014109066588661621800382669899619655805872086397211769952194667898570117983324406018115756580742841829106151939176300591943144346051540477105700543390001824531177337189558576036071828605063564799790041397618089553636696031621931132502238517916720551806592635180362512145759262383693482226658955769946604919381124866090997981285718234940066155521961122072030922776462009993152442735894887105766238946938894464950939603304543408421024624010487233287500817491798755438793873814398942380117627008371960530943839400637561164585609431295175977139353960743227924892212670458081833137641658182695621058728924477400359470092686626596514220506300785920024882918608397437323538490839643261470005324235406470420894992102504047267810590836440074663800208701266642094571817029467522785400745085523777208905816839184465928294170182882330149715542352359117748186285929676050482038643431087795628929254056389466219482687110428281638939757117577869154301650586029652174595819888786804081103284327398671986213062055598552660364050462821523061545944744899088390819997387474529698107762014871340001225355222466954093152131153379157980269795557105085074738747507580687653764457825244326380461430428892359348529610582693821034980004052484070844035611678171705128133788057056434506161193304244407982603779511985486945591520519600930412710072778493015550388953603382619293437970818743209499141595933963681106275572952780042548630600545238391510689989135788200194117865356821491185282078521301255185184937115034221595422445119002073935396274002081104655302079328672547405436527175958935007163360763216147258154076420530200453401835723382926619153083540951202263291650544261236191970516138393573266937601569144299449437448568097756963031295887191611292946818849363386473927476012269641588489009657170861605981472044674286642087653347998582220906198021732116142304194777549907387385679411898246609130916917722742072333676350326783405863019301932429963972044451792881228544782119535308989101253429755247276357302262813820918074397486714535907786335301608215599113141442050914472935350222308171936635093468658586563148555758624478186201087118897606529698992693281787055764351433820601410773292610634315253371822433852635202177354407152818981376987551575745469397271504884697936195004777209705617939138289898453274262272886471088832701737232588182446584362495805925603381052156062061557132991560848920643403033952622634514542836786982880742514225674518061841495646861116354049718976821542277224794740335715274368194098920501136534001238467142965518673441537416150425632567134302476551252192180357801692403266995417460875924092070046693403965101781348578356944407604702325407555577647284507518268904182939661133101601311190773986324627782190236506603740416067249624901374332172464540974129955705291424382080760983648234659738866913499197840131080155813439791948528304367390124820824448141280954437738983200598649091595053228579145768849625786658859991798675205545580990045564611787552493701245532171701942828846174027366499784755082942280202329012216301023097721515694464279098021908266898688342630716092079140851976952355534886577434252775311972474308730436195113961190800302558783876442060850447306312992778889427291897271698905759252446796601897074829609491906487646937027507738664323919190422542902353189233772931667360869962280325571853089192844038050710300647768478632431910002239297852553723755662136447400967605394398382357646069924652600890906241059042154539279044115295803453345002562441010063595300395988644661695956263518780606885137234627079973272331346939714562855426154676506324656766202792452085813477176085216913409465203076733918411475041401689241213198268815686645614853802875393311602322925556189410429953356400957864953409351152664540244187759493169305604486864208627572011723195264050230997745676478384889734643172159806267876718380052476968840849891850861490034324034767426862459523958903585821350064509981782446360873177543788596776729195261112138591947254514003011805034378752776644027626189410175768726804281766238606804778852428874302591452470739505465251353394595987896197789110418902929438185672050709646062635417329446495766126519534957018600154126239622864138977967333290705673769621564981845068422636903678495559700260798679962610190393312637685569687670292953711625280055431007864087289392257145124811357786276649024251619902774710903359333093049483805978566288447874414698414990671237647895822632949046798120899848571635710878311918486302545016209298058292083348136384054217200561219893536693713367333924644161252231969434712064173754912163570085736943973059797097197266666422674311177621764030686813103518991122713397240368870009968629225464650063852886203938005047782769128356033725482557939129852515068299691077542576474883253414121328006267170940090982235296579579978030182824284902214707481111240186076134151503875698309186527806588966823625239378452726345304204188025084423631903833183845505223679923577529291069250432614469501098610888999146585518818735825281643025209392852580779697376208456374821144339881627100317031513344023095263519295886806908213558536801610002137408511544849126858412686958991741491338205784928006982551957402018181056412972508360703568510553317878408290000415525118657794539633175385320921497205266078312602819611648580986845875251299974040927976831766399146553861089375879522149717317281315179329044311218158710235187407572221001237687219447472093493123241070650806185623725267325407333248757544829675734500193219021991199607979893733836732425761039389853492787774739805080800155447640610535222023254094435677187945654304067358964910176107759483645408234861302547184764851895758366743997915085128580206078205544629917232020282229148869593997299742974711553718589242384938558585954074381048826246487880533042714630119415898963287926783273224561038521970111304665871005000832851773117764897352309266612345888731028835156264460236719966445547276083101187883891511493409393447500730258558147561908813987523578123313422798665035227253671712307568610450045489703600795698276263923441071465848957802414081584052295369374997106655948944592462866199635563506526234053394391421112718106910522900246574236041300936918892558657846684612156795542566054160050712766417660568742742003295771606434486062012398216982717231978268166282499387149954491373020518436690767235774000539326626227603236597517189259018011042903842741855078948874388327030632832799630072006980122443651163940869222207453202446241211558043545420642151215850568961573564143130688834431852808539759277344336553841883403035178229462537020157821573732655231857635540989540332363823192198921711774494694036782961859208034038675758341115188241774391450773663840718804893582568685420116450313576333555094403192367203486510105610498727264721319865434354504091318595131451812764373104389725070049819870521762724940652146199592321423144397765467083517147493679861865527917158240806510637995001842959387991583501715807598837849622573985121298103263793762183224565942366853767991131401080431397323354490908249104991433258432988210339846981417157560108297065830652113470768036806953229719905999044512090872757762253510409023928887794246304832803191327104954785991801969678353214644411892606315266181674431935508170818754770508026540252941092182648582138575266881555841131985600221351588872103656960875150631875330029421186822218937755460272272912905042922597877106678738400006167721546384412923711935218284998243509208918016855727981564218581911974909857305703326676464607287574305653726027689823732597450844796495456480307715981539558277791393736017174229960273531027687194494449179397851446315973144353518504914139415573293820485421235081739125497498193087143966151329420459193801062314217741991840601803479498876910515579055548069538785400664533759818628464199052204528033062636956264909108276271159038569950512465299960628554438383303276385998007929228466595035512112452840875162290602620118577753137479493620554964010730013488531507354873539056029089335264007132747326219603117734339436733857591245081493357369116645412817881714540230547506671365182582848980995121391939956332413365567770980030819102720409971486874181346670060940510214626902804491596465453301077546954130887141653125448130611924078211886900560277818242350226961893443525476335735364856193632544177566139817039306328721669057222597452091929172621998444096461582694563802395028371216864465617852355651641277128269186886155727162014749340522769465957121983149433816221140069363074304441732847861017777438379770372317952554341072234455125555899986461838767649039724611679590181000350989286412041951635511087632042676129798265294258829511412758412627327907988075597518515768412647422094797218433093529726652100156625145529947451276315509176367302594621329301904028379542463232585503010967069227202270748634190054383026506812141421350571541750575086399076739463351462090828889349383764393992569006040673114220933121959362029829723511632593867722414779116295727807523950562515816031333593823115005186268905306583681299881086632632719806112715488587980934879129137074982305759290918629391950147211975860672700925477180257503377307993971345395326461952699965963856549175904583335857991020127132045839032008538788816336376851820837278851311752277696097879621423721625452145912818317982160441113116714069148271709810154577819392023115638719508050246797257924976057726259133285597263712112019057207714091486450740949267180358151575715140503976109638467555692989703835473141002238025834687673501297754132795320609711545064842121859364909979177668747744818828706323155158650328981642282882327468661065927321979071623846421534898524762167890502609980452664839295423572873439776804957740914495383915755654854590589764951985138010079580107837599457752991967005476022525520344539887125387801719607181640781248478472579124078245443616823452395706895142722697504318736332630111030534233358216093331912188066082683414289104151732472160533558499932245487307788229052523242348615315209769384610425828497149634753418375620030149157032796853018686315724884015266398356895636346574353217834931998255421173084677452970858395076164582296303244243282377374505170285606980678895217681981567107816334052667595394249262807569683261074953233905362230908070814559198373553777487420290390181429373115293346444681512129450975965343062842153194457271186149000176505581770953024688752632501197052094761594167687277844720001927891372518416228577837922844390843011811214963664246590336341945406571835447719124466212593926566203068885200555991212353637182269225317814587925937504414489339816086579008761650246351970458288954817937566810464746141051424988702521399368705093723054477341126413548928068410591077166778212383328102621855877513127211793444482014404257450830639447383637939062830089733062413806145894142276947479316657176231824721683506780764875734204915576282175839729751344789906965895325489403356156131674032764724692125057591162515296545685446334981143176702572956618447754874693784642337372389819206620485118943788682248072793520225017965453437572741639107919729529508129429222053477173041844779156739917384183117103625243957161527146690058147000026330104526435478659032907332054683388720787354447626479252976901709120078741837367350877133769776834963442524199499513883150748775374338494582597655609965559543180409201784971846854973706962120885243770138537576814166327224126344239821529416453780004925072627651507890850712659970367087266927643083772296859851691223050374627443108529343052730788652839773352460174635277032059381791253969156210636376258829375713738407544064689647831007045806134467312715911946084359358259877828352665311510650416232953290477721740835593497237585521380483050900096466760883015406128243087406455944318534137552201663058121110334531207450868243394321590435944303124312274713858420303901060709403152355561727679941600203939750998976293353258555756248089966918298642226775023601932579747267425782111197347094023574572222712125268523842958742735015636600931880454933389897415714905441825597380808715652814301026704602843168192303925352977957658624143927015497408792731310516361191375770089295648233236482982630246079758757677453771601024908046243018565241617566556001608591215345562676021926899828553778725831451440826545834844094784631787773747946535801699607794055687011923286080411309046293508718271259346687127666948738998245985277864995691654640294589350649643358098247659651651420909867552038083092032304873427034682887516040715466538346196112230137594515792526967436425319273900360386082364507626988274976187235754767628899507521148048525279508450339585708381304769378813211236742813194879502280663201700224603319896719706491637411758548518784840120548446725888514015627250198217190669608126277854859648183696214107217142149863619187747545096503089570994709343378569816744658282679119406119560378453978558392407612763441057667510243075598145527861678159496570625597550743065210853015979080733437360794328667578905334836695554868039134337201564988342208933999716414797469386969054800891930671380571715058573071488156499207140867582596028760564597824237702424698053280566327870419267684671162668794634869504645074202193739452592626686135529406247813612062026364981999994984051438682852589563422643287076632993048917234007254717641886853513723326678779217383475414800228033929973579361524127558295692768372312347989894462743304545667900620324205163962825884430854383072014956721064605332385372031432421126074244858450945804940818209276391400085404220235562602185643489941454399504109805918179488826280520664410863190016885681551692294862030107388971810077092905904807490924271410189335428184299959881696609938369616443815288772140852680887574882932587358099056707558170179491619061140019085537448827262009366856044755965574764856740081773817033073803054769736097865438593821872205839023444435088674998665060406458743460053318274362961778625180818931443632512051070946908135864405192295129324500788333987884293393424351263433652043858129128343452973086529097833006712617981303167943855357262969987403595704584522308563900989131794759487521263970783759448611394519602867512105616389760088800927461158608002078033415914517970730368351969777660763737853330120241201120469886092093390853657732223924124490515327809509558664594776344822699860748132973026309750288121035177231244650953496536930900186377640940943498373132513218620802148099226855029484546618147155574447096695301776904342720318927706047177845279391604722815343798035396798614243709566832214914654380145938292773933960327540480095522318166673803571839327570771420467238386246178039762923771312095807893638414479298025880655221292620936239306373134966401866195108115834711733120258058667276399927635790780638188130691563662741254312595899361196476261014055635033995231403231138196562363271989618372548453337020625634642239527669435683767613687119629218187545760816170530315907288287007123136663087227549186613957737305460659974378109876498024140112421427736680827513909593134041558262667895108467761186659576601659981780894149857549762843878561002637965431783136340251358141611519020964991335487331311150227006819301359295959716401971960536250335584799809634887180391116128135959685654788683258564378961731597620024196215528962979048198221994622694871374624447290934564700285376949588595916067892824910544125159963007813683674902093749157328962700286568293444313423473512392982591667395034259958689706972673325827359031212887466604514614878503461428277659916080903986525757172630818334944418201935333850712923457743755793440621787113300631060033240539916936826037461766385657588775802012293663532702671006812618251729146082025418928859352444910701382062115538277935652969145765020486432828655579347072096348073726921411868954673227677513356901901537236690368653891612916888878764075254934942497334271811788927599315967193547589880979245252623636590363200708544407845447973482918020820449266706344204375553250505275228337788870408040335319234076856301093477721256390886404131010738178533383160381352808281190408325644018420537467929926220376987180180611226244909092426419858208617511771137890516091403815750033664241560952163281971223350231674226005679412814062172196418427057843289598028823350598282081966662490358577899403331522748177769528436816300885317696947836905806710648280835980466988410981351586549069333195223943632879239905348109878302745001720654336990661177845543646877236318444647680691428280045510746866453928053994091087549391660957316197150331669683099294663491427987808422572206971488755806374803088629951184731871247772919100702275888934869394562895158029653721504096031077612898312635899648934102470360366450586872875890514068412381242473863854279082827338279733268855049358743031602747490631295723497426112215174171531336186224109138695006888358989623492763173164783400774608866555987333821138299287769114954921841920877716060684728746736818861675072210172611038306717878566948129487850489430630861699487987031605158841082823512741535385133658953329486294944950618685147791058046960390693726626703865129052011378108586161888869479576074135855345851517680519733344334952301203957707396237713160302428872005373209982530089776189731298178819446717311606472314762484575519287327828251271824468078242152164695678192940982389262849437602488522790036202193866964822156280936053731780408637272684266964219299468192149087017075333610947913818040632873875938482695355830773957614479972700034728801827852813895032179863452161110666088393140532269449054555278678944175792024400214507801920998044613825478058580484424164047750315360549065914300781583724301231375115622840158386442708907182848167575271238467824595343344496220100960710513706084618011875431207254913349942476171156333214089346091565615506003173842187015702261031019166038870646614388977363187809407115275281746895764015810470169652475577408916445686777171585005832699434016772021567677240681283665652641229824394651331973591997094032759385026695574702318132032437164205861410336065245369391600506449530601612678226489424373971667176612310489750318857321655549883421218028469125290861014855278152776256237504563757694977343368460156077270355096290493924870884062810679436224187047470083688426710225583024035998416459511224852726336326451140173952480861946358407837535568856223171155209472230654370926067973510005655493812245754837285457117973936157561676416928958052572975223385586113883221711073622658162188424431788574887981090266537934266642169909140565364322493013348679881548866286650523469972355747384248305904236771432787923164224038777643301926001922847783138376325361210253369358126240868666997382759773656822279072158324788886423693463961643633087301398142114303060087306661648036789840913359262934023043249749268878316436026810113095707161419128306865773235326396536773903176613613159655535849993986005651559219367599777179330197446881483711032065036931928945214026509154651843099365534933371834252984336799159394174662239003895276738133306177476295749438687169784537672194935065908757119177208754771071899379608947745126547575018711948707387367858902006173733210756933022163206284320656711920969505857611739616323262177089454262146098584102378132158177276022227381334954104810030732751077999489919779638835307344434575329759142637684054422647842160631227696469671564739990437159033239065607266441164386054048388471619121090087010191307260710441141432419767968285478855247794764818029597360494397004795960402927462992035720997619501403483153809477146010563334469988208221205872815107291829712119178764248803546723169165418522567292344291871281632325969654135485895771332083399112887759172261152733790103413620856145779923987783250835507301998184590259583559892605532996737704917224549353296833000022301815172265757875240588322490858212800897479093261007625787704286560069961762121768454789964407050662417102133274867962374302291553582007801411653480656474882306150033920689837947662550365498228053296628621179306284301704924023019857199789488368971830438051821744191476604297524372516834354112170386313794114220952958857980601529387527537990309388716835720957607152219002793792927863036372687658226812419933848081660216037221547101430073775377926990695871212892880190520316012858618254944133538207848834653116326504076424283908701210151942319616522684220037112304643006734420647477180213530701240988603533991526679238711017062218658835737812109351797756044256346949997872511254408545222748109148743072598696020402759411789425812818821599523596589791811440776533543217575952555361581280011638467203193465072968079907939637149617743121194020212975731251652537680173591015573381537720019524445436200718484756634154074423286210609976132434875488474345396659813387174660930205350702719529839432714253711557666000257844230310734295515339450604862227649666876240793243531929926392537310768921353525723210808898193391686682789482811704726245019484097009757609209837240900747179733407881418251958425980962417476101382526439551352593118850456362641883003385396524359974169313228947198783084276004013680747039040972384739458348961865397905941185993103561684368692194853820557803957738813606795499000851232594425297244866667668346414021899159445653094234406506678519484177667794704720419588220432953803263105374948831221803912796784461001397267538921951191178365876625280836900532490045974109470687729123282143046353372835199536482743258331191444590178096077828835837301118575436599589827245319253105881150263075425714939430244539318701799236081666113054262539958338979429716020703387678150330102801200959972522222808014235710947603519255444349299867678178910455590630159538097618759203589373419789623589311259839025983102671933041892151096891562250696591198283234555030590817307351955037216658702880539921385760370353771051780212801295668419841403628727256232144287543022109094727210734741349755141907370433182766261772759968888260272252471336833534528166927795913288613817663498577289369009657495622871030243625907724122190943008717556926257580657099120166596224360802428700245473620363948412559548817272724736534677836472019183039987176270375157246499222894679323226936191776416146187956139566995677830682903165896994307673335082349907906241002025061340573443006957454746821756904416515406365846804636926212742110753990421887161276177870142588648257752238891845995233762923779155857445494773612955259522265786364621183775984737003479714082069941455807190802135907322692331008317595106590191212947954086036407573587502058902087045796700070552625058114206639074592152733094068236494415908910092202966805233252661989113118420162916310768940847235643668081821686572196882683584027855007828040434537101836510969517823357430305048526537380735310741859177056103973950626403554422751561011072617793706347238049906669221619711942591204450846417463835899382399465173955090008594799901360266742614942900664671150671754221770387745076735637421547829059110126191575558702389570014051178226469899449179083017954758767601680941001358376135785913569244556477644641786671153919513576961048649224900834467154863830544779143300976804868783481846727337584368927243104474068076852786255851650920882638132336231487333367147645204508766276149503899495048095604609896043291233583488599902945264002849942808786240398118148847673012167541611066299955536681931232874257020637383520200868636913117334697317412191536332467453256308713473027921749562270146873258678917345583799643513588009593508775563562488104938529990076751355135277924124292774885658885665132473025147102105753525165118148509027504768455182520963318990685276144351382136621523688905787866994322888160283774820355060160298940091197138501798716836337441392759736440170070147637066557035043381211135764150184518214136198234951596010647527125759351853043328755377830575095674254426847122196187091785607839361445113833356491032564057338986671781239722375193164306170138595394743678433926709867124522111896908402363274114966012434830989299417380305884171666130730400675883804321115553794406054977217059428215148861656727712409033877277456290971101348851843741186956554497457368452180669829110450580042998879538990278043835962824094218605562877884288021275538848037286400194416142574999042720095952046541705981049899675045119364711727722204361026140797508096869751766002371877483480161203102346805671126447661237476278521902412025699435347162266608936752198331118135111465038548950251206557726361454736044268594980743969323312971273771573470997139522911826534851555871373366291202427143025037632695013509116129529937858646813072264860082708813335381937036825988678933212383270532976258573827900978264605455985551318366888446282651337984916678394097613537662517982582496634587719501243840403591408492097337546424744881761840700235695801774101776969250778148933866725578985645898510568919609243988415692806969833522402256345704973122452693541938370048431833571965166267215755241934019330990183193091965829209696562476676836596470195957547393455143374137087615173236772042273856742791706982045499530959188724349395240944416789988463198455048523936629720797774528143994182567894577957125524268260899408633173715388962628896294021121088844273765686245276121303710173007851357154045330415079594477761435974378037424366469732471384104921243141389035790924160364063140381498314819052517209371039640268089948325722979545640427017577229041732347960736187878899133183058430693948259613187138164234672187308451338772190869751049428437693250249816566738162606159417682525099937416728839517440669325496534031014522253161890092353764863784828813442098700480962271712264074895719390029185733074601043607291909457679946149292904279816877294264877299528584346477753869069501489841339245403941446802636254021186143170312511175776428299146445334089209769616990983726523617687456058947049681701369749095230720826828878907301900182534258053434217059287139317379931424108526473909482845964180936141384758311361305761084623668372376959134926158245162215521348792441450417568480641206365201703863301295327776990231186480200675569056822950163549319923059142463962170253297475731140942201801993680350264956369558664259067626856873721103391567938398957655651931778830002416135395624377778408017488193730950206999008908993280883974303677365955248913001566332940779071396154645340887915103006513219344866732482759079468078798194250195826223203951312520141099605312606965554042486705499867869230217469890095478507256729787947698888310934874644264007181831603316555115342761556224054744733780492462149521332585276988473362691826491743389878247892784689188280546699823036899397834137475870258057163494135684339293960681920617733317917382085624364336353598634944968907810640196740744365836670715869245211829978938040771375012908586465789057714268335827689785547176871844277261205092664861020515356428406323684818072879407171279668200607275595559040402331787494473464547606281895415121391629184442976510669479693540168660100551960776873353965116149309375709685545593815137895690392510149532656281470119983269922000663928753747131352364215892651262040728877165783584052196460541054354436421665622445650429990102565869272791427529311720827939377513261060528812353734510683729398935808712438693859343891757133763007203197608166044646839377258069092372975234867029169104263692620901996052041210240776481903160140858635584276095370865581642739953493465463145040401995285372520049578052546562511541092524379913262627136090994029022620628367521323050651839340574501120993414649184333236465693717259144893241590062420206128857329261335968087265000456282845575745965921205303413101118275013069615098355156320043107846019065654938065425252291619918199596027523277022498557388248998827074659363557685825605180689642853768507720122203479209939361792682065901421656159253067379445689490708532635681968318617722682499114726157320358076462981162440133167378927886892290325933498617970219949819257396176730758344170985592221701718257127775344915082052784309046194608352174020058386728497094110232669539214454610662150064106747402070091899119513764669044812672536915371622907913854039375600778351533741677479421003840023089518509945487790393461222208650601605003517762648316111533255877050735412792499098593734737870811942530551214369797499149518605359204038302357163527276308746932196221900642608861836761033460022554774778136410126919065696864950126883762969072339612762872230411418136100602640440300359969889199458273976241146137448040596970625767647237660655416185746905272292382282751867991569833907476711461030227766060200612468764777288190967916133540198814027579921741676787992316039635694928515136336472195406111717673873725557285229400543617851765023075446938693078734991103521825329297260445532107978877114498988709115112372506042387537348412570860640690520584521227545338480082053024504565176695185769132000428167580549248117805198326460324457928297301291053183856368212062155312886685649565126138922613670640939533345705269869596923503530942245438652786776730275404027022463844835532399147513634410440500923303612714960813554905315390210022995957565837053812619656831442860579566966221547216956208700137277685369608407048333251327931122325071486302069512453950037357233468070946564830892098015348787056334910923660575540508641115214414814346304372732710450277686619531078583233348578402971609252153260925589326556006721243594642550659967717703884453961816328796144608177892721718369088801267782074301064225246348074543004764928855534090621851536543554741254761527697726677697727770583158014121856880117050283652755432148034880044429799980621579045641619572127845089284898064264974270905791290692178072987694779751124473059914060506299468942809310342164166299356148281309988707452927160484336308184041264696379258430941854422163590845761460785585624738149314270782662151855416038702068769804617474008083243436653823545551094494984310934947599446726736653525176627067721941831919771963780157021699336750837600571634546436717767233875886434056448715669643210412825956453498413884128904206820470076155969168430389993483667935425492103281133631847225923055543830582069416756299920133731754891220372303490726810685344540359935618235763128377676406310131253352121419946118693508331765878520471123643312267651299641713252175135532618676819423387903654689080018271352835848884441117612341011799187092365071848578562210211040097769944531217950224795780695065329659403839873699072407976790408267940076187295478359634927939045769736616434053597922192858705749574816966940623342726197335181366260637359825755524965098072601236682836059283418558480269584137725589708837899429105498003311138846034019391661221866960584915714857335682861495000190975911252188003964197621635593757437180114805594422987304181968080856472657135476128316292004498803154021055305970766663627493283089168809323592900817874119857383171926167288349184024297212904349655269427264025596414635259143484006758676903503823205729341329815935330444464968294413673234421583807616948312193331198190610961429522015361702985751055943264614685054526849757648078080092213358113781977492717685450755383287688744745915937311624706010912446098294248412875202244625944776387494919978404468292573609685345498432665368628444893657041118177938064416165312236002149187687694673984075171763075168498563592014868929431059402024579696229245666448819675762943495353263821716133957577907663707645695702597388004384158058943361371065518599876007549241872117148892952217377211460811543449826654798725800566747240511220073834592715757277152185899469481179406444663994323700442911407472181802248258377360173466853007449855647154200361235933973129144585915228874087195087086322188372882628228846318437172619033057771476515641438223067918473860391476831081413582757558536435977216500282778037134228696887873497950960311088991961433866640684506974207877002805093672033872326296378560386532164323488155575570184690890746478791224363755566686780676105449550172607911429308312857612544819444494732448190937953690082063846316782250648095318104065702543276043857035059228189198780658654121842992172737209551032422510797180778330426090867942734289557355592527238055114404380012390416877164451802264916816419274011064516224311017000566911217331894234005479596846698042980173625704067332821299621536848814041021944634246462207455756439604529853130714090846084996537678037932018991408658146621753193376659701143306086250098295669176388460567629729314649114937046244693519840395344491351411936679333019366176636525551491749823079870722808608596261126605042892969665356525166888855721122768027727437089173896397722575648905334010388559311256799915165890250164869614272070059160561661597024519890518329692789355503039346812197615821839804839605625230914626384473862960398489243861872985077759287927220685548072104978176532862101874767668972488411395603494803767270363169210073508340738652616845074824964485974281349364803724261167042668708319250409976153190768557703274217850100064419841242073964001396036015838105659284136845741191027364202741637234882145241013477165296031284086584197879511165115298278146203791398550063999603265912485253084936903131301007999771913622308660110999291428712493885416120380204113401888872196934779044975274542880728035093058287544207551348166609278793535665212556201399882496284787262144323628536765025914504683776352825876521391564809721419296755493843755826002531685363567313792624758780494459441834291727569883762262618463654527434976624111384513054814498363117897844897320767195087841586188796929558197332506999514026015116755297505754378102422389579257865621284327312022007167305740692868693639301867659582513264991459502609170693475194089753574640168308117988464524736189560564794263580705625632811892696630264795359510971276591362331808669215357886078127599105371714022045061860753748663063505914839164676567232057145168861707909846959322367249467375830996070425892204815507991327520885837811176852142693347869218952406226579210436203488529262679840139532164587911515790504605797108389833718640380244175113472264725470107947939969535546696197267632552299146549334996632341859514503609803440922122067125676987234279407088570704742931733291885238967219713539244924261786411886377909628144869178694681775917171506691114800207594320120619696377951032270890295660855622254526026104607361313688690092817210681986185537809820184711541636303262656992834241550236009780464171085255376127289053350455061356841437758544296779770146602943876872251153638011917581540281208182556064854107879335989210644272448986189616294134180012951306836386092941000831366733721530083526962357371753307386533382048421903081864491840937239440334052449095545580164064607615810103017674884750176619086929460987692016912021816882910408707095609514704169211470274133900522533408348128703530310239196999785974139085936054335996970756044601342424536824960987725813110247327985620721265724990034682938868723048955622532044636026398542252584164643242716114198178024825955635449072192265838636626637508359443148776351561457107455280161596770484427141944351832756984075526779264112617652506159652354571879566731709133193587616282559207830801852068901515047133403861003100559148178521103847545429333891884441205179439699701941126951195265649195941899754183932346474242907027188752235343936736336632003072327470374071239825620246626519740901997624520561985576257600087081730832883443818310700545144935458854226785785519153722923795554943334101744201696000906964156127322977702212179518683763590822551288164700219923488640439591530184640047143211863606225270115411222838027785389110984902013427410141215597699654388771974853764311582298385331230717511329619045590079380642766958190148426279912217929479873489018684716765038273285520590829845298062592503521284519259279865935061329619467962523739725655841578537445675589980324054921869628884903325608514553443916602262577755129162007727968526293879375304541810807292858919897153817973434961872329276147478501926114504132748732429705834084711123337462746172746265824153242710593225062553023147387592517247873228814914559156050363345754242337791603749525024930223514819613811625639114156103268449580725082734317659440540982697652693445798634797097431244982719331138638731596363612186234972614095560799206283169994200720548115253533939460768500199098865538614334957816500899616490796781429011483876456821749140756237676184537751440314754112067601607264605568592577993220703373333989163695043466906948284366299800374145276277165476238255461708831898108688068478537055364804693509588180253605297407935386765111950793732820831462689600710751755206144337841145499501364324463281933463890509365457145069008644834401804283633905135781572739733345372842633721740657757710798305175557210367959769018899584941301959995730179012401939086813565855396619413717944876320798688003716073032205474235722668968018821234243918859841689722776521940324932273147936692340048489760590379580946960417542796137825537812239476461478329269765451622902817011004378460387565441517394339600489153188175766505009516974024156447712936566142539493688842305174001299205568542898538979426699567770270891465137368922061044154816621568042198384767308717875902792091759006952734566820265133731115180001814341209626016586298210766635233617740078377834237091526440630540718078433580610729611055500204151316963730468492133568372654003075098290893646120478911147530370498939528334578240828173864413227100029683119402033234564208264732762338302946393789983758365545599193408662350909679611340048670271231765266637107787251118603540375544874186935197336566217723592293967764632515620234875701137957120962377234313702120310049651521119760131764194082034373485128526029133349151250831198028501778557107253731491392157091051309650598859999315608636554774035518981667335358800482146650997414337611827777233519107412175728415925808725913150746060256349037772633739144613770380213183474473011130326702969173350477016321066162278300272692833655840117914194478087482533607144032962522857750098085996090409363126356213281620714534061042241120830100085872642521122624801426475194261843258533867538740547434910727100497542811594660171361225904401589916002298278017960351940800465135347526987776095278399843680869089891978396935321799801391354425527179102253970108106321430485113782914985113819691430434975001899806816444121232733283071928243624067331965546926778511931527751134464689055042481133614349846048490512583456832664415284897139723760403282126602535166939140820499473204860216277597917712347510975024030789357599377150950217516935558270725339118923340702238320775858021371747783787783910152341320984894234596136923404979982793041444631627072147961174569757196812392919137409829258055619552074342432959828989805292333664154192563673806894942014712413405250722040617943552525552250087487900865683145428351677505422948032747830440564385815919526667582829297052261276287110401348017872248017896840524079243605827424674430767216452703134513541676496689012747868010102951338626986497482121186290403376915685762406992963724930972016287072001898354236903641492702369619385473724803298550451120891928798298744678641291594175316756025334353106267452545071141814832398806072971402347255207134907983989823552687239509093656678789923837125789762487559904432288953883773173489411227570714109597900479193010467407504114353817824646307959895556389918847737813413470702467473621120489862269918885174562517325193413520381158633501239130544419100736284475675141610504109735058527620444891909789019843154852805339857778443139338839943104444656692445508859463140817512203313906815965925105468580131338381521764182104334297888261196304431113887962587460902261309008499754303957712432306169062629194039214397402708947776637024881554993224588259790206312574369109463932528062416424768684954553249380176393716156368478598237159023854212658406153672286071317026747401311452610637653833903159219434698176053583803106128878520515469336392410884676320095670897183674905781630851581381619668822220475704375906143380407258538620835651769984267745231958241826836982701602374149383634966293515768540613973427464708996856181701605511048809715548591186171896680259735417054239851355600187203350790609464212711439931960465274240508822253597734815191354385712532585404939460108657937980586201433660788252197178090258173708709164604527279771535099103407364250203863867182205228796944583876529479510486607173902293274554267856697768659399234168341222746630150621553205026553414609952493560508549217565491348309589065361756938176374736441833789742297007035452066631709296075919896277324230902523974438610142630986877339138825186843165010279649114977375828889134503411488659486702154921010843280807834280894172980089832975369406449699031253998639195816014689952208806622854084148642747862819755466292788146216071713818801808405720847158689068369193933818642784545379567192723979723646516675920110579956639625985355127635587681402134098290162968734298507924718460568748283313812591619624761569028759010727331032991406238646083333786382579263023915900035576090324772813388873391780969666014696150317542267511259933155296742133363002229649064809345820081810618021002276645804002782133367585730190113717546727630590443531313190360924890972464279284555499134900051802957070829190525567818899138996251386623193800536113462242946102489540724048571232566288889317221164329478161905548680549434410340906807160880282279596869501336438142682521704728708630101373011552368614169083756757476372397631857570381094433905645644685241830281481079983769185121272019350440418046047216269394457883770901059746932197205581140787759897720720096893822493032368305158626572811146379969831375179376232151112523497343052406221052442343537329056551634066695061658928782187077567941760807129737813351871179316500331555238224877306534441794534153952024244497034101208740721881093882681675120422994049481794494727328947701115741394412284555218284249222406587526891722727806071167540469730080370396187877966948825556146743843925701158295466613586786718976612973112672000729715536130275035561678177654422874421147298816148027052438068176535732755786025058470840132088379328160087690813004924914736825170353822196190390149995234953871059973511434782923394991879366086923013755963685323738067035911442432685615121094042595826393016780171286692392832310576588517140202111969570647998140315056330451415644146231637638099044028162569175764891425697141635984393174332702378123369380430128926263753826677950341693343236075002481757418087503884750949394548962097404854426356371649959499209808842947903636662975260032438563529458447289445471662092974954966168774141208821304770228161164560440072363515811497297392189667373826472047226422212420165601502849713063327958143025160136948255670147809357908896571349261581613469018069650895563101212184918058479227206918716963163300448580201028606578585912699746376617414639341595695395542033146280265189511679380745733157598460861737026878676029436777805002446733913324316698803540732323882818475010516413311895370364884226902704780527424906034920829547550540034571601840725745369381455311753542107265578356154998744474804273234578800618731493415660463529797794550753593047956872093167245365472083816858556060438019770307642460834898761013457093948770029461757920619525492557571090385251714885252656710453498134198033906415298763436954202560802776144219143189213939088345431317696851018401038444723489488695209819435319065065553546173358140455448378847525262539496658699920584176527801253410338964698186424300341467913806190280596078548880107897055169462152287730901044674624979799926271209516847795684825833414022664772108433624375937416105367340419547389641978954253350363018614009515347669614762556518738232924685473569358028960115367917873035531593783630822486151777705415775765617593585120166929431111388635821596676188303261041646517148469793854226216871614001223782137797741312689772667129920259220174087700769562834739322010881593562862819285635718933849588506038531581797606794798408783609759601497334205727046035217906056476032855692762734951822032361441125841824262477120120357763888959743182328278713146080535335744942976217967890345681698895535185044783256163807094769516990862471000197488092050095219436323787197648703392238115403634754886268459561597551937654101150140670012269274743938885899438597302454148010612359080362745852884935632515853843832424932526660875889083187007091002373771065769850564339288543376583425967506537150053335144899082938877373520514593330496265314151413861244379358850709446880454869753581702129084907873478068143663233228194158273456713564431715379678180581958524648400840329099819437817181773023170039897330504953873561162610239994332597801268934326055847102787649010709234438846340117355568659035852449193701810416262085042992586974358170981338940459344719374938776242324098528327622666049423851297094532455862521036008292866497241749191419889661295580767709795947953060131191590117739431042090490794244488685130868444937059090260061206494257447103535476578592427081304106185462198818300906345881870387558562749115873754210646679513464875867715438380185213482819158124625993351601989355951679689328522058247994210345127158771633452229954188396804488355297533612868372259353900792016669413390911687588039888288692160023732573615882071635162713328105181876021048521806755266486739089009071951380586267351243122156916379022773287054108420378415256832887180469879525130732663402785190594173389203585403956770356113293544825856282876106106982297214209619935093313121711878910787668720445488760894101747986471378824621539559333332755620094395804345379197822805903959599274369137937786649409640487778417483364326840262829324062600819080818043909145563519368560630450891422896452199877988493474777291327972660276584016678901364905087411421268619698620441269652829810870454798615595453380212011556469799767857389201862435993267776894540605082188382279098336271671244900267611784982643770330020818445900097172352043319947082420987715144497510170556430295428218196700092025156158441742059336581481349026931115170938722600264586305613256057925609273322655793462808056834439213736884056504343073965740610177793701414246154930707413608054421002956000956635889778992676305177187819437067614982175641865901161608654086353915130392013168057690341725964536923508064174465623515239290504094799531840748621512105618338545661766526063937136588025216662235761322019417013726649660732520107719479312652827633024138051649071745659648537483546691945235803153019691604809946068149040378198297323609300871357607986214254220964190043679054790499300783724215819545354183711293686584305538427176280352791288211293083515756565999447417884383815651484342298587042455924346932952328218035083337262837918302165918361815542171574484657784201343299825945668845582661719790121808494803324487872581837748055222681510113717453684178702802744524429054745182346749195641885512444213377835214238659799259882032870851093383868299065719946149062902574276860388505110326385445404191849588665385450405713236296810691468148478696591668618427567984600418687622980555629630459532279230516167215919686758495236352989357885077460815373214546429847923105116763577494946229525694976603594739624309953433104049942096778838270027144784940690370732491064441516960532565605867787574174721108274357743151940607579835636291433263978122189462874477981198072256467146640548501310096567863148800903037493388753641831651349825466946733161181233648543976493250261795493572043054021829748712511074040116114058999110930624923128131163405492625713567218186289327861388337180285350565035919527414008695109261675414767926680321092374670872136062783329223864136195941213392780361182763241060047409711110481400036233427145144833346416754663546997314947566434236594934968458845515241507563766050866328274247941360628760412906449138285194564026431532258586240431418386695906332450630003922131926476259626915109044576953014440546180378575030366862124622786397527466678701210033929848733750144756003221006223580293437749550320370127384681630610265703008722754629667968808905871276763610662257223522297392064430935243272281008599730951325286306011054979156447918450046180467624089289256809129305929606423570210615246462050232489665939873249339673769520239917608984745718435319366465291258480644801965201628387951894993367592414856261369959453072872545324632915291101287637706055706095313775277518679232921349552451330898679691651290738413021675732386375758200803635757280027544903279530799007994425411087256931880146679355958346764328688769666100973957499678365933978463469599489506104903836474095046952260638580467580730699122904740898791668721171475276447116044019527181695082897335371485309289370463844208932997711258568408466083399340456890267875160087754612679880154658565220612109534907967073655397025761994313766399606060611064069593308281718764260435734253617569437848484952501082664883951597004905983808121052211110919433239511360514464598342107990580820937164645231277040231600721385437234612672609978703856570919985075956346132484601884098501942876879022687345565005191215465440638292538512763176639220509383452043007730170299403626154340013227639109129883278639204123004455516840548898090807791746360924393349126411642400938807463566072623366958427645836982687348158819610585718357674620096505260659292635482914990457683072108932458570737016607173981944850288426039636607460311847862258310565808708703055675958613417007454029656876347741764310517510367328692455585820823720386017817394051751304379948688223200443780431031709210342616749980000730160948145863744887785222730763304953839443453827706087607635420984450083062476302535727810327834617669705442871553153400164970766571959850417481990872014908756860377835919947193433527729472855379257876848323011018593658007172911869676176550537750302930338307064489128114120255061508964110076238245744886551825810581403453201247547232690875475070785776597325428444593530449920700145387489482265564422236963655441942254413382122254774975354946248276805333369832841561386923634433585538684711114304982483989918031654586382893537991305352228334301379533729540162576232280811384994918761441413229337671065634925288145282395062090223578766846501166600973827536604054469416534222390521083145858470355293522199282727605748212660652913855303455497445514703449394868634294596584310241907859236802245607639367841662705185551787029040735573046206396924533077957822459497104201880430001838814290081730394505073427870131244668600927785818110409115117293748736278878749074652855654347488868310641100510230208751077689187815256227352515503795324448577872776170019648537035551676552091193393437628662846198440262952521836785223674751088097815070989784130862458815226609635514018744958369269177990471207264949057372642860052114035812310760066995185361248627467563758962252991164960668765082617341784847893372950567390078786179253514406210453662506404637288156982323175005962610809219552111508593029556549675388626129723399146283584760486276270273097392020014322487075823373549152460856082103288829741839064788699232736913600488374366152235170584377055452108155133612621429118156153017588825735948925071088792621286413924433093837973338678061317952373152667738208580247014335270092438032669517421195076708843263464427491275589077468635821621660427413151702124585860562336314931646469139465624974717419583542186077487110573384584336899396459137406033821593522435947516262391886853078228217639832373061802042465604775279431047961897242995330297924974816840528937910449470045908649918727273454135081019838818646736093925719305119686456018557824502182310658894379865224320506773799661969554724405859224179530068204517953700434724517628935667705084902131077366257516973355274623029430312035962609534235743972496592110106578178261087453188748031874308235736991951563409571627009924449297491054898515196586647401482251063353679497371425102293418825851173719944991150975837461301055050641977215319293548753711916302620303285886585284801935092258757755974252765840117213423236480840271433563675420463751825525249443296570438613878659019657388028684018940876728167141370336617326501205786539157807030887142615190750014925761129276751930967284539711602136063030905422439663206743235827978893323244057791992784846333397777376559018705748068286783479656241461028995084873996929707504327530299728722973279344429886464127253481606037797072982991730292963086958019963124133049393504933254123550710544611825911411164545347103298810478440677801380771314654000993863064812666143308582068113958383191695455582594268957698414288937434670841079463189325391069639557807060212459748982935646135607889834724199794785643620420946134123876131988653523583129968622689486084084566556068769545012744866314050547353517468730098063227804689122468214608067276277084024022661554850240089528916571176174390203375848778429112896232470591918746910420058483261406773337510271956539946971625172483122306339193287079838007484857265161234349332733566644733585564302352808839243482787608861649432893991663992104883078477770480457284914563033532650700295889062659154985094079727675671297950100982294762289618915914415200322838787734851309790810191292672271037788980539641563623641691549857684083984688616843754070651210390625061281076637990479088796747780697384731704752534421563903872012388063236880370179493089549007763315230635483742568166533616066419800301882871237674818983302468363714883092592833759022789425880600872860388591688497306939480205112217663591382515242786700944069423551202015683777788518246700256517085092496237477268136942843500629388144299879053010562173754591826799732177350293689280652100253962688074980926434580116557158867004435039765053234782873273688408635400027406767838219635222265392909398073673913640828987220177767471681181958561337215831190546829360832369761134502817578302029348459829250008956826302712632958662921476531422333517930933879513570953463771836840924444220963193312956203055755173400679737406141621079236334238056468500920371671526425563718538895714164197723874226105966673969971731681694154350952831935564177056686222152179911513556397071433128936575538446483262012064243380169558626985610224606460693307938478588143674070005997697036490192733288261353293631124036506986521606389872502672380874033967443978302582968942568967418643361349794752455262914265228424192430833881035800537870239995421721136865502753413622116931406946695131869281025747959856051450050217159133177516099578655519818861932112821107094422872404424811534060558959583558152320121846058205635926993034788511320686266275887714460359966561084307256965005630644891875994665967728471715395736121081808415472731426617489331341746326623542220726001460127012069346395205644455432916629866607830890681187900908152950636267820756143888157813511346953663038784120923469428687308393204323338727754968052103028215443247233888452153437272501285897476914608083144041258681815400491877722878698018534545370065266556491709154295227567092222174741120627206566229898060328916720687436549482461086973672255474048128892424718543236057534116728507575520571311566979545848873987422281358879858407831350605482905514827852948911219053831956242287194847594078593980479010941940706717644390327307121358873850499936388382055016834027774960702768448802819122206368886368110435695293006521955282615269912716372773884189932871305634646882273982887631986457098363089177864870866761854856800476725526754147428510281458074031529921978145577568436811101853174981670164266478840902626828244482580275320945499151045185177165463118049045679857132575281179136562781581112888165622858760308759749638494352756766121689592614850307853620452745077529506310124803418045840594329260798544356200937080918215239203717906781219922804960697382387433126267303067959439609549571895772179155973005886936468455766760924509060882022122357192545367151918348725874239194108904441159599327600445065562064611646556654875942473692523369559930303550958176261762318495619064948396730020377638743693439998294302091470736189479326927624451865602395590537051289781634554233201149759948962784243274837880327014186769526211809750064051497558896502930048676052080104915378854139094245316917199876289412772211294645682948602814931815602496778879498137772162293594378110044480607976724292762495107841534464291508427645200020427694706980417758322090970202916573472515829046309103590378429775726517208772447409522671663060054697163879431711968734846887381866567512792985750163634113146275304990191356468238043299706957701507893377286580357127909137674208056554936246 Link to comment Share on other sites More sharing options...
YearsAlongTheSea Posted March 15, 2007 Report Share Posted March 15, 2007 etc.... Link to comment Share on other sites More sharing options...
\/\/illy Posted March 15, 2007 Author Report Share Posted March 15, 2007 Yup; and so on... Link to comment Share on other sites More sharing options...
fluffhead77 Posted March 15, 2007 Report Share Posted March 15, 2007 I'm hungry now... Link to comment Share on other sites More sharing options...
PalacePrincess Posted March 15, 2007 Report Share Posted March 15, 2007 i like pumpkin. with cool whip. oh, and the best i ever had was strawberry at the farmers market. those mennonites make a mean slice. Link to comment Share on other sites More sharing options...
ggrtrhhrtgg Posted March 15, 2007 Report Share Posted March 15, 2007 I like pie Link to comment Share on other sites More sharing options...
phishtaper Posted March 15, 2007 Report Share Posted March 15, 2007 pi is overrated. now, (beauty X intelligence) ... there's a constant! Link to comment Share on other sites More sharing options...
PalacePrincess Posted March 15, 2007 Report Share Posted March 15, 2007 okay, har har har -- now edit yer damn thread title, VVilly, the infinity of pi is causing too much side scrolling. i'm a busy lady, i don't have time for this! Link to comment Share on other sites More sharing options...
Sarahbelle Posted March 15, 2007 Report Share Posted March 15, 2007 lol.. crazy pi. Link to comment Share on other sites More sharing options...
Tooly Posted March 15, 2007 Report Share Posted March 15, 2007 fave pie memory #1: cruising with lil T, jay and kristi sanislo in ohio, coming back from phish in cinci, listening to keller williams Pie Party show , hearing keller say "hell yea i want some pie" ,laughing, loving it, turn a bend, see a huge sign above perkins, 5 foot tall letters : How About A Slice Of Pie???\classic, sure you had to be there, but i tried to put you there with my descriptionspi is kinda fucked up, how can it be the ratio of circumference to diameter for any circle and still be the same number? Link to comment Share on other sites More sharing options...
bouche Posted March 15, 2007 Report Share Posted March 15, 2007 GEEKIEST POST EVER! Link to comment Share on other sites More sharing options...
d_rawk Posted March 15, 2007 Report Share Posted March 15, 2007 Dude, pi == 3.2But the definition usually given for pi is the ratio of the circumfer-ence and diameter of a circle, and that's the definition that I'm usingfrom here on. Accepting that as the definition and accepting standardratio operations on Goodwin's "ratio of the diameter and circumference",the only conclusion can be that the bill assigns the value 3.2 to pi.The Case of Indiana vs. Pi* THE STORY OF THE BILLThe bill's author was one Edwin J. Goodwin, M.D., who evidently was acrank mathematician. He lived in the village of Solitude, which is inPosey County, Indiana, about 20 miles west of Evansville. And theepoch-making suggestion that he put to Taylor I. Record, the stateRepresentative for the county, was this: If the State would pass anAct recognizing Goodwin's discovery, then he would allow all Indianatextbooks to use it without paying him a royalty.Record went along, introducing the bill into the state House on the18th of January, 1897; the legislators then referred it to the HouseCommittee on Canals, also called the Committee on Swamp Lands. On the19th, that committee's chairman, Representative M. B. Butler of SteubenCounty, reported back with a recommendation to refer the bill to theCommittee on Education.On the 19th, two Indianapolis papers had carried brief notices about abill telling how to square the circle. (That's the name used for theproblem, which in ancient times was to be solved by a compass-and-straightedge construction, of finding a square with area equal to agiven circle.) Then on the 20th, the Indianapolis Sentinel ran thefollowing article: TO SQUARE THE CIRCLE Claims Made That This Old Problem Has Been Solved. The bill telling how to square a circle, introduced in the House by Mr. Record, is not intended to be a hoax. Mr. Record knows nothing of the bill with the exception that he introduced it by request of Dr. Edwin Goodwin of Posey County, who is the author of the demon- stration. The latter and State Superintendent of Public Instruction Geeting believe that it is the long-sought solution of the problem, and they are seeking to have it adopted by the legislature. Dr. Goodwin, the author, is a mathematician of note. He has it copy- righted and his proposition is that if the legislature will indorse the solution, he will allow the state to use the demonstration in its textbooks free of charge. The author is lobbying for the bill.Another Indianapolis daily ran a more educated article, even mentioningFerdinand Lindemann's proof, just 13 years before, that pi is actuallytranscendental (which implies that squaring the circle with a compassand straightedge must be impossible). Unfortunately, this was a German-language paper, and so their article didn't get a lot of notice amongEnglish speakers.And the Committee on Education's chairman, Representative S. E. Nichol-son of Howard County, reported back on the 2nd of February "with therecommendation that said bill do pass."The bill duly came up for second reading on the 5th, and passed. Nich-olson then moved the suspension of the constitutional rule "requiringbills to be read on three [separate] days", allowing an immediate third(final) reading. The suspension passed by 72-0, and the bill itself,by 67-0. The Indianapolis Journal called it "the strangest bill thathas ever passed an Indiana Assembly."However, by sheer chance, it happened that a real mathematician, Prof.C. A. Waldo of the Indiana Academy of Science, had been present in theHouse that day. To quote Edington quoting Waldo: ...imagine [the author's] surprise when he discovered that he was in the midst of a debate upon a piece of mathematical legislation. An ex-teacher from the eastern part of the state was saying: "The case is perfectly simple. If we pass this bill which establishes a new and correct value for pi, the author offers ... its free publication in our school text books, while everyone else must pay him a royalty."Waldo was then shown a copy of the bill and asked if he wanted to meetits author. He replied that he was already "acquainted with as manycrazy people as he cared to know."Fortunately, Indiana has a bicameral legislature, and by the time thebill got to the Senate, Waldo had been able to make sure that theSenators were "properly coached". The bill got its first reading inthe Senate on the 11th of February. Apparently in fun, they referredit to the Committee on Temperance. And the next day its chairman,Senator Harry S. New of Marion County, reported back "with the recom-mendation that said bill do pass."According to the Senate Journal for the 12th of February, the billwas read a second time, an attempt to strike out the enacting clausefailed, and finally the bill was postponed indefinitely. But thisleaves out all the good stuff, as reported in the Indianapolis Newson the 13th: The Senators made bad puns about it, ridiculed it, and laughed over it. The fun lasted half an hour. [Then] Senator Hubbell said that it was not meet for the Senate, which was costing the State $250 a day [!], to waste its time in such frivolity ... He moved the indefinite postponement of the bill, and the motion carried. ...To which Dudley comments that here it is almost 100 years later and thebill is *still* indefinitely postponed. As to the Senators' attitudeto the bill, the Indianapolis Journal reported: All of the senators who spoke on the bill admitted that they were ignorant of the merits of the proposition. [in the end,] it was simply regarded as not being a subject for legislation.And so ends the tale of, as Waldo put it, "the epoch making discoveryof the Wise Man from the Pocket." Goodwin continued promoting hisdiscovery for a long time afterwards, but never came so close tosuccess.As Allan Adler said in a Usenet posting, "and before we laugh too hardat the legislature of Indiana or at the state of education in 1897, Ithink we should have a moment of silence as we contemplate what fatethe bill might have if it were brought up for a referendum today."* VIEWPOINTS ABOUT THE BILLFirst, let it be clearly understood that everyone agrees that the billwas mathematical nonsense. But that doesn't mean we can't have funthinking about it.In Singmaster's article, he has fun by taking each individual mathe-matical statement in it at face value, and comparing it with a truestatement involving pi to derive a supposed value for pi. Dudley alsogoes along with this approach, citing Singmaster.My opinion, on the other hand, is that it's more fun to try to recon-struct Goodwin's thinking, and Singmaster and Dudley don't provide afair representation of what that was. I think my annotations, givenbelow, do.It's clear from the text of the bill that Goodwin's version of geometryhad lots more deviations from reality than simply the shape of a circle.So what I have tried to do below is to identify *each* of those differ-ences, and to see just how self-consistently the bill can be interpreted.Now, the term "pi" can be defined in many ways, all of which are neces-sarily equivalent in real mathematics. For example, it is the ratio ofthe area of a circle to the square of its radius, and also the ratio ofthe circumference and diameter of a circle. Then there are possibledefinitions based on infinite series or on probabilities, having nothingto do with geometry. In Goodwin-land, these definitions are not at allequivalent, and this is the source of Singmaster's many values.But the definition usually given for pi is the ratio of the circumfer-ence and diameter of a circle, and that's the definition that I'm usingfrom here on. Accepting that as the definition and accepting standardratio operations on Goodwin's "ratio of the diameter and circumference",the only conclusion can be that the bill assigns the value 3.2 to pi.Most people writing about the bill have considered it as an *attemptto legislate* the value of pi. To Dudley, this is a "falsehood" which"all of us who revere reason have a sacred duty" to put down. AsDudley says: The bill that the Indiana House of Representatives passed was not one setting the value of pi by law. It was one that gave the state the privilege of using the proper value of pi for free.And so, he says, when the Senate didn't vote on the bill, There was only a refusal by [the lawmakers] to take [Goodwin]'s value, or values, [of pi] as a gift.Now, this is an accurate description of the bill's *intent*. But allthe same, it *was* a bill "setting the value of pi", in the sense thatsections 1 and 2 of the bill really would have *enacted* Goodwin'sformulas. Therefore it is also quite accurate to say that the billwould have set the value of pi to 3.2. Link to comment Share on other sites More sharing options...
paisley Posted March 15, 2007 Report Share Posted March 15, 2007 Kate BushPISweet and gentle sensitive manWith an obsessive nature and deep fascinationFor numbersAnd a complete infatuation with the calculationOf PIOh he love, he love, he loveHe does love his numbersAnd they run, they run, they run himIn a great big circleIn a circle of infinity3.1415926535 8979323846 264 338 3279Oh he love, he love, he loveHe does love his numbersAnd they run, they run, they run himIn a great big circleIn a circle of infinityBut he must, he must, he mustPut a number to it50288419 716939937510582319749 44 592307816406286208 821 4808651 32Oh he love, he love, he loveHe does love his numbersAnd they run, they run, they run himIn a great big circleIn a circle of infinity82306647 0938446095 505 8223…(pretty song off her latest, better to listen to than read) Link to comment Share on other sites More sharing options...
phishtaper Posted March 15, 2007 Report Share Posted March 15, 2007 ok, thats creepy, i was listening to Aerial this morning. get out of my head!!! Link to comment Share on other sites More sharing options...
SmoothedShredder Posted March 15, 2007 Report Share Posted March 15, 2007 Link to comment Share on other sites More sharing options...
paisley Posted March 15, 2007 Report Share Posted March 15, 2007 think that \/\/illy is the one actually picking up your transmissionsthat said, its nice to have an excuse to bring up Aerial (out loud like) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now