diff --git a/.DS_Store b/.DS_Store index eb040d2..58dc0ee 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/data/vle-0.80-reference_config_init.xyz b/data/vle-0.80-reference_config_init.xyz index b124af6..35e4189 100644 --- a/data/vle-0.80-reference_config_init.xyz +++ b/data/vle-0.80-reference_config_init.xyz @@ -1,164 +1,164 @@ 162 # -C 0.2899152615669398 10.776325240042878 4.071232321864463 -C 1.950246649603684 14.785953119294565 4.728237593310071 -C 0.5534040869427426 10.459972769334765 1.5531073027358948 -C 3.3656934989330045 14.79907189286368 2.532640178693785 -C 1.5982107028023314 8.734680524107404 2.460549168835219 -C 4.532729390437969 5.877078398134257 0.09216051591193097 -C 1.9044883956669234 6.678075090369369 4.6060674968757045 -C 0.8384019282552374 4.372909524142651 3.9121305834022166 -C 2.5251328038505343 16.2986806091164 1.0624383289194776 -C 2.867446297362651 21.39540919808885 4.966928351718581 -C 4.892098102891896 18.3426074120926 1.2821955077227642 -C 4.377314304972796 20.326382258089364 3.7772438871348726 -C 4.895192643404142 23.756750290610448 2.6477410099199163 -C 0.9528346058365594 21.815694658927853 2.5090842816281183 -C 4.299767148956369 23.1323125249433 4.903337500498617 -C 4.366397481333609 17.17323040959754 2.743408914155094 -C 1.665189460396752 20.37271013300296 2.8956415460376017 -C 1.1980604138396562 21.610025735672544 2.401631507229321 -C 3.4078007974562867 20.952918201352524 0.835719280991995 -C 1.3057858789877903 21.000141025226686 2.8327364489736278 -C 1.8328116815949218 18.04715632669988 3.2499701420980216 -C 3.070563878814587 16.502908089891957 1.7502170325637556 -C 2.1536116824759666 16.251348059006048 0.8476041596241274 -C 3.395653424740833 19.556899955093012 3.384063311280469 -C 3.2965197193784137 18.912091805180793 0.9323736626358137 -C 4.893932953375813 19.829911030646368 1.6700327192204556 -C 3.383145204588094 20.5290055086059 1.6021493938354587 -C 1.7838114617806389 16.479885023283742 1.5227327970951354 -C 0.6829420681618248 18.42464912594609 4.917358576285472 -C 1.3004956499471498 17.20334243537419 0.9704463409117392 -C 1.9023348559339452 23.38036001957391 4.464911119281751 -C 0.8491623093679385 19.409256312353524 3.4896415001375813 -C 2.376088703514681 18.519238045620703 0.6779644535958063 -C 2.4497730029020897 19.8397307493086 4.994334246980049 -C 2.28974544174596 23.466686133852008 0.7973967261891585 -C 2.719569803845197 23.516001262469967 0.2655804973535275 -C 2.6617144873039833 18.73681812688794 2.5562295356294564 -C 3.7891737667070444 18.748477386082477 4.818579775411008 -C 4.507950010276495 23.971360850823014 1.782223008530237 -C 2.8193743767989776 21.638070474302687 4.282987411227651 -C 1.0119890067222985 16.798027837708652 1.5634558743999671 -C 3.25856497057711 19.074570039925135 3.760197955886448 -C 3.2027808705853777 18.192400854138285 4.963355800313575 -C 1.0086499003119642 21.84537160909483 2.2289621128419626 -C 4.830192027277659 18.605606026113776 4.222494313119026 -C 0.46099970443951643 16.10074590175745 4.922365320125715 -C 2.28680999361302 23.496168185266086 0.37238598045411686 -C 3.504086223470748 22.230948921370832 0.6376974945303621 -C 2.019461991235173 21.620587966434154 2.183187948152362 -C 0.22547328606612904 23.167574429730678 4.958709001414884 -C 2.91346356808281 22.511300608565435 3.2594958096304816 -C 4.297774296862828 23.538024599639364 4.403766715499676 -C 3.4926350392371823 20.479004689491887 2.1546214651041296 -C 3.1612910032021198 21.575811583059437 3.3185867899412633 -C 3.3180921292916645 19.355347588748423 4.588361940193677 -C 1.1589938641027187 16.93140039995939 1.167859908007981 -C 4.539302521410798 19.429451205212587 4.136254066984706 -C 1.6788998421518209 18.445801436170452 2.805886242327973 -C 0.47091625683155336 21.23167173346938 3.3760101598699546 -C 3.259764420751045 22.20768113151677 4.983139733114619 -C 3.699209462829768 22.674110347961737 1.4243786991893685 -C 3.2480597232576858 23.745268168331247 0.3889934850708371 -C 0.44556765764394934 16.03021563571329 2.8865288262583944 -C 1.4999964782819681 21.24167853890173 2.4611740251509646 -C 3.378358965330043 18.34401890682368 2.045089086971526 -C 0.21671064280325336 21.736308011074122 0.6243721653189516 -C 2.338668183658836 21.09936847865649 2.178074925352593 -C 1.9903723572046095 22.345495586078055 3.1210386087365083 -C 4.335540655630304 22.337400084837373 1.7089516889901535 -C 4.462072263263768 23.519260772893404 1.6082177301642115 -C 4.141567115865847 20.024689459785023 2.3461853408474393 -C 0.6962957852673057 21.783955881272046 1.928783207485002 -C 1.1202514668654118 17.395074626540918 1.8028156653969596 -C 1.069477542062729 23.47298679109195 1.618678599645465 -C 1.9357535021591155 16.9621381869832 1.9204137803467818 -C 4.913676230451819 23.08676455110035 3.946898096252775 -C 1.5147960228520252 18.99996032614399 4.681803407949233 -C 0.9352869869328995 16.604067808701988 4.373020256934309 -C 3.7804538545951187 16.331616829627304 2.804988511456272 -C 1.6372031036083428 20.06058484030703 1.9798018914289817 -C 3.0251666816373883 22.096656425677697 0.43327216964170856 -C 4.284824062856895 16.689196862163595 3.100392438519287 -C 0.035799797440795866 22.133379880783988 0.9624304526908312 -C 3.1876646287085713 23.031786091317038 4.869196657404442 -C 3.897957719047157 18.895248763791052 1.5447822309604704 -C 3.096097708247529 21.341324290925897 3.3842324875988536 -C 2.6209689750889913 17.582210564597272 0.7440478830949199 -C 1.05496943674577 16.78053571488146 2.172591792195464 -C 1.926147894687119 18.8569267128741 0.09271069757891381 -C 2.569355806568402 17.236134804523758 2.307684562821646 -C 3.4846721443092536 21.444586997778273 4.988108135297659 -C 1.024952252843963 19.935306924880937 2.81839458607687 -C 1.7790100610758852 22.52804863604677 3.7113324411295654 -C 4.6364110433214805 18.214066184869406 3.292479654985994 -C 2.470683184642141 20.564261651470915 2.641740044695096 -C 1.726626471063533 19.474730215031112 2.9693529413010693 -C 0.41024762524168923 19.977765825289836 3.694838680984543 -C 3.232302633123854 23.139280139645557 1.1189917129334832 -C 0.9780981788499538 22.18291573179694 4.125303349731523 -C 1.9403836628597526 18.365678638282844 1.4549793428789375 -C 4.290221508907614 20.738518411636363 1.1854531750351986 -C 3.5638635918624875 17.917148283020158 3.9773067944384044 -C 4.208622330937174 16.420094363084793 0.9801079571533672 -C 3.4996990657158507 16.70563516437973 1.5110511869000776 -C 2.1246406389601304 19.319816449562172 2.2538959588334038 -C 1.9221506561928985 21.353968995948986 4.044023198991306 -C 1.8920536919650843 23.41506838657168 0.6682241688958868 -C 3.301997479938131 16.73456348128924 2.613750705639892 -C 3.948117825608048 19.424370602853784 0.9402157368310682 -C 4.537222629345748 17.325193244645455 1.8097888180312478 -C 1.9290038823553997 19.09180075617568 4.821092762214456 -C 4.590515860351742 18.545480598636974 3.7885607554928002 -C 0.27049057811579846 17.61256063279143 3.859332163557425 -C 0.21229531783639566 23.63377178328145 4.037273289028965 -C 1.6276283764760358 19.119388542205098 0.19762978096271033 -C 2.9527289715615397 17.44791290088518 2.8835500653168493 -C 2.4956713093808496 18.753541347180334 4.465151780906113 -C 0.3005228851901032 19.86749815832863 4.197521975710788 -C 1.774523103287566 18.81038837422289 2.4960051622043267 -C 0.27187407388502394 21.64440438924526 3.5368321420772704 -C 3.133548369109189 22.981728210035417 0.5397011157737858 -C 3.8904717632640646 17.422874378200476 0.5454767477172212 -C 2.188182106208739 20.23337977670954 3.1291395889057143 -C 3.48977101851238 19.018473065950825 4.898445458316534 -C 3.9962834601538244 22.765308924495738 2.333660495348877 -C 4.8232908144780415 22.047170172809242 4.440368504262716 -C 1.944167334767613 18.667942234645746 3.013858444909074 -C 4.017597501931009 21.670498679385712 2.6406604934359805 -C 4.422920080144072 20.375941000365067 2.8277711662976692 -C 0.7082933807550046 19.397139322934756 4.414951275613137 -C 3.5610221475319697 19.05787596695275 3.9464640012049705 -C 4.515826045336039 19.30558809882992 3.938226853017155 -C 4.735821035914142 22.691971152596135 3.4734689046885543 -C 4.362865643864749 20.881169791816717 1.1339813289765726 -C 1.444445843118698 17.854289161707825 2.727061409427751 -C 2.678887970057527 17.241277253377152 1.245462075184414 -C 2.457321362987224 19.42245522259847 4.630083485917174 -C 4.651091296907129 19.79387569841959 4.455271191040656 -C 0.6460319720380597 19.689079711146004 0.14487353094785882 -C 2.7848441310582563 19.457682097836127 2.8124377895534467 -C 3.937811472786008 20.961319693754792 0.9201683284951068 -C 1.53538021456599 16.071995981119684 0.8844584712266351 -C 2.4192361780050318 18.511192360174753 4.940906860050987 -C 3.9948971815502636 18.826119819564294 1.323407149994929 -C 3.6705143663481667 18.854815074035834 4.266479800298447 -C 1.123184502691218 16.99730813143651 4.18560186705854 -C 0.312552873297392 20.59930725733082 2.1510764581470143 -C 0.7466020840318499 19.53627506966795 2.9369812167610503 -C 3.4044106302138175 23.679773713851226 3.4676046122914017 -C 1.2215389385200137 23.041151623972237 1.5870129517817761 -C 2.032448643693661 23.72332745552522 2.333146899724209 -C 3.8350938650266366 18.19934043058221 3.9708078119374073 -C 4.939655401969124 23.667551795338078 2.209358374308631 -C 1.3931040978074831 20.265242844985888 0.23809584952635077 -C 2.4535529701177694 30.837484249347177 1.55258225614208 -C 3.263201236773326 39.37791238074016 2.9169239776333122 -C 2.3494077451813675 26.005629073812194 2.3372669775845494 -C 3.8985656920484018 28.1878301240398 2.5872979849833513 -C 3.649024995108656 24.058740214072138 2.307398584769299 -C 0.46345713161751345 33.65789165140533 2.181467883883426 -C 0.9274252343310185 35.696591491879076 3.0119457575283706 -C 1.1958367360146671 31.31207458773013 3.3162576322711206 +C 1.4854258524889252 13.567414922814164 0.36812707415960155 +C 2.099198826190719 5.453056754142667 3.8031775782586417 +C 2.0628657773561083 13.757862510950096 2.584952410014062 +C 1.0597809813845716 5.934893720170168 0.2047592091679079 +C 1.4907054207701504 13.355052910966597 4.58990897004134 +C 2.169140991566905 6.399356463974762 0.7622002525926358 +C 3.6637330355528235 4.729078373151653 0.14421566794263263 +C 3.3309963621250565 15.453043154391427 3.504060113201905 +C 1.78773799192324 16.856523692562895 3.116134458564539 +C 2.841367625330112 16.371270880264095 2.7816245745461607 +C 4.5398558080280225 17.5573991057983 1.843346072261704 +C 1.401600884044526 17.87820773560149 2.0784996245287637 +C 2.137888104140843 17.117542203197836 3.165053641871893 +C 1.9777488882760013 19.257208526734036 4.497193341926187 +C 1.0689828433307613 18.165754476839453 2.8590938206371543 +C 1.7742740083038944 19.94812940262132 0.8706675339387882 +C 2.089503522987502 23.18305315048844 2.6181266088531787 +C 4.264325418618636 23.030732591535955 2.9623972667311045 +C 0.23056854018542017 21.4567381820697 3.626542432072445 +C 2.924589087508733 23.664783074359413 1.8999988032564668 +C 3.242449559689261 19.500370246730853 0.48674101567253214 +C 1.4986551051283592 18.486033588256735 4.042765861444207 +C 3.4193632659793893 23.229473448955098 3.1918603439500046 +C 1.7820152195858963 18.159655349820554 2.303736082665213 +C 3.625794860442992 17.126911251717278 2.596666026769366 +C 3.4428342998867563 17.931384348931417 3.9917184102082293 +C 4.743051400231897 19.636095764766694 2.8161688671322036 +C 1.294719318564594 23.465602524878076 2.251525009748383 +C 3.774629371032843 21.207360012183052 0.9956589701711288 +C 3.7348365503908276 17.694576298023954 0.5319369189631801 +C 0.7436011861786579 19.176032878934134 1.7969582707972016 +C 3.1728410596364665 19.42828739674075 4.0365063766949145 +C 0.5931809532561583 20.47209480965094 3.1590850569027094 +C 4.278483714641979 20.75969268174108 4.723907600993214 +C 0.7311441829157594 16.85008075507568 4.445063597726554 +C 3.188376433676685 19.89371629514797 2.0589847482817465 +C 4.074745516299144 22.849904239655007 0.5760032700837953 +C 3.004235911387531 22.752955140519024 2.0739595330768172 +C 1.9537516631869174 20.882877764704748 2.1031571454790168 +C 3.6652243797354833 16.47278643554202 3.73848928014511 +C 2.1905110396659655 17.17761138090858 3.93735261869107 +C 0.9939360474978098 22.22040636809234 2.3799976469723743 +C 0.5267147731291916 22.29300080789379 2.886362137550344 +C 0.3332610934423885 16.185499943254335 1.0329746835142994 +C 3.991543834147425 20.56778791723763 2.989345158137851 +C 4.495167332473711 20.479160439470295 0.5212584951830285 +C 1.0212889509551215 21.810008303510756 1.4541131315215805 +C 4.028128722263046 23.3947004658419 4.383147268719049 +C 0.22342004604786025 18.52956003741436 0.17910830211084694 +C 4.070076873354881 22.82805810258304 2.557183408702313 +C 3.9375798140410545 21.941329470451944 3.3492611793797398 +C 3.8460049583105422 18.865000017855422 2.665410840543787 +C 1.6141016614633648 19.56991824929476 3.993413780722941 +C 4.814791247941669 16.563156080560315 1.9915430749137708 +C 1.6462153961416366 21.472323826167056 4.160538209644502 +C 2.3104347015030404 20.55804709588574 4.030906431698339 +C 1.816747850266605 20.831012745300356 0.7088246967325279 +C 2.0709122767402475 22.82357115799412 4.015975843926466 +C 3.208104153131284 23.737019621680442 0.8535311036755083 +C 4.071513005592747 18.839997796908513 0.27547340794603137 +C 2.662521724924326 18.449134606506 2.046404013103127 +C 2.343150435901226 17.630872936782755 1.4103053332017645 +C 0.07742412372516161 16.217683815523195 4.706596502512992 +C 2.2050159143733783 22.283757962327165 0.10959982050239347 +C 1.4672863374713634 16.650777598053065 1.6087712860943215 +C 0.0883045715393721 18.51150359085133 3.85309105297845 +C 1.123086340477355 17.152186293733156 4.384141626676914 +C 4.550954814159901 22.258263496909652 4.78621787273319 +C 3.036599914348076 18.465397257596695 2.3575009241151523 +C 1.5962869653169238 22.316281016217367 3.160774041225491 +C 3.5303668798027967 22.75725191124757 4.243122979832384 +C 0.38702616363058495 20.101211093192177 1.2758504310166714 +C 4.63467956561423 20.008865015562648 1.676920857418508 +C 1.2503833293106688 18.29306493948333 0.10945286481102157 +C 3.209637259185041 16.60892263017559 3.1125319396026594 +C 1.8751359777662324 18.771962154437787 0.7793036724127639 +C 0.9562740992899288 23.176716985232577 0.8252395043194449 +C 1.8112150335165205 22.35720868497875 2.963226378438425 +C 1.8851760594346896 21.774526499591854 3.2438670965521292 +C 3.3529539269187554 16.689563512844824 3.3786439058125546 +C 3.9625440933699925 19.525437837606646 1.944751820921748 +C 4.592171795348195 20.87773780191545 0.08424516776841084 +C 4.481493591546496 19.481245232588535 1.639202723898698 +C 2.306406682926646 23.033752087837765 2.206423449580148 +C 1.051925889666732 16.716333637282908 0.7560107243577324 +C 1.7742993800298856 20.01923788362294 3.44768282573137 +C 2.232749765698773 17.3539895020016 0.4846589815644764 +C 4.926176425941274 18.00099981780029 3.426707845885304 +C 3.0878747849965738 16.163507339872197 0.7094722041572993 +C 1.4423000676401376 22.97957080199075 2.875106939246636 +C 4.067866000761551 17.23049214405261 0.11875104481524068 +C 0.5022778206029616 17.986867825923916 1.620231858807189 +C 3.648041039810601 22.458037879364763 3.557681328057849 +C 0.9811453301745898 18.09917815603301 1.8372306687877544 +C 2.242830151984274 18.64845441917901 2.659335138759247 +C 1.3469562853854156 19.975279676181298 4.466628744129212 +C 2.6934458859123858 21.293454074177795 4.4750989485286885 +C 0.9491793870777115 22.51363566799443 3.427282563459193 +C 0.9291696115858178 18.82223661673928 4.324748797857993 +C 3.182815186600219 20.03474694688297 3.5376639940741974 +C 2.3122171114520933 16.400758148662938 1.1588105025423623 +C 3.060249290171889 20.312968200810907 1.9610413957924107 +C 3.9925619645555415 23.636400144594155 2.2693615197511363 +C 1.2497193390090726 16.20725727605629 3.9353097941751214 +C 4.846063617367669 19.361511112235547 4.203778566866726 +C 4.207819573968619 18.728892668381874 1.9362181658381583 +C 2.625708894512493 21.31635230800369 0.3524850449144351 +C 1.2257435374423131 22.354701894110175 2.147171308400713 +C 2.3822634376502316 23.547935945336675 2.7186604172898483 +C 2.9225368504875564 17.02213180322451 4.659342783120409 +C 2.2934030710158426 22.667484059708258 1.340666401249218 +C 2.4147533554761926 23.769477059689695 1.2850750499127062 +C 0.5905131316261336 17.397773292630674 2.9287648350221867 +C 0.11148609732241577 17.588418242847112 1.34720976492325 +C 3.5676197423359692 21.19633233421139 3.907637497019339 +C 3.1381788290193526 23.853511773428657 2.264888906219618 +C 2.3944972653150964 19.938671068383968 2.673479139735263 +C 2.777222439226421 16.102640326808107 1.0008495827103552 +C 0.5214011182061767 20.60749900092748 1.4831410683928314 +C 2.7057594029718746 18.225647531572513 4.11265747081133 +C 0.9790683581207843 20.08192603931492 4.492003454202375 +C 2.8716617927055648 20.880624501515204 0.6760919261708154 +C 2.4263021752471925 16.679394124027922 2.774213108458542 +C 1.557387577197638 19.19182887262682 4.758701098460582 +C 2.957140705885063 19.26915064872985 0.3072196630070917 +C 2.272946067532909 23.919689048343578 3.834011305078975 +C 0.8367626623289326 20.715538418858976 2.673514506980135 +C 0.9493193504059722 16.4299927274157 2.4785970098505823 +C 1.2603631559702466 23.34252163237691 0.023857088759546285 +C 1.6783171081840327 20.993617211419203 1.1175374788906383 +C 0.6332219610093498 18.499703444616152 0.10157096245602071 +C 3.0708831542854567 22.516321500663786 1.6778917741370492 +C 1.9725497773882301 17.04734078841029 4.316326355530766 +C 0.8150585109921232 20.224799334318906 2.710342308901584 +C 0.7289994703199487 17.455927072709926 1.2636029974886247 +C 0.06752383689896058 21.10921006770099 4.745551767858183 +C 3.1461911603572097 19.78358858401039 2.2131956605426186 +C 0.01469314367209984 18.39944907439007 4.495778244624006 +C 1.2514147957529875 19.362181963279777 1.9038038818206422 +C 2.206100966240517 17.97656373783788 3.05476596725968 +C 0.8235352906766746 18.65039207931448 0.6046073224904341 +C 1.8791214188101013 21.627912466872107 3.0400415061580013 +C 3.267220165718787 18.141674367070237 3.9304632111999185 +C 4.358407396853906 17.13313219695699 3.4808971010661116 +C 1.744349569046038 23.70284228881375 4.7004211262336835 +C 3.095131705812106 17.886782174463292 4.770389648787357 +C 3.277460316675063 23.649547886377988 4.047789954724793 +C 2.0230292654460107 17.95541679161427 3.81454805381658 +C 2.5209879373988375 18.778138110763265 0.6354150222889471 +C 2.015050258927653 19.886382014588065 4.558460298285376 +C 1.5630569474571692 19.179068946793866 0.4556506162130197 +C 0.9250215593275257 23.01584946888571 4.288369223092398 +C 1.9795050966808954 23.126729164234785 3.3347429159975164 +C 4.3624767368556014 22.988091942907182 1.2440189710429412 +C 4.865396305373952 35.76431295744973 4.00927097057575 +C 3.420699011671195 32.18823007062847 0.744414366606182 +C 2.638603803992302 27.236143150601528 4.678027387465289 +C 1.505750037171375 38.95609917246413 0.5286233887517156 +C 0.13831815422008398 24.77274705288288 4.43021589615185 +C 1.8775798394298309 31.843874365443263 3.83320975608196 +C 3.1606627184943674 29.15045026109194 0.34113409667449524 +C 4.665034378334468 26.228333814203417 0.3556702377424509 diff --git a/data/vle-0.80-reference_trajectory.xyz b/data/vle-0.80-reference_trajectory.xyz index 8c2b5e0..1a249ac 100644 --- a/data/vle-0.80-reference_trajectory.xyz +++ b/data/vle-0.80-reference_trajectory.xyz @@ -1,656 +1,164 @@ 162 # -C 0.3800934305189461 10.742779863240468 4.016920080153437 -C 1.950246649603684 14.785953119294565 4.728237593310071 -C 0.5639806241519807 10.535245195761897 1.4280287538335912 -C 3.3656934989330045 14.79907189286368 2.532640178693785 -C 1.5982107028023314 8.734680524107404 2.460549168835219 -C 4.530107962843221 5.855982264456318 0.18546028603839543 -C 2.0126828111755417 6.721915751305087 4.571220882360976 -C 0.8384019282552374 4.372909524142651 3.9121305834022166 -C 2.5251328038505343 16.2986806091164 1.0624383289194776 -C 2.867446297362651 21.39540919808885 4.966928351718581 -C 4.908346549412855 18.241754896561215 1.2390680624722052 -C 4.509079410050042 20.539536026449962 3.8005436386908142 -C 4.895192643404142 23.756750290610448 2.6477410099199163 -C 0.9528346058365594 21.815694658927853 2.5090842816281183 -C 4.299767148956369 23.1323125249433 4.903337500498617 -C 4.366397481333609 17.17323040959754 2.743408914155094 -C 1.5426713982395752 20.36404110224886 2.788511538945567 -C 1.1980604138396562 21.610025735672544 2.401631507229321 -C 3.4078007974562867 20.952918201352524 0.835719280991995 -C 1.3057858789877903 21.000141025226686 2.8327364489736278 -C 1.8328116815949218 18.04715632669988 3.2499701420980216 -C 3.070563878814587 16.502908089891957 1.7502170325637556 -C 2.0338708581753906 16.246224378991062 0.9086813303827226 -C 3.457427190378924 19.564837661612852 3.396722530523141 -C 3.2965197193784137 18.912091805180793 0.9323736626358137 -C 4.812492893885614 19.814436803089464 1.6594489244949053 -C 3.4223398383003074 20.49310466902642 1.5456259076410146 -C 1.7838114617806389 16.479885023283742 1.5227327970951354 -C 0.6829420681618248 18.42464912594609 4.917358576285472 -C 1.3136531221033705 17.262294387291057 0.8474650707213013 -C 1.9023348559339452 23.38036001957391 4.464911119281751 -C 0.8554148600338649 19.404531040212007 3.5000009075963927 -C 2.4602272039945627 18.47022571983615 0.7811337835635553 -C 2.4497730029020897 19.8397307493086 4.994334246980049 -C 2.28974544174596 23.466686133852008 0.7973967261891585 -C 2.719569803845197 23.516001262469967 0.2655804973535275 -C 2.6617144873039833 18.73681812688794 2.5562295356294564 -C 3.8767842252626745 18.60301680642785 4.705412564141845 -C 4.507950010276495 23.971360850823014 1.782223008530237 -C 2.8350254715968326 21.648824820941467 4.244756149241478 -C 1.0119890067222985 16.798027837708652 1.5634558743999671 -C 3.25856497057711 19.074570039925135 3.760197955886448 -C 3.1226810100282965 18.13891400766194 0.010541846089871854 -C 1.0086499003119642 21.84537160909483 2.2289621128419626 -C 4.875255987270941 18.645192101020566 4.228072716008717 -C 0.34658818885587556 16.108588738656344 0.09936694351894784 -C 2.28680999361302 23.496168185266086 0.37238598045411686 -C 3.504086223470748 22.230948921370832 0.6376974945303621 -C 2.019461991235173 21.620587966434154 2.183187948152362 -C 0.22547328606612904 23.167574429730678 4.958709001414884 -C 2.91346356808281 22.511300608565435 3.2594958096304816 -C 4.297774296862828 23.538024599639364 4.403766715499676 -C 3.591891250099177 20.41602419973301 2.194634617522695 -C 3.091725881263632 21.650987023728806 3.3067095115658467 -C 3.197572955735445 19.396945389434364 4.711643070126162 -C 1.1589938641027187 16.93140039995939 1.167859908007981 -C 4.539302521410798 19.429451205212587 4.136254066984706 -C 1.6259765370260362 18.382434729731127 2.752753332098709 -C 0.5809373163913161 21.215044992863092 3.3952555017672608 -C 3.3319405463520693 22.30816130771608 4.871772454220149 -C 3.699209462829768 22.674110347961737 1.4243786991893685 -C 3.2480597232576858 23.745268168331247 0.3889934850708371 -C 0.4693742015519726 16.082471882357975 2.78048963195243 -C 1.6242326768286501 21.17624704675283 2.38212325642798 -C 3.378358965330043 18.34401890682368 2.045089086971526 -C 0.21671064280325336 21.736308011074122 0.6243721653189516 -C 2.3789733606956927 20.975412571334083 2.075171498149142 -C 2.127695919090016 22.341306026679657 3.047033930037573 -C 4.413124905787525 22.143327496828114 1.8010411060013698 -C 4.462072263263768 23.519260772893404 1.6082177301642115 -C 4.141567115865847 20.024689459785023 2.3461853408474393 -C 0.6962957852673057 21.783955881272046 1.928783207485002 -C 1.0836289162400101 17.44816467211033 1.6813177229346485 -C 1.069477542062729 23.47298679109195 1.618678599645465 -C 1.9357535021591155 16.9621381869832 1.9204137803467818 -C 4.913676230451819 23.08676455110035 3.946898096252775 -C 1.4309961959685074 19.050794820795094 4.580785096011652 -C 0.9352869869328995 16.604067808701988 4.373020256934309 -C 3.7804538545951187 16.331616829627304 2.804988511456272 -C 1.6372031036083428 20.06058484030703 1.9798018914289817 -C 3.0251666816373883 22.096656425677697 0.43327216964170856 -C 4.284824062856895 16.689196862163595 3.100392438519287 -C 0.02211360669570825 22.173478331922787 0.9972765063616965 -C 3.2146696537088255 23.001911109524094 4.865174400429194 -C 3.6932396319649015 19.033199006318796 1.6370376112801315 -C 3.1312908920798326 21.074480580024016 3.3243133580533253 -C 2.6209689750889913 17.582210564597272 0.7440478830949199 -C 1.0208521355704794 16.69991172170075 2.2219769328230585 -C 1.926147894687119 18.8569267128741 0.09271069757891381 -C 2.569355806568402 17.236134804523758 2.307684562821646 -C 3.4846721443092536 21.444586997778273 4.988108135297659 -C 1.1433233861161902 19.96692217126899 2.9030831792429224 -C 1.7892738514598376 22.494182009324515 3.812235135115941 -C 4.6364110433214805 18.214066184869406 3.292479654985994 -C 2.470683184642141 20.564261651470915 2.641740044695096 -C 1.726626471063533 19.474730215031112 2.9693529413010693 -C 0.3851054932366996 19.956142106826782 3.581086463098836 -C 3.232302633123854 23.139280139645557 1.1189917129334832 -C 0.9820617277364986 22.122500386267237 4.062692930934102 -C 1.9403836628597526 18.365678638282844 1.4549793428789375 -C 4.248605152634558 20.672358664307605 1.125932126600379 -C 3.5638635918624875 17.917148283020158 3.9773067944384044 -C 4.29114503359493 16.338047150414308 1.0483259464994463 -C 3.4996990657158507 16.70563516437973 1.5110511869000776 -C 2.1246406389601304 19.319816449562172 2.2538959588334038 -C 1.8153304864434099 21.380785599962845 4.15462934699803 -C 1.8920536919650843 23.41506838657168 0.6682241688958868 -C 3.301997479938131 16.73456348128924 2.613750705639892 -C 4.029387771275299 19.36481676363708 0.8379129318379605 -C 4.537222629345748 17.325193244645455 1.8097888180312478 -C 1.9290038823553997 19.09180075617568 4.821092762214456 -C 4.590515860351742 18.545480598636974 3.7885607554928002 -C 0.3715941288256941 17.731852136555 3.7367838777316726 -C 0.21229531783639566 23.63377178328145 4.037273289028965 -C 1.6276283764760358 19.119388542205098 0.19762978096271033 -C 3.005813644131905 17.475821740423154 3.0058206783753767 -C 2.4956713093808496 18.753541347180334 4.465151780906113 -C 0.3005228851901032 19.86749815832863 4.197521975710788 -C 1.774523103287566 18.81038837422289 2.4960051622043267 -C 0.1964514421271325 21.583276428225844 3.53982954240569 -C 3.133548369109189 22.981728210035417 0.5397011157737858 -C 3.8904717632640646 17.422874378200476 0.5454767477172212 -C 2.188182106208739 20.23337977670954 3.1291395889057143 -C 3.406360821409141 18.964457770611407 0.016815916174000023 -C 3.9962834601538244 22.765308924495738 2.333660495348877 -C 4.8093868857100555 21.97379438041675 4.419672309489784 -C 1.944167334767613 18.667942234645746 3.013858444909074 -C 4.017597501931009 21.670498679385712 2.6406604934359805 -C 4.422920080144072 20.375941000365067 2.8277711662976692 -C 0.7082933807550046 19.397139322934756 4.414951275613137 -C 3.5610221475319697 19.05787596695275 3.9464640012049705 -C 4.515826045336039 19.30558809882992 3.938226853017155 -C 4.746430527867747 22.646020307160732 3.3592455015827394 -C 4.362865643864749 20.881169791816717 1.1339813289765726 -C 1.5376616345872436 17.828130684915255 2.6264522838381437 -C 2.7094803668601655 17.119316408817905 1.172893204530531 -C 2.457321362987224 19.42245522259847 4.630083485917174 -C 4.651091296907129 19.79387569841959 4.455271191040656 -C 0.4740271879678074 19.820046028929333 0.23359652126534788 -C 2.763926477096998 19.549236812218815 2.8133706388168442 -C 3.937811472786008 20.961319693754792 0.9201683284951068 -C 1.5957879037932465 15.955576769943299 0.8303818800887686 -C 2.4192361780050318 18.511192360174753 4.940906860050987 -C 3.9948971815502636 18.826119819564294 1.323407149994929 -C 3.872077530110925 18.635760771653864 4.186728952423405 -C 1.1129878215027178 17.030124114587966 4.225932709230028 -C 0.4112276090646705 20.723245602238187 2.257382064746384 -C 0.6340788838861875 19.583315260268026 2.9734395105955094 -C 3.317071697205652 23.597562849231448 3.3465322067206533 -C 1.2215389385200137 23.041151623972237 1.5870129517817761 -C 1.9295457790796584 23.809675209961082 2.4222939452884473 -C 3.8350938650266366 18.19934043058221 3.9708078119374073 -C 4.978180298827316 23.599090442726645 2.1483956002702063 -C 1.4165626462884329 20.17330056531437 0.14534525222001038 -C 2.4535529701177694 30.837484249347177 1.55258225614208 -C 3.3271883726457707 39.26893667722713 2.9745762531804205 -C 2.3494077451813675 26.005629073812194 2.3372669775845494 -C 3.8985656920484018 28.1878301240398 2.5872979849833513 -C 3.7084670785876743 23.966026077908637 2.326461468172408 -C 0.3978915554260046 33.80412446981362 2.2076734814927668 -C 0.9787241843509928 35.60684066706577 3.0811959641057425 -C 1.1395703021266532 31.36779812675743 3.292327226362002 -162 -# -C 3.5200871528753876 9.937961854816233 4.611582944206182 -C 1.4038734763890781 16.21557324788023 4.691563495613943 -C 0.5353676915656371 9.315872114030622 2.0288042475420096 -C 1.4104968211398872 14.439928646424436 2.139236594712257 -C 0.8212935498907545 8.943226112898937 0.8807172290917884 -C 0.8466683129002404 6.5118510557565505 4.193696182036682 -C 1.9263260469237886 5.735984838318399 4.031064790688908 -C 1.2079627819585994 2.557413608763374 4.963787720523263 -C 3.5375297844460505 16.31314182035539 1.4012042791094086 -C 1.9828786906156055 20.994827313255044 0.10715982675329877 -C 0.3377885941093527 18.05432702719336 1.2618317855515446 -C 4.249874856798294 21.459142327432353 4.417842609622357 -C 1.5963330493104746 23.72206745066302 2.8115819824599586 -C 0.3494287384890741 21.609178365586445 2.8877009845630663 -C 3.981085324082432 23.041017237296035 0.7265217563526377 -C 3.777718084562117 17.841265339853173 3.189400436281817 -C 1.8022239950848862 20.016937555534472 2.095444259174715 -C 1.6002641320375999 21.122128612048648 1.8767263372955798 -C 3.519480857914214 20.94036562726154 0.7211178588702946 -C 1.3303237699729549 20.866780762729693 3.196067533476542 -C 1.5779046333951212 17.117865928897633 3.4565711057177304 -C 2.111941537822048 15.502265268543773 1.7962599526533667 -C 2.5830167829852924 17.089571601861465 1.6490469876066305 -C 3.088663180523168 20.228414546879396 3.6618788736056365 -C 3.711703329095045 19.65415282840109 0.503192281850135 -C 4.632669643838861 18.858233685069873 1.788385518162607 -C 2.730107778552593 20.249010103542837 1.6216326643164045 -C 1.0636410557851756 15.854652383764146 2.171702187215046 -C 0.8683912725943539 18.29219879966345 0.014831695875817591 -C 0.6832572960469975 19.412826119417655 1.793520364413304 -C 1.4672886069325717 22.936869200190927 4.501586804700623 -C 0.6446291824534551 18.74226459416082 3.554687107664441 -C 2.695931125230909 17.96627655616578 1.0583766068113538 -C 2.726464171421853 20.14787029809015 0.40341127440023505 -C 0.7609475099380645 24.146676066484847 1.3058470858102036 -C 3.1742469949231245 24.06931224223501 4.589811959170717 -C 3.0782843368188533 18.613982387504997 3.0041647723716656 -C 0.03612369032498913 17.21153935976818 4.9503961386287525 -C 3.8058494022310185 23.98078944326882 0.47720342194279863 -C 2.2386945131497167 21.599929494689597 4.237118134116729 -C 4.776625130361781 16.402346954851296 2.1302156616535743 -C 2.666088872342631 19.279473013757535 3.6907588644385374 -C 2.044954829696224 16.40184487336991 0.6198406335820075 -C 0.9115363734667454 22.321848260126785 2.1632050115098314 -C 4.71839036953104 18.292618747716205 0.2394271219662649 -C 0.40752646453197516 16.1652415817223 0.15150206530238589 -C 2.736693939558976 23.920928049615146 1.054577567586606 -C 3.910341065088037 22.037365087461392 0.2683734037815664 -C 2.0174726753005645 22.069177486067414 1.863873906239208 -C 0.05951033569650216 24.185651382384748 4.438248751678449 -C 3.5197556302910002 23.201519104750826 3.802910168546498 -C 4.114825185486772 24.128456860787647 4.091530882229611 -C 3.4526952409057388 20.555719320099406 2.432937957077462 -C 3.830328892620997 22.188163313849024 2.7572207777169635 -C 3.1489599343145884 19.61502856828854 4.568226355682192 -C 0.8664677860586143 16.859259981355745 0.7703551330699394 -C 4.3104754503988865 19.324087629407508 4.655424917382807 -C 1.0588012044332584 17.99979170969452 2.8326633287135063 -C 0.4009102879789789 20.825416946788092 3.825782113631878 -C 3.424505651940485 22.047335922715313 4.149059732320482 -C 3.0647209230093253 22.250635177042167 1.500630701497788 -C 4.3446671121256255 24.3148673931835 1.530124972129627 -C 0.326962276789402 15.88914705828568 3.0387595764466493 -C 2.426604957222927 21.122568256874185 1.1824752087650108 -C 3.670377469848596 18.173667819374117 2.128581847401483 -C 0.34467211753073834 21.29401140725784 4.882201889974038 -C 2.9153783058068576 21.838993586841287 2.496781789834422 -C 1.616678273524992 21.936779631466575 3.070660664890062 -C 4.15416105837002 21.885173989836126 1.4305524311878477 -C 4.172643643392711 23.163541087703194 2.0346293531282185 -C 3.829999343919301 19.64277291515569 2.9978125364215797 -C 1.1690907567114879 21.478334826054336 0.7639655230266841 -C 0.5620590084994683 17.200263102811565 1.7324230283216888 -C 1.2305508191073906 23.81229599204068 0.11785009973641677 -C 1.6403221030441457 16.839911300796693 2.1795931804537694 -C 0.30019821879413083 23.02908115064038 4.232423525780937 -C 1.6902977193797764 19.371110169942096 4.0473304026040156 -C 0.449000943941515 16.31474034280527 3.9421558878449496 -C 4.029494356943534 15.586718372655218 2.379185954140531 -C 1.5477278383892967 20.38251014920074 0.9822219581829567 -C 2.3377492686251644 22.124769756129133 0.76793807667901 -C 4.769091182545537 17.033691904142874 3.2863454938040637 -C 0.34806799203443284 21.546226462621945 1.767499550327938 -C 4.27903376349765 23.050523021132268 4.498904930726099 -C 3.084238616353459 19.037123710696452 1.721108875740445 -C 3.4181026589772974 21.286896180006224 3.3523070795997643 -C 2.305705374828698 17.855443675927983 4.974762018829856 -C 1.3198582749656322 16.091663890325453 3.454369967727919 -C 1.719274362549402 18.50007539171319 0.7725680458566534 -C 2.3961623877857954 17.76154219645657 2.502606612444081 -C 2.9816119064562523 20.83637593773269 4.54913489580658 -C 0.7122455109522041 20.253271053357324 2.5799812419329267 -C 2.525449733479161 22.41119334469157 3.5343700021685542 -C 0.014088227899321543 17.99401849440196 3.070740539722237 -C 2.3933927676616387 20.901223011451922 2.524592249175927 -C 1.1911983396514847 19.211484437888107 2.681802166097526 -C 0.8221673684286437 19.882230387465853 3.644826083960331 -C 1.8840255158818886 23.3319716463687 1.6827497758194427 -C 0.10269005334026415 23.562564326684107 0.4285112182225972 -C 1.5900752553335262 17.92879540738116 1.8714738349237925 -C 4.166138633682997 20.854536175448988 1.6173462326199295 -C 2.242403343022314 16.86872727730446 4.461752096104144 -C 4.505712483680245 16.917697886022907 1.0847962819994927 -C 3.6199482599119426 17.118702963807692 2.1351105870895157 -C 2.2317206493710744 19.345197669125017 1.2638844228929254 -C 1.136202477851549 21.712558896090993 4.166103395819123 -C 2.244348033601377 23.334288269562084 0.2724189152770905 -C 2.895945509372136 16.20183986197216 2.2956917001036907 -C 4.042521005927518 19.81204535534723 1.4759333209567256 -C 4.724209379251926 17.656030755606867 2.0636743488127594 -C 2.1551171590521925 19.342855432262535 4.970775189059123 -C 4.46648011948249 18.293702602448533 3.885571897897147 -C 0.5162428735202048 17.67497920561618 3.94225910451235 -C 0.6284714183874044 23.890688444965114 3.3483889419621597 -C 0.9406113948477693 19.456069456005 0.6355792349875667 -C 3.069769901056247 16.916424289046407 3.780711345646091 -C 1.499857311979284 17.954972916848728 4.075390179242103 -C 0.08318919294414964 20.096552497236083 4.6050314657669 -C 2.2182080969017637 18.961538200688718 2.39093422086211 -C 4.776271176496985 22.232686978924622 3.5968431255674815 -C 2.9870820177063426 22.632090490680554 4.989583419349497 -C 3.011770339088454 16.738257003136695 0.29332305594721353 -C 2.0155853501189673 20.079072885631927 3.2147615643110616 -C 3.4508392520200872 17.91163299909764 4.79017841283385 -C 3.226247842561482 23.022786215869594 2.551400284996338 -C 0.4360005864362682 22.32566759855372 0.5071037386699042 -C 1.9780651645661247 18.57726192819761 3.3956147959737075 -C 4.405050762085082 21.332139141479693 3.194797411151587 -C 4.608355111237289 20.415414062930207 2.736099311327531 -C 0.3011419323122543 19.02988220020622 4.566176343150402 -C 3.6781973985105765 18.977904139038962 3.772867987576756 -C 4.33818494042064 20.277863207892597 3.8349975749975203 -C 0.10782604705932783 22.881226406739287 2.595278541901189 -C 4.650683468590402 21.275719152596118 0.5716853625982817 -C 0.6638180125193327 16.888665008690936 2.8323269337052968 -C 1.7909307277451536 17.329345651729504 0.8089028504214864 -C 2.1377596182357568 20.56883358538717 4.088320730271257 -C 4.871845761749721 19.124465833283665 0.7330113669750069 -C 0.34482541272818856 20.41028634572925 0.6847807825620907 -C 2.8673350241247935 19.708976003009806 2.6626088923035565 -C 3.9427694470036476 20.451299383310854 4.8772330716719825 -C 0.3908773091462218 15.44177282163191 1.0063784058438843 -C 3.0249701265740994 18.821487948248237 0.27171759324895167 -C 3.8567172929982942 18.259080398801558 0.8249535260853538 -C 2.786771338035079 17.979657199885402 3.8914694205865623 -C 1.2107841316085461 17.24465291918342 4.7586877056936885 -C 0.12065139628881594 20.539517953525923 1.7490546236053754 -C 0.11108565153399091 19.302121019249764 2.733885262966962 -C 2.9295104219377994 23.967181487060078 3.2189165806555207 -C 1.5380307921230223 22.68682994054881 0.9120639525670649 -C 2.072709674781275 22.862991275130252 2.544940018672357 -C 4.2295827347648265 17.278396688759877 4.176186816222371 -C 0.24898622379164928 23.0866729123692 1.486837050909284 -C 1.0858497374072265 20.435521789735475 4.55870107880887 -C 1.7263876819968536 30.69686778921069 1.4098008577008727 -C 2.619533637431429 38.67293350215522 4.098675843982787 -C 3.9321654156556067 26.787123509518167 3.19721876485678 -C 1.843618934154314 29.259064936651853 2.195605264214562 -C 3.9411815212841463 24.22898484083643 2.9276482488723783 -C 4.083047335788282 33.31347607221656 1.1253483991202105 -C 0.10194147819188754 36.45014600683638 2.3435251763273923 -C 1.1818274179010717 33.40920079911179 4.288743372417446 -162 -# -C 3.796816633675802 9.408160099245407 4.841560267943254 -C 2.282184783268873 15.480497283587587 4.493823360917433 -C 1.662444281482988 9.03415883848678 2.486696831740274 -C 1.0999980480216824 16.36680401511985 3.0144706521131064 -C 4.440523868338349 9.38601917051628 0.5111860647922144 -C 4.974643607721327 6.513693464944835 1.4852265355987817 -C 2.3370846965630956 4.486341911653062 4.024824865600975 -C 1.6700523324892038 3.1734228329510326 4.682741510541054 -C 4.329112470132973 17.26802291283117 1.2983295149382452 -C 1.1760487344841577 21.560103365380247 0.10412316548483189 -C 0.5419533810060585 18.593438216462054 1.0285801744248528 -C 4.45141253699505 21.511099904172866 4.3218106437240635 -C 1.1828861021082568 24.080021419608038 2.102870242492328 -C 0.7473479953309099 21.42037199938979 2.957842472749769 -C 3.7417930440496803 22.35807468021832 1.0356157204387726 -C 3.9222737211745833 19.050520700540098 2.9059638534635193 -C 1.9636598339849098 19.890837860917042 2.2004192082446905 -C 1.6937972980943194 20.86037369264476 2.125590087336863 -C 3.5605477309966727 21.320824313791896 1.2798080383293529 -C 1.8236740103540754 21.16842873378993 3.9232899056150954 -C 2.115230722867891 16.529004119399517 4.010851423579675 -C 1.2588647476202346 15.143190126824601 1.83861269204278 -C 3.1197113959840954 16.506146191622932 1.3024661983394357 -C 3.088179984834471 20.152309362389982 3.6299897026619963 -C 3.6519004256610557 19.753936309545825 0.9259334015006012 -C 4.586699462369257 18.760310204443883 1.9606755362729 -C 2.5078803340877114 20.29318719287852 1.4308840495897077 -C 0.7032939693909439 16.453148083929268 1.7960175548552508 -C 0.8374488949681026 18.394254550050242 0.05980312742051552 -C 0.6695925776182267 18.663079896524447 2.0969773813202393 -C 1.641085355424449 22.638916932099164 4.736346558481952 -C 0.8849830451756835 18.603394349977936 3.600045103058042 -C 3.2149081254528133 17.47480604891692 0.9600852807274208 -C 2.8170782801313674 20.463170077272043 0.41553750588989835 -C 0.6233855661028234 23.852227215441975 1.0458386426003408 -C 2.619326432635087 23.557554548416604 4.732058290833445 -C 3.114580662928605 18.169195932993947 3.2046598844048213 -C 4.978659396988859 17.003750201804007 4.715155284685832 -C 3.659265398306626 23.156963923187938 0.3828074372513357 -C 2.1635111154580073 21.772653695019986 4.631293237862667 -C 4.647676936521477 16.13764174734015 1.84501041997919 -C 3.029695390923092 19.11940734197943 3.962956197435567 -C 2.356965444328281 16.336414608896675 0.30778856871435756 -C 1.2519663504857022 22.132627390508116 1.9398247365983696 -C 3.5116968693273036 18.43372845286354 1.2067712881386425 -C 4.5586175660626695 15.980941195101183 4.777149500681122 -C 3.5660856145313535 23.954927611605914 1.9495836804536057 -C 3.465970188094615 21.547711553841815 0.09375624403029822 -C 2.350499082952039 22.05541788599071 1.8019313589281212 -C 0.4122616023239368 23.195769882213263 3.95631139281295 -C 4.411843133426898 23.470785961249675 3.1556404149879027 -C 4.118869091977751 23.486296693713168 4.219210464386713 -C 3.5197065237854557 20.865932235462108 2.782830010148415 -C 4.118811467418871 21.64494020703553 3.1454271027933562 -C 3.7164270408892364 19.24782946901469 4.7617780802422285 -C 1.2264434637319739 17.788346761686817 0.7809020604622244 -C 4.283332805571075 18.960669221799755 0.7087211410789779 -C 1.6770109298716023 18.1304068339249 2.7546909955931964 -C 0.7530242158369587 21.44891352860715 4.251085927726941 -C 3.4184527198669827 22.008159885039937 4.11750605136028 -C 2.865777425424139 23.223426843752744 1.3320817822742956 -C 4.446432087788239 23.263911986766114 1.2500512597012505 -C 0.7916512689582103 15.299122753668003 2.7940787365820245 -C 2.954181327738866 21.249499757883484 2.0763007982241977 -C 2.7310577031848404 17.636623388380226 2.4714797238415613 -C 0.20513210452475228 22.204498071304652 4.929568686045967 -C 3.123842643134798 22.233222508474707 2.65813878027874 -C 1.8142500057597917 21.62601243229214 2.768357426902301 -C 3.8483210203733274 22.599466802972007 2.012140300045695 -C 4.904102054386995 22.207140466895854 2.644167054794484 -C 4.238213247546512 20.06662644864077 3.0291138669322986 -C 1.1894572901831566 21.318230240268786 1.2988443506378444 -C 0.8079774796634304 17.565722977477954 1.7354979457170283 -C 1.6722217751831778 24.153397116181395 4.3449483718781625 -C 1.8156656939907765 16.726711665973735 2.0505291200268694 -C 1.925588331668242 23.493074919868274 3.148373172433297 -C 1.4336817382069709 19.011605367128443 4.392942148050422 -C 1.0036445574566095 17.463094485744747 4.177809095579494 -C 3.010658481731946 15.078640989432367 2.200050458148889 -C 1.5875376174061944 20.448374722739796 0.9112820724259022 -C 2.368704252242524 21.25881174047027 0.971631219236877 -C 4.107070465573621 17.836704651209338 2.9265993374987103 -C 0.35952854476507956 21.519751662371007 1.7369200967450547 -C 4.158192592478236 22.460045976609038 4.78806805519574 -C 3.3329311030656754 18.88117047533088 2.1289491313140063 -C 2.731884455387989 21.53644222652304 3.5242326171373133 -C 2.6689894494018116 18.42266229927793 0.061454419307501146 -C 0.626521870552825 17.647682892671103 3.065831318738633 -C 1.682674525486812 18.844993066353197 0.44042670703619036 -C 2.1712186615664457 16.926076709365383 3.0446476959627655 -C 2.755472292764562 20.821351287798205 4.377782837669318 -C 1.0056447668701436 20.518373645096467 3.389344989148321 -C 2.381964304586334 22.746345007325786 3.9919162211795975 -C 4.949162055070938 18.718599157363254 2.9834752647633795 -C 2.5054261181420183 20.72257456134738 2.9980604056203575 -C 1.3689087275939367 19.28305447285485 2.862213513508789 -C 0.3695649048591529 19.671986615064966 3.6073208138208193 -C 1.9362772395927854 23.322093587989727 1.924128920062352 -C 4.681591728315405 23.604153748283007 0.16697732790193226 -C 1.7841840246958873 18.263471083115814 1.6743091576550404 -C 4.554270774311452 20.652170276800174 1.5902132997149814 -C 2.0047131131512397 17.477421164244053 4.884413576104415 -C 0.4663771086996115 16.708564738862993 0.6427011765296935 -C 3.5174943064914768 16.958839766128033 2.1252629339352875 -C 1.7064237829153197 19.40017142922934 1.238211580102776 -C 1.3644281567355192 22.308959591588568 3.758579886837681 -C 1.9700263796372874 23.621256236313602 0.7150606306379865 -C 2.219728203001389 15.673536629685845 2.7031996270134275 -C 4.067923402241597 19.741175307181692 1.9932299261758997 -C 3.995704167918521 17.92554184297309 1.946697446960113 -C 2.377777647625264 19.584189570121698 4.972919552319554 -C 4.0289028080866105 18.314086007830674 3.8131966791004865 -C 4.853680851577784 17.71684497880777 3.848284083492916 -C 0.8896258740757197 23.86403054578544 3.134842461749256 -C 0.9667165965921459 19.64636237177067 0.46581152042039764 -C 3.169843629212692 16.60650386855075 3.0890207859940886 -C 2.0173365485576764 17.69693448610618 3.826140623310235 -C 4.876080447929906 20.078786085448023 4.998501714602319 -C 2.3454552035259146 18.931540738352606 2.484946062358021 -C 0.006614228438276887 22.16649785670749 3.792117428292443 -C 2.826102201683796 22.393768440222516 0.1979284828721578 -C 3.500074267626701 16.727258087519782 4.727750741506615 -C 2.2524658462191995 19.670647141921904 3.4518780959929822 -C 3.6501936809977296 18.21811859710975 0.20357957954154332 -C 2.9126230354369773 23.250729246547703 2.3683308976258144 -C 0.10845994390747579 22.43632576956371 1.0929207232296825 -C 2.123624183734795 18.681369100625194 3.5701100872816873 -C 3.8525800312933023 20.800247268606437 3.927456470444409 -C 4.927914630263056 20.803506102797193 2.539937743464265 -C 0.3374065376144824 19.169067063853692 4.588205124863095 -C 4.456016537945961 19.80285274409914 4.006216236029534 -C 4.8502760569704755 20.723151783442326 3.7266564642293467 -C 1.1167903625974125 22.824353395286327 2.876086421130192 -C 4.504471819594313 21.37576525027279 0.6393666121606021 -C 0.11847798532505496 16.77609750651783 3.4394695774096062 -C 2.07334056904387 17.192409308432577 0.9933604746753206 -C 1.9056552761619667 20.80178628996138 4.913794530241442 -C 0.15964844183723936 19.70805566898879 1.1814737589786317 -C 0.6929664023671116 20.617183243396653 0.6131065054040449 -C 2.9878307883759456 19.912474145454922 2.378375654819182 -C 3.6563920105504413 20.264839000039007 4.797877482944889 -C 3.714932300427705 15.761925290244523 0.6104097052719288 -C 2.622462665884183 19.00458287457961 0.9211232036046255 -C 0.012557403353964491 17.728171342327375 0.5937010321678381 -C 3.2316420148629774 17.71635959365845 4.277193940626486 -C 1.2079163536747426 16.73921388295275 4.81527684163962 -C 0.8580551017489001 20.30868824282484 1.6883992472824016 -C 0.03589989805252536 19.766906564377116 2.321225758031966 -C 3.469726009448517 23.099986632339494 3.379319326800482 -C 1.0252323911112775 22.846881536000627 0.5569403858405907 -C 2.1207761995354732 22.670045984502952 2.8004120669772563 -C 4.037032388432481 17.030467102629107 3.9002662021906804 -C 0.7310998820414962 22.91213677773565 1.7491108332285146 -C 0.8391958973198557 20.284935823730567 4.405662810289624 -C 0.11065561686639441 30.41810127192857 0.19955493355034318 -C 2.89963870376342 39.73747996542245 0.18430536952133422 -C 4.4357901547148995 27.51532684607891 4.72942070144126 -C 1.4014918959126557 28.33648501374711 1.5175266460545784 -C 4.861264005174817 23.879239689001437 1.9803044718058695 -C 3.9134516180874184 33.34009538372137 0.4008483308235994 -C 1.2113614027695503 35.36001729818306 2.476282910613638 -C 4.969438337904508 34.424403562560705 1.1083084412864614 -162 -# -C 4.767095770621848 9.69885874876477 4.624551521574465 -C 2.6386646164513126 15.504521223384785 0.1294139796092569 -C 0.9357987205031336 10.285386151073725 3.311250358973107 -C 1.4036604812562135 16.447407034862792 3.1438568376940967 -C 3.2783412734506228 8.99622143098358 1.490378857523565 -C 4.148394031234406 5.291562660455808 1.0368524944412818 -C 0.6611268876092959 5.067591604520266 4.27774697770766 -C 4.510448412959144 4.0996907965805365 0.9753444002550882 -C 3.889566766592073 17.552801214685562 1.1885469429162385 -C 1.3333686415505455 21.50599434124715 0.39492653177523956 -C 0.24858992555120835 18.577085234581748 0.5801439625463267 -C 4.8909461989458825 21.432248129427187 0.13491076406553618 -C 1.154905513322781 23.87603952755385 1.5567054192694214 -C 0.8522370746349175 21.623427170668638 2.891474735241354 -C 4.120919409101528 21.957402136706584 1.5559148564091152 -C 3.3449923030370075 19.103117338157137 2.7468272229982613 -C 1.370306496263515 19.582183990754604 2.0434035429938344 -C 1.620413621638215 20.54746679207085 1.8555742038168477 -C 3.436020864061447 21.172947711263564 0.9245842946544497 -C 1.3113864618680433 20.8488239739572 3.5291027655406952 -C 1.6813061136580925 16.495132093998706 4.175221169030376 -C 1.7543317422262814 15.694577686141926 1.6332310492928341 -C 2.828972695981012 16.492367335909787 1.17759206436392 -C 3.4404338384033544 20.09913082524394 3.4752234605630274 -C 3.1975222357282402 19.760500950556064 0.60142090013687 -C 4.341603742669729 18.970793968395018 2.206726078445534 -C 2.127894620124898 19.57666972041395 1.2117288991663762 -C 4.2815528965899965 16.760945472689247 3.06683805343541 -C 0.665625529822968 18.273758099547024 4.69629498657585 -C 0.15343557743886457 18.35516613673603 1.7861016197299082 -C 1.7135110446067234 22.710523317039435 4.554288941252813 -C 1.009772347455112 18.406361302100056 3.551546037357658 -C 2.8670767912585973 17.86535164950437 1.4288804606985022 -C 2.5285490447762062 20.76493892262181 0.1346250054132629 -C 1.0971388849116614 23.711120783393152 4.814953967779177 -C 3.2857395098637996 22.980794500046386 4.48151405228035 -C 2.687440077584935 18.354106792741266 3.085964073809277 -C 0.00453658107378746 17.322723164772512 4.65574538099889 -C 4.0144137609624675 23.164282927825596 0.48126715308745294 -C 2.8080315642859297 21.91281077165655 4.527214122824234 -C 0.8246795446340578 15.490208573720109 2.332727106312056 -C 2.830664313866904 19.32533645534391 3.6804151857011873 -C 2.189643970489741 16.449440602487226 0.2607820348254477 -C 1.3323415559526592 22.089812478892252 2.1583805135223675 -C 3.84747696162504 18.61191479832425 1.263865909815271 -C 4.85483097933658 16.62911490370659 0.5843205183017735 -C 3.721495065538071 23.76301553803176 2.2837555543466785 -C 3.8861110771185223 20.622242124181593 4.823695702073875 -C 3.000666057044778 22.35391930869392 1.6871321073563685 -C 4.900977330938936 24.164621183076488 3.9778558983475745 -C 3.9510593767345834 24.52801035379717 3.6361433838416124 -C 3.176655021606338 23.022579846553985 2.9672780799858387 -C 3.838318963663264 21.015632320689647 3.1396589826546895 -C 4.569429805716485 21.71365894050961 2.9708806841294337 -C 3.4709959087687654 19.039827545921725 4.955783369913671 -C 1.548602882973297 17.67437621165799 0.2820132991255795 -C 4.191712827983996 19.34957519590289 0.6351176817158595 -C 2.301643476651108 17.894958716526826 2.2453661008001666 -C 1.2160300543431743 21.66725364648577 4.319673811671796 -C 3.8130777750488827 21.63952261954472 4.475002491663919 -C 2.9513374654134905 23.399564080752487 1.1103969262140365 -C 0.07324479115934285 22.73987636160179 0.8946342613109943 -C 1.8180860234110179 15.463417981933729 3.080254032910601 -C 2.288487449162147 21.60138762716566 2.0026847418673195 -C 2.7596904521175016 17.01762072103243 2.7971450254364507 -C 0.5150453110783089 22.825703395301105 4.785625781655944 -C 3.1783104965026467 21.90204894155428 2.9442961741899842 -C 1.6604715867676192 21.120833718635673 2.612927229621779 -C 4.253998182825789 22.910008738485264 2.8506171935031026 -C 0.2002379423444532 22.24488655249598 2.049654132566659 -C 4.262330553278313 19.36452506075266 3.2860664982730525 -C 0.985639839292192 21.463941256102963 1.3744262461305505 -C 1.145316679797901 17.41778400350563 1.6995762874880487 -C 1.9920062437495631 23.720009858182685 3.8777941984214337 -C 1.8345286064171566 16.758144874692018 2.2262928169047203 -C 1.2714693971249789 23.594890031085253 2.6699732038230897 -C 1.3719121785463104 19.725829322667185 4.135601479072198 -C 0.8094308119426813 17.308043073605905 3.786596874489935 -C 2.5379171059868875 14.676168091083932 2.7231702829357167 -C 1.621197906961624 20.658221098560038 0.8422964156314013 -C 2.369739828127003 21.62909066832428 0.9622385972515597 -C 4.5695503189243 17.948079454986832 2.712616932179569 -C 4.862444773969873 21.273749238845966 1.9395520512471163 -C 4.342183142900319 23.228540606749913 4.237219206835485 -C 3.084944480219082 19.387076735108803 1.6296777616392086 -C 2.1378444260499956 21.39388130277597 3.721885166337257 -C 2.9833235217470233 17.248302293427624 0.22529560357874198 -C 0.5879020813784308 17.54967084537014 2.6388160741971096 -C 1.2941153616142111 18.678199643942236 0.47515228727454023 -C 3.389683347736417 16.41870121927198 3.379360096327177 -C 3.1953413381757705 20.9212621580919 4.089472570098243 -C 1.0534769607723813 19.879356159348664 2.9628170611780065 -C 2.278892270934588 22.660779333668128 3.597387588647801 -C 0.1341063135057047 18.939015412117854 3.032759244820578 -C 2.7968057868075262 20.849200933949426 2.8885704223961866 -C 1.3011002113499741 18.4277504592321 2.6046312547207635 -C 0.3689138258661708 20.114571753489393 3.6903264990583557 -C 1.9709805477143698 23.484828095420266 0.7704411035203775 -C 4.9022164951922935 23.750488605023076 4.994945060133459 -C 1.7143468828042498 18.432072672270728 1.454851002576432 -C 3.832376070646327 20.789563183320602 1.9653742751648737 -C 1.6888999153405768 17.61271379030434 4.23269663148193 -C 4.951185068796224 16.886891286167405 2.0848071168801416 -C 3.56970871718952 16.533055573458466 1.9343240431719582 -C 1.0512884874960076 19.475386518127664 1.1238270500531775 -C 1.38806652840306 22.580809289402467 3.24191410067786 -C 2.309411846059976 22.555519580415346 0.4186551109943677 -C 2.5519812256426544 15.655055138696316 2.3489082674985537 -C 4.070941196812096 19.801704748078674 1.5099299361648957 -C 3.6933756924607195 17.902678915008053 2.189546611946726 -C 2.2231766208638515 19.31730855143029 4.581390775212534 -C 3.700083247691826 18.623158834842005 3.7162636798940087 -C 4.962675940426575 18.23494088854724 3.9620541912086438 -C 1.017843346039877 24.025627886585063 3.884823529935106 -C 1.3881014306139832 19.701666953476426 0.17601986852327547 -C 2.987068205099418 16.559609008293588 4.419626615557022 -C 1.730528902989918 17.418714597219196 3.071999100637619 -C 4.878601532314454 20.039422983879707 4.897433649963549 -C 2.338066822925505 19.187385666573128 2.574743058742076 -C 4.91178450257001 22.304373623754927 3.886645216495372 -C 3.380601397349337 22.17185296456764 0.6782512112556094 -C 4.01403479851171 16.934664903988185 4.229693873077991 -C 2.15030439141041 20.09722329464816 3.210916963085615 -C 4.416193527287431 18.4894599363596 4.977618187579744 -C 2.238065944314313 23.56889023809185 2.2164970093974024 -C 4.495357588077155 22.37802732417875 0.07983042494115858 -C 1.9561541149337476 18.88750341355553 3.58655364010752 -C 4.36815402628297 20.473552938827652 3.7771954712906792 -C 0.13364149763157182 20.50220664539145 2.7315590837217005 -C 0.32343692395973417 19.150116652203643 4.055864787643537 -C 4.141301812177588 19.549263670025823 4.324927069025949 -C 0.2811200931427444 21.196711249015628 3.981452005172431 -C 0.3784546135771666 23.182797312005086 3.492880964664225 -C 4.3331767349749795 20.483758724775694 0.7327191237860797 -C 0.008598439050702344 16.38725009634255 4.170618461674121 -C 2.0334218458630477 17.163349130665782 1.1235242717274072 -C 2.258420041006898 20.31234711837183 4.245677357147285 -C 0.0018383203415251737 19.80299139945839 0.9752045242499692 -C 0.5598349482688699 20.799962434897473 0.648830721984333 -C 2.941317609014614 20.42875616886481 1.5505483750143505 -C 3.1052297708042422 19.945495222258845 4.605584182332166 -C 3.6498631537170056 16.428620222869107 0.5130923810105205 -C 2.613834028670473 18.842707067380772 0.5819834516648722 -C 0.6620992641944397 17.33413593407868 0.8503503533507183 -C 2.722576729138215 18.36891787744207 4.3588870231935255 -C 0.8814998549943467 16.553615699805736 0.10383589459036191 -C 0.6078701119434536 20.383895831788493 1.675748797565189 -C 0.32868030234393686 19.411201690862566 2.1282125623978523 -C 3.6956160904795246 22.381208655508924 3.6931843154363637 -C 1.238601195737683 22.56874801598385 0.5791307871840813 -C 2.314578822730429 22.47857565024727 2.4559455299609088 -C 3.0815129624224644 17.506591781408112 3.7310911831755105 -C 0.20672884532848462 23.464793530463904 2.2950448413247706 -C 0.9447195498888087 20.558462702784453 4.510246687569149 -C 4.758757522462032 31.28556937575463 3.9780551570042664 -C 4.133386038767329 38.79369136874168 1.0299371453819295 -C 3.452696124274679 27.093335162826204 4.672650227888886 -C 1.3758885031108279 29.22142611377161 2.2528901365577503 -C 4.92533105033303 24.33165432690401 1.7670213806153572 -C 4.769854784642135 33.19335238926516 2.04622306645839 -C 0.2931632707023922 35.32661458403711 1.6744109765823025 -C 3.853107607459383 33.518933364412995 1.2290050817783496 +C 0.38977184102659035 18.096259354089522 4.317040270258217 +C 3.6560916602417093 22.933936725371062 4.4162356142795725 +C 0.004062075857857117 21.83189708902381 1.559679823583706 +C 3.819001600764156 19.969770072461102 2.342965233269076 +C 1.1372787150857304 24.141004441547764 4.221473519547515 +C 4.157126808847927 20.62838675874534 1.0904012302598747 +C 3.530926710491386 21.290543516065128 3.707284702166455 +C 4.2804027376984335 18.085690308249493 4.394459529497233 +C 0.2249854635736196 20.758149278252613 3.8459579697559025 +C 1.577067749452286 17.50312442440241 2.5544728745324057 +C 4.696568084702578 11.422716977693804 4.014149667867937 +C 1.4444922128625282 19.68744569751927 3.6140341930396733 +C 3.1086697991135805 34.21556791421065 2.3709318650267903 +C 2.796027495227287 22.611313436947402 1.1608002917827598 +C 1.8351020652790446 15.244815393842075 3.5959101761173398 +C 4.361442209555456 22.507469860186006 0.7326765246704049 +C 3.977984589190533 19.02184423821476 1.675724126930589 +C 3.4370324948957065 23.04811475670638 3.43136133441607 +C 4.714311662910853 16.723192102124663 2.1803247625022486 +C 0.11596473431160595 34.86858120728825 1.468779102682433 +C 3.7394654609881015 21.60084081641779 1.040986089638894 +C 2.9040824683608677 14.623934958733019 3.6494915054657238 +C 2.798173925041917 18.673218267264627 1.4504832367500915 +C 3.530236131802325 18.563222675224868 0.6248467952142054 +C 4.5712748085598935 24.009923143904704 4.422900592887638 +C 3.4601606731584242 17.713834123215456 1.4029024220899318 +C 1.6474395053971658 18.52885933951915 1.822087857908903 +C 3.499286192880658 18.770622651205986 2.5256009656265452 +C 1.8285831741238003 14.193665338897324 2.6764953827904985 +C 2.589539422411068 17.535654416698357 4.603274089994964 +C 0.1371186507052984 14.974802498004525 0.9476334922691951 +C 2.3289585210118036 19.896199401301754 3.113805911054816 +C 4.084490186855578 15.590269904861573 0.9487442696864893 +C 3.592691693669765 17.18684987522882 3.7977885657631463 +C 3.2241256830382983 16.305244830695692 3.1963470296765384 +C 1.989501630713724 16.924844673513604 4.021363996951778 +C 2.6855094797745562 17.266377966915023 3.283081633918459 +C 0.27736970514557036 20.690953763257983 1.6565888694592192 +C 0.4538988219712101 18.62025855184749 0.4688215242374641 +C 3.424671091395307 21.496307916083676 2.527770090256384 +C 4.603582260707807 17.84755751975374 0.3728926726932419 +C 4.166201497675482 19.08523483290238 3.7538632077363108 +C 4.6304294692242935 17.699310830499577 3.176684763131336 +C 1.5282162752907889 19.132429276802387 2.6633757507898213 +C 0.4898102293057123 5.496560166741744 4.281316125435454 +C 1.6289283455338408 18.88451671246734 0.4766391981236258 +C 3.536972500590247 17.007824536282914 0.06454648390024184 +C 0.6744913834694275 17.637259333754315 2.1782094990297063 +C 4.212899034124809 20.416858961531133 3.347591325611316 +C 0.5802816295062994 18.08955425711751 3.2143465522157575 +C 4.804743138134149 19.01509395085029 4.532295932898639 +C 2.002914533759907 20.411659838790293 0.023880468401139665 +C 4.740364036915073 16.846585088565906 3.7358966772719957 +C 4.4392783590256295 19.026325821136194 0.6229954823970556 +C 4.959258286871841 16.71139982804044 0.5307098084477455 +C 3.6785210806262834 2.6181460053591463 4.380323205628605 +C 1.3883934901841748 18.033227721953946 4.462028263372604 +C 1.0649111087505547 20.28450698789386 4.448916930521407 +C 0.35510586432275393 19.33185030180969 3.4801328652872847 +C 0.5298001148339365 16.952145932382344 2.960862072432333 +C 0.2795296889863226 26.284760681731637 1.194652407710494 +C 2.8916594163241203 16.889771786333018 2.312517473231344 +C 4.243562760932427 16.627230068982882 1.2260341684821365 +C 0.8615305857720854 25.173689327880968 4.972369754802536 +C 4.425618172216202 21.134534684802144 2.1748195036535076 +C 0.7169577940548859 14.519118323838356 1.7871262670124175 +C 1.1336597181910544 21.539799657849784 4.080508149912847 +C 2.1987416046256674 17.770726419458413 1.090258229292298 +C 3.8921887157279613 22.329391666354514 1.8569741693418376 +C 2.6650463046656228 16.160197530523554 0.37206684240382815 +C 0.8721813351649335 19.30644045149023 1.1953074553285983 +C 2.6829649904508077 35.137295787087716 3.778839266182508 +C 2.338374159727699 21.603827361734233 1.0251662696224915 +C 2.951810716285931 20.35541187136417 3.93745408039963 +C 3.2128417581874817 20.79257429096926 1.6441436447096258 +C 4.764620805964662 21.53547024828846 4.268742801301954 +C 3.7361973577487597 23.796057330736055 0.28637158757201675 +C 1.1742243111132151 15.579642908246724 1.433259954646478 +C 2.0503380321899614 14.676004216049026 4.858951878517088 +C 1.6929505104133256 16.16991982731902 3.2254894297511805 +C 1.2825837780889473 20.245940171080665 1.7852431040096308 +C 4.73590772155296 21.50669191111331 0.5447359057704908 +C 2.4471076290509703 19.087804489341025 3.979898421666164 +C 1.5174540897607012 37.15262429557386 3.7380653209374213 +C 2.7587911847122286 23.632636923022005 2.358668197318995 +C 1.4590742805636339 21.445525017241266 2.8808515173086886 +C 4.304028986093776 16.533557884488527 4.697863454289251 +C 2.1454914966534187 21.976233774806033 2.0661730033580836 +C 3.5628364005716824 19.875683237439784 1.2767152409517961 +C 2.5651433864811803 18.83689263213541 3.0454974536471084 +C 3.435397465173051 17.997336816380418 3.2779258059472474 +C 4.746639946212535 19.975282654310373 4.301772077089676 +C 0.08316161047249501 15.64053156416527 3.87206857296518 +C 1.945367814529339 20.5610800194876 3.882624041696068 +C 1.1814008664614177 17.79659242642749 1.1879222142936179 +C 3.7646954562071633 21.28909615112153 4.866454854154504 +C 1.2285798397542882 16.197873187314546 4.883582674103948 +C 1.251061419975872 15.273264263340614 2.6879643243348568 +C 3.8224975835463617 20.122292782624392 4.9649678333291565 +C 2.753491960535463 17.929698433424942 2.4185743563694557 +C 4.128608093875647 14.541131930027467 1.354447649170987 +C 0.9624025263967972 19.804367101996892 0.30742378576257545 +C 3.293019896538892 18.201300171998614 4.457403803433972 +C 4.345445778642928 23.403992547241632 1.9646547236153262 +C 2.223415052098375 22.329654113045844 4.875223034346276 +C 0.21111690984358308 26.75109724976452 0.22101009923489945 +C 4.473083129624172 19.119364894912138 2.557868002546191 +C 0.5058681598223399 24.05063504485308 2.270258618909236 +C 1.9413152530093665 17.122906193112822 0.34761461934700366 +C 3.3659388692532417 19.60320965844189 3.380055121127329 +C 2.688122361789889 19.63684247035872 0.1502892938702152 +C 4.996050679001611 20.27215957459326 0.6527755385383969 +C 0.5513895768913539 17.515191807572037 0.09862786273424168 +C 4.9479178476406895 18.42601649763545 1.4790393118261416 +C 0.6112539031881807 0.6368538420259604 2.84617137779926 +C 0.46604874954646974 19.19681398085334 2.20227749343434 +C 3.9215714444644436 17.136153086346983 2.5970459608334044 +C 2.292746394748173 20.935347990769728 1.8883833024027683 +C 0.7750672275152937 16.71655773815461 1.3101836565162905 +C 2.1815390530836796 18.127013952175766 3.702743251900976 +C 0.9679603847637303 19.14127941131814 4.562519807611888 +C 0.08188467018276546 15.895695563330726 1.4147289198871236 +C 3.8666981808027545 26.150256611769453 0.5534306902942066 +C 0.11335584979204621 15.21359468790712 2.401190531445862 +C 2.9139624319005155 22.271858006262104 3.964959077072086 +C 0.27054103105707167 21.406879532182835 2.820473207012519 +C 2.068383766918749 15.930315276855193 1.7888840609692687 +C 3.224034859611993 13.461486941981349 2.4061679182933746 +C 4.245012227008105 14.634228882614948 2.913681611124316 +C 3.9044332888208237 27.444000526864407 1.0446377572590295 +C 4.4970382719205135 16.010595908908353 3.0457462514477576 +C 0.6234044089884144 16.197330982348586 2.303724344271894 +C 3.129805874013558 20.546364109947813 0.5648677668099344 +C 3.1253253411590043 20.606125876153087 2.9214614881671426 +C 0.9015570563150961 20.532800788058047 3.040187562502233 +C 1.3745826960509326 21.904713264924382 0.618324222097665 +C 1.7288561551731116 16.96680646516061 1.577557690218913 +C 3.5763836689547404 23.426436452613498 1.3363244153169371 +C 2.924492171541517 16.527474914354254 4.20099197505235 +C 1.2207786615502956 21.277114795110418 1.8358624491752433 +C 4.840894688661477 13.893910718527128 1.883364305491454 +C 3.227504157729772 22.19717438909196 0.21235249361431655 +C 4.0176309976997215 15.937302548589939 2.11088028134377 +C 4.725272527540586 19.76550409245097 1.5994600752338493 +C 1.1993500015800278 20.762133033578728 0.6623022968359537 +C 3.660053788422493 19.20457780310523 4.612274311395195 +C 1.1430876559563061 23.08043864448201 4.294086312927097 +C 4.385325222128798 18.129405918262336 2.311475433349747 +C 2.6838432883299426 21.118812234300098 4.524442324230783 +C 2.4142336839337046 21.515687229800594 3.3530658514721563 +C 2.3465300997867584 20.149759510649726 1.0667260499656226 +C 3.0099295749691266 16.938492785672743 1.043732670546898 +C 4.985698435883629 20.10115219736228 2.568891360387687 +C 2.9503859636414225 26.33682966429337 2.2316368329529865 +C 0.2716007630976115 22.38816781880433 4.895477197976576 +C 4.989868406985205 17.40225155162723 1.3754776649919322 +C 2.7371383182331117 7.01066973985554 0.5931310592996005 +C 4.10921525972449 38.06088978314185 2.409885660759991 +C 0.4375434819282525 20.98818818831609 4.846381890849123 +C 4.997733908013111 39.099998430915846 0.9226558770814975 +C 2.722488711543494 19.89251450683246 2.0335773419126686 +C 1.458030202233378 36.939965955445594 1.5253832369510851 diff --git a/main.py b/main.py index 704d25d..e5aad4b 100644 --- a/main.py +++ b/main.py @@ -1,53 +1,161 @@ import sys +import os +import json +import numpy as np + from src.ljts.potential import LJTS from src.ljts.box import Box from src.ljts.orchestrator import Orchestrator, MetropolisMC +from src.ljts.distortion import compute_distortion def run_with_orchestrator(config_file: str): """Run simulation using Orchestrator with JSON configuration.""" try: - # Create orchestrator with configuration file + # Load JSON config directly for parameter logging + with open(config_file, 'r') as jf: + cfg = json.load(jf) + + # Instantiate orchestrator & print its summary orchestrator = Orchestrator(config_file) orchestrator.print_config_summary() - - # Create the inter-particle potential + + # Extract setup parameters + setup = cfg["setup"] + Lx, Ly, Lz = setup["Lx"], setup["Ly"], setup["Lz"] + T = setup.get("temperature", 0.8) + + # Build potential & box potential = LJTS(cutoff=2.5) - - # Get box dimensions from config - setup = orchestrator.config["setup"] box = Box( - len_x=setup["Lx"], - len_y=setup["Ly"], - len_z=setup["Lz"], - den_liq=setup["compartments"][1]["density"], - den_vap=setup["compartments"][0]["density"], + len_x = Lx, + len_y = Ly, + len_z = Lz, + den_liq = setup["compartments"][1]["density"], + den_vap = setup["compartments"][0]["density"], potential=potential ) - - # Set the box in orchestrator orchestrator.box = box - - # Print initial stats + + # Extract step parameters + sim_cfg = cfg["steps"] + n_pr = sim_cfg["total"] + reset_points = set(sim_cfg.get("reset_sampling_at", [])) + + # Extract console + trajectory output parameters + console_freq = cfg.get("console_output", {}).get("frequency") + traj_cfg = cfg.get("trajectory_output", {}) + log_interval = traj_cfg.get("frequency") + traj_file = traj_cfg.get("file") + + # Extract configuration output parameters + conf_cfg = cfg.get("configuration_output", {}) + init_file = conf_cfg.get("initial") + final_file = conf_cfg.get("final") + + # Extract control parameters & distortions + ctrl = cfg["control_parameters"] + max_disp = ctrl["maximum_displacement"] + distortions = ctrl["test_area_distortion"] + d1, d2 = distortions[0], distortions[1] + sx1, sy1, sz1 = d1["sx"], d1["sy"], d1["sz"] + sx2, sy2, sz2 = d2["sx"], d2["sy"], d2["sz"] + + # Initial stats & initial config dump print(f"Initial # molecules: {len(box._molecules)}") print(f"Initial E_pot: {box.total_epot:.5f}") - - T = 0.8 - + if init_file: + os.makedirs(os.path.dirname(init_file), exist_ok=True) + box.write_XYZ(init_file) + + # Set up Metropolis MC orchestrator.setup_simulation( MetropolisMC, T=T, log_energy=True ) - - # Run the full simulation as configured - orchestrator.run_simulation() - - # Final results + mc = orchestrator.simulation + setattr(mc, "b", max_disp) + + # Prepare results directory & log filename with parameters + results_dir = "results" + os.makedirs(results_dir, exist_ok=True) + param_str = f"steps{n_pr}_d1({sx1},{sy1},{sz1})" + log_fname = os.path.join(results_dir, f"result_{param_str}.log") + + # Open log and write parameters header + exp_s1, exp_s2 = [], [] + with open(log_fname, "w") as f_log: + f_log.write("# Simulation Parameters\n") + f_log.write(f"# Box dimensions: {Lx} x {Ly} x {Lz}\n") + f_log.write(f"# Temperature: {T}\n") + f_log.write(f"# Total steps: {n_pr}\n") + f_log.write(f"# Log interval: {log_interval}\n") + f_log.write(f"# Max displacement: {max_disp}\n") + f_log.write(f"# Distortions: d1=({sx1},{sy1},{sz1}), d2=({sx2},{sy2},{sz2})\n") + f_log.write(f"# Reset sampling at: {sorted(reset_points)}\n") + f_log.write(f"# Console freq: {console_freq}\n") + f_log.write(f"# Trajectory freq/file: {log_interval}/{traj_file}\n") + f_log.write("\n# step E_pot acc w1 avg1 gamma1 w2 avg2 gamma2\n") + + # Monte Carlo loop with distortion logging + for step in range(1, n_pr + 1): + acc = mc.step() + Epot = box.total_epot + + # Reset accumulators if requested + if step in reset_points: + exp_s1.clear() + exp_s2.clear() + + # Compute distortions each MC step + dU1, dA1 = compute_distortion(box, sx1, sy1, sz1) + dU2, dA2 = compute_distortion(box, sx2, sy2, sz2) + + # Boltzmann weights + w1 = np.exp(-dU1 / T) + w2 = np.exp(-dU2 / T) + exp_s1.append(w1) + exp_s2.append(w2) + + # Console output + if console_freq and (step % console_freq == 0): + print(f"Step {step}: E_pot={Epot:.3f}, acc={acc:.3f}") + + # Trajectory dump + if traj_file and (step % log_interval == 0): + os.makedirs(os.path.dirname(traj_file), exist_ok=True) + box.write_XYZ(traj_file) + + # Logging to file at intervals + if step % log_interval == 0: + avg1 = np.mean(exp_s1) + avg2 = np.mean(exp_s2) + gamma1 = -T * np.log(avg1) / dA1 + gamma2 = -T * np.log(avg2) / dA2 + + f_log.write( + f"{step:6d} {Epot:8.3f} {acc:5.3f} " + f"{w1:7.3e} {avg1:7.3e} {gamma1:8.3f} " + f"{w2:7.3e} {avg2:7.3e} {gamma2:8.3f}\n" + ) + + # Final surface-tension summary + f_log.write("\n") + f_log.write(f"gamma(area increase) = {gamma1:.6f}\n") + f_log.write(f"gamma(area decrease) = {gamma2:.6f}\n") + + # Final configuration dump + if final_file: + os.makedirs(os.path.dirname(final_file), exist_ok=True) + box.write_XYZ(final_file) + + # Final console output print("\n=== Final Results ===") print(f"Final E_pot: {box.total_epot:.5f}") print(f"Total # molecules: {len(box._molecules)}") - + + except FileNotFoundError as e: print(f"Error: {e}", file=sys.stderr) sys.exit(1) @@ -57,12 +165,13 @@ def run_with_orchestrator(config_file: str): def main(): - # Check if a JSON config file was provided as command line argument if len(sys.argv) == 2 and sys.argv[1].endswith('.json'): - config_file = sys.argv[1] - print(f"Running with JSON configuration: {config_file}") - run_with_orchestrator(config_file) + print(f"Running with JSON configuration: {sys.argv[1]}") + run_with_orchestrator(sys.argv[1]) + else: + print("Usage: python main.py ", file=sys.stderr) + sys.exit(1) if __name__ == "__main__": - main() + main() \ No newline at end of file diff --git a/main_old.py b/main_old.py deleted file mode 100644 index 8d56f4b..0000000 --- a/main_old.py +++ /dev/null @@ -1,102 +0,0 @@ -import numpy as np -from src.ljts.potential import LJTS -from src.ljts.box import Box -from src.ljts.simulation import MetropolisMC -from src.ljts.distortion import compute_distortion -from src.config import parseArgs -import os - -def main(): - args = parseArgs() - os.makedirs("data", exist_ok=True) - - # Create the inter‐particle potential & box - potential = LJTS(cutoff=2.5) - box = Box( - len_x=5, - len_y=40, - len_z=5, - den_liq=0.73, - den_vap=0.02, - potential=potential - ) - - # parameters you might even pull from args - T = 0.8 - zeta = 1.01 - n_eq = 1000 - n_pr = 2000 - log_interval = 500 - - # Open file and write header - with open(f"results/{T}_{zeta}_{n_pr}", "w") as f: - f.write("# run parameters\n") - f.write(f"T = {T}\n") - f.write(f"zeta = {zeta}\n") - f.write(f"n_eq = {n_eq}\n") - f.write(f"n_pr = {n_pr}\n") - f.write(f"log_interval= {log_interval}\n") - f.write("\n# step Epot acc e1 avg1 gamma1 e2 avg2 gamma2\n") - - # initial epot - f.write(f"initial {box.total_epot:.5f} - - - - - - -\n") - - # Run MC and log into file - mc = MetropolisMC(box, T=T, b=1/8, log_energy=False) - mc.run(n_steps=n_eq, log_interval=log_interval) - - exp_s1 = [] - exp_s2 = [] - sqrt_zeta = zeta**0.5 - - for step in range(1, n_pr + 1): - acc = mc.step() - Epot = box.total_epot - - if step % log_interval == 0: - # compute distortions - dU1, dA1 = compute_distortion( - box.get_molecules, - box.box_size, - box.potential, - sqrt_zeta, - 1.0 / zeta, - sqrt_zeta - ) - dU2, dA2 = compute_distortion( - box.get_molecules, - box.box_size, - box.potential, - 1.0 / sqrt_zeta, - zeta, - 1.0 / sqrt_zeta - ) - - e1 = np.exp(-dU1 / T) - e2 = np.exp(-dU2 / T) - exp_s1.append(e1) - exp_s2.append(e2) - - avg1 = np.mean(exp_s1) - avg2 = np.mean(exp_s2) - gamma1 = -T * np.log(avg1) / dA1 - gamma2 = -T * np.log(avg2) / dA2 - - f.write( - f"{step:6d} " - f"{Epot:8.3f} " - f"{acc:5.3f} " - f"{e1:7.3e} " - f"{avg1:7.3e} " - f"{gamma1:8.3f} " - f"{e2:7.3e} " - f"{avg2:7.3e} " - f"{gamma2:8.3f}\n" - ) - - f.write("\n") - f.write(f"gamma(area increase) = {gamma1:.6f}\n") - f.write(f"gamma(area decrease) = {gamma2:.6f}\n") - -if __name__ == "__main__": - main() diff --git a/results/0.8_1.01_2000 b/results/0.8_1.01_2000 deleted file mode 100644 index 99bd4a3..0000000 --- a/results/0.8_1.01_2000 +++ /dev/null @@ -1,16 +0,0 @@ -# run parameters -T = 0.8 -zeta = 1.01 -n_eq = 1000 -n_pr = 2000 -log_interval= 500 - -# step Epot acc e1 avg1 gamma1 e2 avg2 gamma2 -initial 145416350.62355 - - - - - - - - 500 -842.047 0.512 7.287e+00 7.287e+00 -3.178 6.554e-02 6.554e-02 -4.404 - 1000 -918.345 0.506 1.672e+00 4.480e+00 -2.399 2.778e-01 1.716e-01 -2.848 - 1500 -928.566 0.488 2.547e-01 3.071e+00 -1.795 1.511e+00 6.180e-01 -0.778 - 2000 -908.930 0.599 2.341e+00 2.889e+00 -1.697 2.062e-01 5.150e-01 -1.072 - -gamma(area increase) = -1.697352 -gamma(area decrease) = -1.072317 diff --git a/src/ljts/box.py b/src/ljts/box.py index 4a7bceb..2e9de1b 100644 --- a/src/ljts/box.py +++ b/src/ljts/box.py @@ -1,5 +1,5 @@ import numpy as np -from ljts.molecule import Molecule +from src.ljts.molecule import Molecule from collections import defaultdict import itertools @@ -14,7 +14,7 @@ def __init__(self, len_x, len_y, len_z, den_liq=None, den_vap=None, potential=No self.potential = potential if den_liq is not None and den_vap is not None: - self._populate_box(den_liq, den_vap) + self.populate_box(den_liq, den_vap) self._total_Epot = 0.0 self.total_potential_energy() @@ -126,3 +126,7 @@ def num_molecules(self) -> int: @property def box_size(self): return self._box_size + + @property + def total_Epot(self): + return self._total_Epot diff --git a/src/ljts/distortion.py b/src/ljts/distortion.py index a476a9f..0bfbf9e 100644 --- a/src/ljts/distortion.py +++ b/src/ljts/distortion.py @@ -1,18 +1,20 @@ import numpy as np -def compute_distortion(molecules, box_size, potential, sx, sy, sz): +def compute_distortion(box, sx, sy, sz): """ Compute the change in potential energy (delta U) and interface area (delta A) for a small, volume-conserving distortion of the simulation box and coordinates. """ + molecules = box.get_molecules + potential = box.potential + box_size = box.box_size + + # Ensure volume-conserving distortions + if not (np.isclose(sx * sy * sz, 1.0)): + raise ValueError("Distortions must be volume-conserving (sx * sy * sz = 1.0)") + # Undistorted energy - E0 = 0.0 - N = len(molecules) - for i in range(N): - for j in range(i + 1, N): - p1 = molecules[i].position - p2 = molecules[j].position - E0 += potential.potential_energy(p1, p2, box_size) + E0 = box.total_Epot # Distorted box size and scale matrix new_box = box_size * np.array([sx, sy, sz]) @@ -20,10 +22,12 @@ def compute_distortion(molecules, box_size, potential, sx, sy, sz): # Distorted energy E1 = 0.0 + N = len(molecules) for i in range(N): for j in range(i + 1, N): - p1 = scale_matrix @ molecules[i].position - p2 = scale_matrix @ molecules[j].position + center = box_size / 2.0 + p1 = scale_matrix @ (molecules[i].position - center) + center + p2 = scale_matrix @ (molecules[j].position - center) + center E1 += potential.potential_energy(p1, p2, new_box) delta_U = E1 - E0 diff --git a/src/ljts/orchestrator.py b/src/ljts/orchestrator.py index 7b4c047..740f855 100644 --- a/src/ljts/orchestrator.py +++ b/src/ljts/orchestrator.py @@ -33,25 +33,33 @@ def step(self) -> float: for i in range(N): idx = np.random.randint(N) mol = self.box._molecules[idx] - # Calculate potential energy before moving - old_E = sum( - self.box.potential.potential_energy( - mol.position, other.position, self.box.box_size - ) - for other in self.box.get_molecules - if other is not mol - ) - # trial move + + # Calculate before the move + energies_before = [] + for other in self.box.get_molecules: + if other is not mol: + energy = self.box.potential.potential_energy( + mol.position, other.position, self.box.box_size + ) + energies_before.append(energy) + energy_before_move = sum(energies_before) + + # Perform a random trial move mol.move_random(self.b, self.box.box_size) - # new energy with the trial position - new_E = sum( - self.box.potential.potential_energy( - mol.alt_position, other.position, self.box.box_size - ) - for other in self.box.get_molecules - if other is not mol - ) - delta_E = new_E - old_E + + # Calculate after the move + energies_after = [] + for other in self.box.get_molecules: + if other is not mol: + energy = self.box.potential.potential_energy( + mol.alt_position, other.position, self.box.box_size + ) + energies_after.append(energy) + energy_after_move = sum(energies_after) + + # Compute the change in potential energy + delta_E = energy_after_move - energy_before_move + # Accept or reject the move based on Metropolis criterion if delta_E < 0 or np.random.rand() < np.exp(-delta_E / self.T): mol.position = np.copy(mol.alt_position) @@ -217,3 +225,21 @@ def print_config_summary(self): print(f"Reset sampling at steps: {self.config['steps']['reset_sampling_at']}") print("==========================================================") + + +class SimulationFactory: + """ + Factory to register and create Potential instances. + """ + def __init__(self): + self._types = {} + + def register(self, name: str, simulation_class: type): + if not issubclass(simulation_class, Simulation): + raise TypeError(f"{simulation_class} must inherit from Potential") + self._types[name] = simulation_class + + def __call__(self, name: str, **kwargs) -> Simulation: + if name not in self._types: + raise KeyError(f"Unknown potential type: {name}") + return self._types[name](**kwargs) \ No newline at end of file diff --git a/src/ljts/potential.py b/src/ljts/potential.py index f4af8c4..e8a4ca8 100644 --- a/src/ljts/potential.py +++ b/src/ljts/potential.py @@ -31,3 +31,26 @@ def potential_energy(self, pos_i, pos_j, box_size): inv_r6 = inv_r2**3 inv_r12 = inv_r6**2 return 4 * (inv_r12 - inv_r6) - self.u + +class Harmonic(Potential): + """ + Just example for showing how abstract methods work. + """ + pass + +class PotentialFactory: + """ + Factory to register and create Potential instances. + """ + def __init__(self): + self._types = {} + + def register(self, name: str, potential_class: type): + if not issubclass(potential_class, Potential): + raise TypeError(f"{potential_class} must inherit from Potential") + self._types[name] = potential_class + + def __call__(self, name: str, **kwargs) -> Potential: + if name not in self._types: + raise KeyError(f"Unknown potential type: {name}") + return self._types[name](**kwargs) \ No newline at end of file diff --git a/vle-0.80-improved.json b/vle-0.80-improved.json new file mode 100644 index 0000000..2b9284f --- /dev/null +++ b/vle-0.80-improved.json @@ -0,0 +1,39 @@ +{ + "setup": { + "Lx": 12, + "Ly": 60, + "Lz": 12, + "compartments": [ + { "density": 0.02, "volume_fraction": 0.35 }, + { "density": 0.73, "volume_fraction": 0.30 }, + { "density": 0.02, "volume_fraction": 0.35 } + ] + }, + + "steps": { + "total": 150000, + "reset_sampling_at": [ + 40000 + ] + }, + + "console_output": { "frequency": 100 }, + "configuration_output": { + "initial": "data/vle0.80_big_config_init.xyz", + "final": "data/vle0.80_big_config_final.xyz" + }, + + "trajectory_output": { + "frequency": 1000, + "file": "data/vle0.80_big_trajectory.xyz" + }, + + "control_parameters": { + "maximum_displacement": 0.18, + "test_area_distortion": [ + { "sx": 0.9999975, "sy": 1.000005, "sz": 0.9999975 }, + { "sx": 1.0000025, "sy": 0.999995, "sz": 1.0000025 } + ] + } + } + \ No newline at end of file diff --git a/vle-0.80-small.json b/vle-0.80-small.json new file mode 100644 index 0000000..1547155 --- /dev/null +++ b/vle-0.80-small.json @@ -0,0 +1,56 @@ +{ + "setup": { + "Lx": 3, + "Ly": 12, + "Lz": 3, + "compartments": [ + { + "density": 0.02, + "volume_fraction": 0.4 + }, + { + "density": 0.73, + "volume_fraction": 0.2 + }, + { + "density": 0.02, + "volume_fraction": 0.4 + } + ] + }, + "steps": { + "total": 10000, + "reset_sampling_at": [ + 10, + 2000, + 5000 + ] + }, + "console_output": { + "frequency": 50 + }, + "configuration_output": { + "initial": "data/vle-small_config_init.xyz", + "final": "data/vle-small_config_final.xyz" + }, + "trajectory_output": { + "frequency": 100, + "file": "data/vle-small_trajectory.xyz" + }, + "control_parameters": { + "maximum_displacement": 0.125, + "test_area_distortion": [ + { + "sx": 0.999995, + "sy": 1.00001, + "sz": 0.999995 + }, + { + "sx": 1.000005, + "sy": 0.99999, + "sz": 1.000005 + } + ] + } + } + \ No newline at end of file