diff --git a/CHANGELOG.md b/CHANGELOG.md index 8455bbe4..01af332f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,10 +14,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * Added image reference in `docs/examples/example_isolines.md` and added `Measure: examples/example_measure.md` to the Examples nav in `mkdocs.yml`. * Added `docs/examples/example_booleans_with_edges.md` and `example_booleans_with_face_source.md` (with their images) covering the corefinement intersection-edge and face-source-tracking variants of the boolean operations; both wired into the Examples nav. * Added `docs/examples/example_boolean_difference_mesh_meshes.md` (CSG drilled rounded cube) and its Examples nav entry. +* Added `data/flat_star_disk_irregular_rim.off` — a flat synthetic fixture whose irregular boundary sampling exposes multi-source heat-method normalization errors against a dependency-free euclidean truth (on a flat mesh the euclidean distance to the nearest source is exact in the near band and a hard lower bound everywhere), plus the regression test `tests/test_geodesics.py::test_heat_geodesic_multisource_boundary_sources` that fails on the previous backend. +* `heat_geodesic_distances`, `HeatGeodesicSolver`, `geodesic_isolines`, and `geodesic_isolines_split` now accept a `compas.datastructures.Mesh` directly, in addition to the `(vertices, faces)` tuple — both input shapes are declared via `@overload` and coerced through one internal `_as_vertices_faces` seam. ### Fixed * Fixed `docs/examples/example_projection.py` imports: `project_mesh_on_mesh`, `project_points_on_mesh`, `pull_mesh_on_mesh`, and `pull_points_on_mesh` were incorrectly imported from `compas_cgal.meshing` instead of `compas_cgal.projection`, causing `ImportError` for anyone running the example. +* Fixed multi-source geodesic distances collapsing near the source set: `heat_geodesic_distances`, `HeatGeodesicSolver`, `geodesic_isolines`, and `geodesic_isolines_split` now use an own Eigen implementation of the heat method (Crane et al. 2017) with a Dirichlet-constrained Poisson step instead of CGAL's `Heat_method_3`, whose `value_at_source_set` normalizes the Poisson potential through `min_s |phi(i) - phi(s)|` — a distance between *values* that folds every vertex whose potential lands inside the source-value spread (seeding all 508 boundary vertices of the new fixture read 0.54x the true distance in the near band, with 83% of band vertices below the euclidean lower bound). Distances are now exactly 0 at sources, non-negative, and accurate for arbitrary source sets; single-source results are unchanged within discretization error. Empty source sets now raise `ValueError` and meshes with a connected component containing no source raise `RuntimeError` (both previously returned meaningless values). The docstring claim that the intrinsic-Delaunay variant was used has been dropped (the binding instantiated the class default, `Direct`). ### Changed diff --git a/data/flat_star_disk_irregular_rim.off b/data/flat_star_disk_irregular_rim.off new file mode 100644 index 00000000..7efe9099 --- /dev/null +++ b/data/flat_star_disk_irregular_rim.off @@ -0,0 +1,8503 @@ +OFF +# Flat star-shaped disk (z = 0) with irregular, variable-density boundary sampling. +# Fully synthetic (numpy + scipy.spatial.Delaunay, fixed seed); CC0 / public domain. +# +# Regression fixture for MULTI-SOURCE heat-method geodesic distances: seed every +# boundary vertex as a source. The mesh is flat and simply covered, so in the +# near-boundary band the exact geodesic distance to the source set equals the +# euclidean distance to the nearest source (verified against exact polyhedral +# geodesics, agreement ~1e-15). The variable rim sampling makes the heat-method +# Poisson potential spread across the sources, which exposes source-set +# normalization bugs dramatically while correct normalizations stay within a few +# percent of the truth. +3000 5490 0 +1.0333477311284422 0.014128395965919454 0 +1.097709014835849 0.044819346796702846 0 +1.1275819705941486 0.060977333424775904 0 +1.158481768336677 0.079334526512598202 0 +1.1793898979508628 0.092916523300086068 0 +1.190279211092637 0.10043377082111567 0 +1.221339183298622 0.12395446377904827 0 +1.3185708159365177 0.27397695315041565 0 +1.3173447791962027 0.29429863448087212 0 +1.3155174697191028 0.30302084653411321 0 +1.3116607935605944 0.31487279353410907 0 +1.2877537953201448 0.35159237192772469 0 +1.2640936997271552 0.37205872889760044 0 +1.2182390960984459 0.39743590424366793 0 +1.1915273563188515 0.40759350668993583 0 +1.1870426154309561 0.40906777359269825 0 +1.1204283579472265 0.42519431143117736 0 +1.1083126651591002 0.42718976514507234 0 +1.0869852942599563 0.43014210694174004 0 +1.0330297597186662 0.43486527998760849 0 +0.99793839239502569 0.43614934562525037 0 +0.94817672000173681 0.43595359096966535 0 +0.93137910558772541 0.4354125829414775 0 +0.91115768323592183 0.43447181802040724 0 +0.84095330422093029 0.4290072984864739 0 +0.82750468919598341 0.42761214152222637 0 +0.82431711808030095 0.42726663607395948 0 +0.81664352745477531 0.4264122939203383 0 +0.76941087903578642 0.42050650127592409 0 +0.7364355220177683 0.41581904947951143 0 +0.69646002627278247 0.40969440636708543 0 +0.66226912009029937 0.40427499597500199 0 +0.63380745472307776 0.39985068901525878 0 +0.60388098476752072 0.3956135443867197 0 +0.56814231658608894 0.39202849503569787 0 +0.54990945133500557 0.39157948540962589 0 +0.54443122225203355 0.3917798609370361 0 +0.53015795755681194 0.39352480028851428 0 +0.51909504742529311 0.3970212132662117 0 +0.50821857643253909 0.40523318236823375 0 +0.50542210197447224 0.45473258897552776 0 +0.5102886265853962 0.4721883999709835 0 +0.5118011920108434 0.47696048232712629 0 +0.5127278920098971 0.47979428608626218 0 +0.51358274292322015 0.48235774646289015 0 +0.52944025022996333 0.52531463619729002 0 +0.53043488670944805 0.52785561598195629 0 +0.53597250040282318 0.5418598751614252 0 +0.53629498881734283 0.54266966411792594 0 +0.54363744189923313 0.56101172176126324 0 +0.55313854848465982 0.58468186907960706 0 +0.55789454026097152 0.59659032556029956 0 +0.56348054623139276 0.6106827236464456 0 +0.56686888998461415 0.619304173784467 0 +0.56982366782203686 0.62687668176847589 0 +0.57226770445736497 0.63318305670295671 0 +0.57939884938148212 0.65183925400039255 0 +0.5885351702491356 0.67641352284377088 0 +0.59242844486028556 0.68716087053993469 0 +0.60187813037805538 0.71407995617866515 0 +0.61220978421560923 0.74518280629360734 0 +0.61882901665332635 0.76628505549800918 0 +0.63004908248684044 0.80489913415559089 0 +0.6397843539670679 0.84258847545925253 0 +0.64626908116060977 0.87109112253578591 0 +0.64891106566990897 0.88386498908829281 0 +0.65017611503180595 0.89029513865326737 0 +0.65255599761100247 0.90306923281816998 0 +0.65302722140514735 0.90572060657232722 0 +0.65598681210458865 0.92355953331738028 0 +0.65686096399625682 0.92931520819503743 0 +0.66373733624199938 0.99555313923460975 0 +0.6641811735551939 1.0049780820025191 0 +0.66424224116534825 1.0065948249382766 0 +0.66426420130840214 1.0072073454511437 0 +0.66457938697050223 1.020706936456355 0 +0.66458995483757544 1.0217539514185261 0 +0.66460369715336054 1.0236228362472413 0 +0.66316059878410072 1.0637993427341665 0 +0.65978314273585248 1.092116456360732 0 +0.65962277248705792 1.0931064203823917 0 +0.6590087906964992 1.0967304506520628 0 +0.65862334421174029 1.0988846827591616 0 +0.65536237447406953 1.114396313116492 0 +0.65438532518503212 1.118343143000045 0 +0.6540276688676171 1.1197260605246391 0 +0.65328747111985097 1.1224927845109809 0 +0.65298056950800065 1.1236045402188517 0 +0.64895915837542473 1.1365996007727159 0 +0.64753497962708295 1.1406297779655326 0 +0.64678174621208273 1.1426624648309416 0 +0.62542498337074592 1.1827638836759264 0 +0.62138487684722832 1.1879150980205395 0 +0.61860444987386953 1.1911600831235916 0 +0.5965322645258595 1.2102525856432249 0 +0.57934998215547828 1.2191124420545194 0 +0.57873697392829992 1.21935355562853 0 +0.56419134234031243 1.2237864034113937 0 +0.55578929185950465 1.2253287512712563 0 +0.52124014948435327 1.2252917585578138 0 +0.5198477061510165 1.2251024905394612 0 +0.5163660174456266 1.2245720335922505 0 +0.50775685770583101 1.2229202528962999 0 +0.50395936093425164 1.2220430458122287 0 +0.47074104046739079 1.2108203404989981 0 +0.46100652451793495 1.2064171018842793 0 +0.45095815678184281 1.2013823448972505 0 +0.43652882522931741 1.1933187063415658 0 +0.38193293829843822 1.1545727036875209 0 +0.3782769948187012 1.151538408832661 0 +0.37569138284075565 1.1493603582774778 0 +0.32483335146450976 1.1012382046780822 0 +0.32370890029201971 1.1000626368295749 0 +0.30387734537792321 1.0785483207217295 0 +0.29185761314273412 1.0647918434409247 0 +0.28202078086913818 1.0531324738159491 0 +0.2762782784043869 1.046159283957619 0 +0.25772665572440129 1.0227925149051142 0 +0.25769131942272649 1.0227467841784597 0 +0.22430774208663945 0.97746808909583971 0 +0.22389832630480691 0.97688709644504357 0 +0.22062316446197713 0.97221704505389162 0 +0.1939012717058389 0.93263928777944705 0 +0.18302355397890419 0.9157860796456917 0 +0.16407895129319053 0.88544648890034239 0 +0.14077470924141641 0.8465290238562867 0 +0.12408438314420112 0.81774628986692688 0 +0.10723105936372049 0.78816774641461174 0 +0.090517791189768451 0.75872130664069204 0 +0.032608950227525788 0.66933099678939956 0 +0.018326132581935963 0.65640349263625986 0 +0.016391086013795686 0.65514656307657881 0 +0.013290597565516656 0.65340566615421392 0 +0.0029907904649086169 0.65017454849943235 0 +0.0015617465238287373 0.65004761799412492 0 +0.00024897172802741354 0.65000121039003422 0 +-0.0052416752157802135 0.6505354257299113 0 +-0.0060819763664734759 0.65072035855040489 0 +-0.0074552312129064135 0.65108092907844717 0 +-0.0087190345478247201 0.65147628887656073 0 +-0.01211738619950733 0.65283694184707697 0 +-0.034041902626120064 0.67094333155589192 0 +-0.03439851910611403 0.67135246470504006 0 +-0.035801800199435969 0.6729920453910575 0 +-0.047785668493637988 0.6886954135325265 0 +-0.075986910841207539 0.733533201694338 0 +-0.080338757299111635 0.7409986868966808 0 +-0.090194992154506035 0.75815528888047989 0 +-0.17796694897099333 0.9078089208046396 0 +-0.18491809510900398 0.91875167826532567 0 +-0.20851168998622377 0.95460314857109041 0 +-0.3144612500728759 1.090214016404079 0 +-0.33164022953770927 1.108252575990436 0 +-0.33354971851011994 1.1101887834940649 0 +-0.36012264331661015 1.1356893188476034 0 +-0.41744182300252353 1.1812110757107861 0 +-0.45074771596904301 1.2012717214614463 0 +-0.4666525063703203 1.2090290118491791 0 +-0.52186112528541306 1.225371893829055 0 +-0.57265614140571008 1.2214983273603606 0 +-0.60519223756944496 1.2039882439333134 0 +-0.61137687346745984 1.1986026873946738 0 +-0.62195769903730669 1.1872173180972743 0 +-0.63996838726032257 1.1585744081876017 0 +-0.66342207033668921 1.0604097397659835 0 +-0.6640399305962299 1.0502926411463012 0 +-0.65840549838216789 0.94022671098473332 0 +-0.65702001450706093 0.93039209714294413 0 +-0.65454883777884143 0.91461185802200995 0 +-0.64964703555075354 0.88757846674389917 0 +-0.62111667700837436 0.7738374271045948 0 +-0.6034992863288009 0.718833215512788 0 +-0.59567402872670439 0.69626508128982745 0 +-0.59339918929670776 0.68986952543497249 0 +-0.58108317994872261 0.65630813093882234 0 +-0.56394006429478205 0.61184836335746451 0 +-0.56075601428156596 0.60379243095611312 0 +-0.55196294936641843 0.58174743380085914 0 +-0.53464243808118972 0.53851439324586203 0 +-0.53406137844994017 0.53704975553693646 0 +-0.52973887324025293 0.52607853303499708 0 +-0.52881364249153096 0.52370875661259486 0 +-0.50842026097548709 0.46596626054073798 0 +-0.50546314393273029 0.45490250040823821 0 +-0.50439519932844856 0.45024617761273111 0 +-0.50243134970755343 0.4391923580063371 0 +-0.50168600244997952 0.43104501968442821 0 +-0.50171365411987345 0.42445131332419167 0 +-0.50205867922736924 0.42078776956013142 0 +-0.50354844828769962 0.41405395147649343 0 +-0.50446934878519389 0.41157462553898377 0 +-0.51003941520958362 0.40319120608151565 0 +-0.51020866331432935 0.40302204973619876 0 +-0.52045616313486875 0.39642689725881552 0 +-0.53533226940304668 0.39263766872337447 0 +-0.5588080472466429 0.39162007414402189 0 +-0.57602504974465929 0.3925912358722331 0 +-0.62952830897113454 0.39920891487588822 0 +-0.67433333497575176 0.40618986392533335 0 +-0.77710599672298153 0.42153900402447264 0 +-0.83987328231263736 0.42889906472745781 0 +-0.85602909443848008 0.43044628905186227 0 +-0.96590414694570881 0.43627375352411257 0 +-1.0668769357494283 0.43233170673578292 0 +-1.0945205917116092 0.42917671449285544 0 +-1.0983097086106466 0.42865976743402084 0 +-1.1269086983277548 0.42402465041738113 0 +-1.1271395982978432 0.42398160596067652 0 +-1.171164028906956 0.41383538143123433 0 +-1.1976682293761582 0.40547521522354252 0 +-1.209014236687296 0.40123327907994866 0 +-1.2210755023796134 0.39619904898152836 0 +-1.2356511720609689 0.38926089441651218 0 +-1.2430905428017323 0.38529224142945906 0 +-1.2587786406420742 0.37573878079449713 0 +-1.2635023099789833 0.37248112567957953 0 +-1.2683947924875236 0.36888088922300211 0 +-1.3131082684962416 0.31098385776310566 0 +-1.3154890908856294 0.30313092543699399 0 +-1.3185402953344878 0.2827587398283431 0 +-1.3173500748682738 0.26129862891772682 0 +-1.3121017034325879 0.23989493435413367 0 +-1.3080940062111877 0.22928972725142654 0 +-1.3043954680712881 0.22112253903555235 0 +-1.3010636000131959 0.21459523786231943 0 +-1.2986012415924013 0.21014242638449784 0 +-1.2791739027532971 0.18152820473936065 0 +-1.2744496033436541 0.17568728154254928 0 +-1.2743979489090047 0.17562512075040262 0 +-1.2720781418669864 0.17286856127203798 0 +-1.2660224848937836 0.16596995472876422 0 +-1.2643513575446739 0.1641348237530833 0 +-1.255644750437283 0.15498931918183212 0 +-1.2517025208264518 0.15105287267749101 0 +-1.2509286936828239 0.15029368921791086 0 +-1.2312678909312476 0.13227528711621045 0 +-1.2239644150897098 0.12611081200325305 0 +-1.2118054132614873 0.11636455666884746 0 +-1.2043453259255541 0.11066727546936378 0 +-1.1987968403496003 0.10655513186764246 0 +-1.1950777441629419 0.10385481024054073 0 +-1.1722882315020984 0.088184626835088209 0 +-1.1664620967637191 0.084395897735675754 0 +-1.1612035919008701 0.081044659518471354 0 +-1.1120386999760496 0.052394930835961209 0 +-1.1024234575933172 0.047277878206527083 0 +-1.1017352829997926 0.046916977795457691 0 +-1.0995204857316996 0.045760183567340018 0 +-1.0888819280012558 0.040301303465597654 0 +-1.0853542541701775 0.038525762335230286 0 +-1.0670616656524003 0.029578943939259306 0 +-1.0361756493578771 0.01537673896885716 0 +-1.020955337832699 0.0087535399210061336 0 +-1.0008590990224524 0.00035097941457089483 0 +-0.99279140362562102 -0.0029195495579720705 0 +-0.99180163475119698 -0.0033169076205474112 0 +-0.98677387128139504 -0.0053225543220988582 0 +-0.96867369985049467 -0.012371608180098864 0 +-0.96294681265475623 -0.014548379371604372 0 +-0.93867291608352532 -0.023508660126404901 0 +-0.90774250693378711 -0.034357617107333947 0 +-0.90260696727605938 -0.036103122671193449 0 +-0.88635494974274343 -0.041531827435857024 0 +-0.85489139562936134 -0.051674459308414855 0 +-0.84549295979012717 -0.054623108778441072 0 +-0.83546106371329054 -0.057735775614339152 0 +-0.83170932233985417 -0.058891496783925905 0 +-0.82803441530045341 -0.060019497628785556 0 +-0.82589348358100689 -0.060674895329923373 0 +-0.82158853803213838 -0.061989076378061753 0 +-0.82128140614215239 -0.062082655415308892 0 +-0.81857986992232368 -0.062904797008275865 0 +-0.80749471986892385 -0.066261777971403077 0 +-0.77960783298633107 -0.074636462659604261 0 +-0.76278873258281421 -0.079692090592064613 0 +-0.7470186902292496 -0.084488597561062154 0 +-0.72442743389622877 -0.091576651038392673 0 +-0.72093725405267173 -0.092708002269975207 0 +-0.71878171102637989 -0.093413182276327514 0 +-0.7065456430480983 -0.097529142459378895 0 +-0.70351005901666919 -0.098585926313621799 0 +-0.69967134010830401 -0.099947053549325593 0 +-0.680268319005921 -0.10740224001646199 0 +-0.66942474982201317 -0.11221031187090934 0 +-0.66399633466012864 -0.11489664660484901 0 +-0.63920081805945839 -0.13341049466058313 0 +-0.63869221731550585 -0.13408199054886633 0 +-0.6333587157071644 -0.14644344472339069 0 +-0.6331030788705625 -0.15223412904978037 0 +-0.64235283921282471 -0.17634048015228962 0 +-0.64366468695454615 -0.1783529358075871 0 +-0.65345037044104293 -0.19135353941843461 0 +-0.66440448332687219 -0.20377964901207765 0 +-0.66474218494985338 -0.20414262469832958 0 +-0.70441448268440432 -0.24309229624967466 0 +-0.7298891429999731 -0.26654067149557031 0 +-0.80275694628206706 -0.33391243390582109 0 +-0.83001680822255997 -0.36020801909935113 0 +-0.84299551614886381 -0.37305747224455776 0 +-0.86808760019819753 -0.39862595176816029 0 +-0.87354582386800594 -0.40433002373519839 0 +-0.90181439137030839 -0.43482091726127658 0 +-0.92203869729346288 -0.45776647054050373 0 +-0.93076206634024894 -0.46800573894487918 0 +-0.96743433259467171 -0.5138442995462823 0 +-0.9685330496496356 -0.51529980228130401 0 +-0.98503575677515776 -0.53787514202270326 0 +-1.013506907199673 -0.58081190565096863 0 +-1.0288285515615152 -0.60693160755950448 0 +-1.0308640593979792 -0.61062232046039377 0 +-1.0587533054926055 -0.83735530807776082 0 +-1.0335699883294858 -0.86203850256605663 0 +-1.0262494934788895 -0.86667981300550545 0 +-1.0195997734359472 -0.87027235223586497 0 +-0.96180317207816157 -0.88579759506746203 0 +-0.92652376209294962 -0.88670687168786044 0 +-0.90896827482520237 -0.88555417314665064 0 +-0.77750726668982761 -0.85383324269753813 0 +-0.76823307899005688 -0.85039970670590315 0 +-0.73062141021763627 -0.8351786799112042 0 +-0.72782366083794581 -0.83396717823386757 0 +-0.72556902707573467 -0.83298317454804705 0 +-0.64203495784483566 -0.79202246288872624 0 +-0.5096610444048979 -0.71196891226812753 0 +-0.50472732088104999 -0.70869768489623397 0 +-0.49145356177937372 -0.69981793878376963 0 +-0.49094528742725047 -0.69947575599382006 0 +-0.4665752893749992 -0.68290676307709852 0 +-0.45925660356118275 -0.67787799968816398 0 +-0.37445504992958223 -0.61977294031806018 0 +-0.369445286453355 -0.61651680044574231 0 +-0.32341360960613991 -0.59043648684029426 0 +-0.29537097420142655 -0.5829296533803846 0 +-0.29402904801046931 -0.58293064780371784 0 +-0.28414682731381713 -0.58472284676421926 0 +-0.27964903776657213 -0.58693222131511136 0 +-0.2620999056813324 -0.61374647552038386 0 +-0.25358601919779189 -0.656226121157925 0 +-0.25046342441345076 -0.68608626361058078 0 +-0.24869365949918096 -0.70818858399512963 0 +-0.23066403702234817 -0.91894682755684576 0 +-0.22901250334852022 -0.93151537875475909 0 +-0.22719000369195483 -0.94458979857126624 0 +-0.22249762677377044 -0.97506947798690946 0 +-0.22110035237584336 -0.98339824013608346 0 +-0.21449202284499891 -1.0191305940803934 0 +-0.15646582369603165 -1.2067563957474003 0 +-0.1334790148058192 -1.2502983231299212 0 +-0.13094634223202606 -1.2544466071779694 0 +-0.13077734936984026 -1.2547192500232089 0 +-0.10645657786762515 -1.2889820623178536 0 +-0.083057139752353876 -1.3137469864482076 0 +-0.079016418248408229 -1.3173015040491489 0 +-0.062461181788973745 -1.3298130828503654 0 +-0.061498759216840351 -1.3304422127064151 0 +-0.01774661631022054 -1.3483990943640742 0 +0.001295240174855584 -1.3499914851241563 0 +0.031162419188234744 -1.3450479904801791 0 +0.063377417050696702 -1.3292043325564411 0 +0.074715021403000792 -1.320865250671674 0 +0.087686245728414089 -1.3094231180523352 0 +0.09387126906472025 -1.3032145362842407 0 +0.11381771455422098 -1.2796020270068755 0 +0.14104938992073493 -1.237177003737328 0 +0.14167829628233669 -1.2360363204814675 0 +0.14438264658732317 -1.2310389629490623 0 +0.14939378588670332 -1.2213690751415518 0 +0.16821901616616278 -1.1796667826419645 0 +0.19654339928043119 -1.0951923317703063 0 +0.2028514268688022 -1.0711784865232961 0 +0.20862709862707085 -1.0467972727148098 0 +0.21046355609243386 -1.0384813804351696 0 +0.22778482987045343 -0.94040798435128203 0 +0.22893279616113762 -0.93210389215004807 0 +0.23253915792700669 -0.90372465083583109 0 +0.23995382213288052 -0.82988185900446809 0 +0.24257898208401923 -0.79651650858939282 0 +0.2452102792910445 -0.75888775716400614 0 +0.24560819122738986 -0.75295843971603305 0 +0.24715408808864456 -0.72996431763689196 0 +0.24737673274305227 -0.72671224086553377 0 +0.24844079517758771 -0.7116305200190266 0 +0.24989603066012267 -0.6927671316268933 0 +0.25137192996710145 -0.67622097468604825 0 +0.25203669634130471 -0.66963938398861145 0 +0.25824838818564477 -0.62816756184342748 0 +0.2584155084535687 -0.62741384294122582 0 +0.26213938795633163 -0.61362576494776255 0 +0.26258076268058683 -0.61230733155014139 0 +0.2628106520289078 -0.61164253210669517 0 +0.26509846845370438 -0.60575659539443649 0 +0.26743856140362027 -0.60088704109753033 0 +0.27025098146271681 -0.59622872864335963 0 +0.27236071740595158 -0.59341562693470495 0 +0.27802879133839081 -0.58801917419493299 0 +0.27937204098572344 -0.58710595996723702 0 +0.27946093316178799 -0.58704967897879123 0 +0.27952679486751753 -0.58700830082608701 0 +0.27960526283308546 -0.5869593579365584 0 +0.28953624741852507 -0.58331565771839666 0 +0.29891567453104173 -0.58314358277623579 0 +0.30354582962960686 -0.58383296146814123 0 +0.3085940574414015 -0.58502199232014818 0 +0.31011592119387421 -0.58545705019460537 0 +0.31321709765928701 -0.58644023679183355 0 +0.3153838836632028 -0.5871977878703829 0 +0.32686469160282228 -0.59200628706023384 0 +0.32791196828019842 -0.59250093602231624 0 +0.32925796242328903 -0.59314837797774156 0 +0.33051846314402761 -0.59376616264724824 0 +0.33168121923963606 -0.59434547864265219 0 +0.33896411504515978 -0.59815992156331832 0 +0.34678503137893701 -0.60255790159732892 0 +0.34702476566166579 -0.60269691180679663 0 +0.35265659274772315 -0.60602497970484015 0 +0.35638425861591644 -0.60828764793470114 0 +0.36597255335357004 -0.61428891558053622 0 +0.3695386065404625 -0.61657701598396231 0 +0.37547232037071765 -0.62043963424686943 0 +0.38087420354878698 -0.62400749515791065 0 +0.39847689653823315 -0.63588295523701599 0 +0.40602519599348286 -0.64105592311116921 0 +0.41350088315237921 -0.64620841131295148 0 +0.41490462114061066 -0.64717831354430477 0 +0.46159109733486098 -0.67948423614403008 0 +0.46552085539642929 -0.68218352260483583 0 +0.49341714258420766 -0.70113842464587195 0 +0.52457057153121978 -0.72174979157152419 0 +0.54674304272205865 -0.73597959120510259 0 +0.57012911413266931 -0.75053941559904591 0 +0.57627401206208495 -0.75428363893470118 0 +0.60311770718230151 -0.77021859944943116 0 +0.61097910871432726 -0.77475048007921288 0 +0.61253524586884045 -0.77564008103221338 0 +0.7188808540635655 -0.83002426283962338 0 +0.73736642834214217 -0.83805557823191246 0 +0.73775370742391466 -0.83821886174384885 0 +0.7678411189589347 -0.85025170557523999 0 +0.77463403068658154 -0.85278361524541357 0 +0.78185492797628819 -0.85539705230997665 0 +0.79290432355002183 -0.85923630259325401 0 +0.79511165459264266 -0.85997957236724032 0 +0.8059555477034942 -0.86351320271772636 0 +0.80904296519181795 -0.8644827837303859 0 +0.81182349638804163 -0.86534186176945715 0 +0.85725371530083483 -0.87734644101887438 0 +0.91745864346490513 -0.88622931755815093 0 +0.93367596030717726 -0.8868948238893184 0 +0.9619503956686194 -0.8857832466354234 0 +0.96249901714483754 -0.88572890919720748 0 +0.96664440644613669 -0.88527325616313979 0 +0.97771107940830992 -0.88364222626245681 0 +1.007262813805565 -0.87566649127371488 0 +1.0180377740286786 -0.87104096225928729 0 +1.0245598538307608 -0.86764449180783398 0 +1.0438967786277695 -0.85393344036322805 0 +1.0594215111250542 -0.83640336766308698 0 +1.0640146025798807 -0.8291253613628139 0 +1.0651776017301262 -0.82703820100374681 0 +1.0773386766185462 -0.79052736419059777 0 +1.0782087148743982 -0.78435602909042901 0 +1.0792784213352904 -0.76607930171220262 0 +1.0776989009891926 -0.74128100574992317 0 +1.0772834903614807 -0.73813952869965382 0 +1.0641521529988125 -0.68474472444011103 0 +1.059719977769682 -0.67246089634854456 0 +1.0462591809647648 -0.64085729793641355 0 +1.038861639097135 -0.62575769780831292 0 +1.0256432240962088 -0.6012711175886345 0 +1.0147234393631153 -0.58279227092341102 0 +0.99391761519396882 -0.55065301922505749 0 +0.97908954056793907 -0.5295783937968469 0 +0.96389325260150405 -0.50919011468387931 0 +0.93534153084371385 -0.47347231494760511 0 +0.911328700717144 -0.44548515668787303 0 +0.90675334749345715 -0.44032918172843416 0 +0.87251562516400194 -0.40324922589650197 0 +0.83396449945249151 -0.36409174409030909 0 +0.83238695043313504 -0.36253724862833148 0 +0.83108792172967616 -0.36125971770806725 0 +0.76110241057285954 -0.29508596241587615 0 +0.75210593854818786 -0.28683850532513305 0 +0.7507004472868809 -0.2855525038053579 0 +0.74352519930830807 -0.2789943030571595 0 +0.69942308583230872 -0.23842609709152626 0 +0.6979824991184822 -0.23707229936855598 0 +0.66347635971718544 -0.202777114468706 0 +0.65416354165160506 -0.19221132322725129 0 +0.63537050799895844 -0.16261129049214579 0 +0.63307745007558214 -0.15173407755382307 0 +0.63790719458570655 -0.13518921017150481 0 +0.65695396824090413 -0.11879416279146901 0 +0.70094980943291774 -0.099490478182172701 0 +0.70503349106224356 -0.098053532731685142 0 +0.75432303229854958 -0.082256835495888816 0 +0.77180165588548433 -0.076978657588156973 0 +0.77763122427565901 -0.075229127433391718 0 +0.81494845931036453 -0.064007281440641689 0 +0.8305158462844302 -0.059258258614162999 0 +0.98139517154159284 -0.0074448557719092069 0 +-0.032322722793250103 -0.065635648636156049 0 +1.1675590499400543 0.23617617575047406 0 +0.29998513132046251 -0.49557357024496995 0 +0.33091996621448211 0.47282704493090194 0 +0.23205889407294167 -0.76568896178944346 0 +-0.72128492098590646 0.06191414522325344 0 +-0.36845771345222816 0.6998464035823474 0 +-0.62420348817255678 1.0155710277666261 0 +-0.57681238210852837 -0.31284842219789227 0 +-0.19300869992200087 0.034127150936973383 0 +-0.70010756681851993 -0.33630123326111416 0 +-0.0072978323985847908 -0.81655044869176852 0 +0.78604537526134821 -0.6179173608281211 0 +-0.12744989148860109 0.33499748531735107 0 +0.55774391375104293 0.9987125284341285 0 +-0.14023786022802417 0.053195416211717812 0 +-0.85608755391567448 -0.52073173153158325 0 +0.8194795764873567 -0.77034364388982313 0 +-0.064030200093482967 0.043126114257721636 0 +-0.40531143301431805 -0.58193694760099901 0 +-1.1649759864958258 0.13468941563382683 0 +-0.49241969343966269 0.49402048354406808 0 +-0.9642225596080457 0.4095616259159654 0 +0.55222945477892937 0.65457746189883159 0 +-1.0010476742245256 -0.67112939490479229 0 +0.85748845935435614 -0.68969306892183402 0 +-0.44321734294235898 0.91257515944341416 0 +0.18461389515934357 -0.89034378498718802 0 +-0.2519997777643726 0.20477033715090526 0 +0.20019583951464925 -0.87565237162952458 0 +-0.4697352064221032 -0.23134799125477595 0 +-0.3264310656409608 -0.2272789191282642 0 +-0.11203505221035361 0.71834082732906357 0 +-0.54455579011213451 -0.43841188180495622 0 +0.36504561280458009 -0.279311135566646 0 +-0.75549626910884027 -0.72152087786461261 0 +0.79035765619257348 0.16768347501046199 0 +-0.29424384542455279 0.79859854287257015 0 +0.55800071954022845 1.1563400431606954 0 +-0.602966507748943 -0.45159606821484721 0 +-0.96819075389630638 0.14369463404045993 0 +-0.55588452307915526 0.36400759421108597 0 +0.10132944901361575 -0.55979881104860596 0 +-0.48263565966211991 0.14142541484663684 0 +-0.49718215923258985 0.79899696942137222 0 +0.050874751440175676 0.26885121179288152 0 +0.60942832952435 0.82854905618252261 0 +0.56046400293617282 0.86016145742775041 0 +0.9164660537131889 0.055938919689337306 0 +0.74045721842915291 0.38257191985295919 0 +-1.2019521670578943 0.24487043118134297 0 +0.199251466228452 0.42054503303480834 0 +0.21286653989974325 0.8925959169487605 0 +0.83051256689961117 -0.39295230370150075 0 +0.21546312795154721 0.61235406312937624 0 +-0.78609400451249312 -0.57645481204891091 0 +0.64334878348528957 1.0783931572736127 0 +-0.080689870790473683 0.54856965344910669 0 +-1.0113214876928143 0.020801998568903635 0 +-0.1824447988357214 -0.19150807207922557 0 +-0.87347494504859036 0.34378692428233909 0 +0.48180246663771803 0.38170668190690044 0 +0.98727857339627845 0.19939415877571473 0 +-0.63805357784179884 0.37002599872474173 0 +0.39594587629780725 -0.36428539294425732 0 +-0.73578583355443805 -0.30106309420212685 0 +1.102404923205021 0.27876625472601413 0 +-0.57751080456652515 -0.67100049854259525 0 +0.94799479008264964 -0.77078827745626488 0 +0.91445400156088441 -0.015084772991118633 0 +-0.11447928816020804 0.099563456878047144 0 +-0.52331703735690926 -0.5632806815265794 0 +0.14975937849610785 0.68820923706729975 0 +-0.64566967672058695 -0.2999806805073254 0 +0.1940464287511347 -1.0026868457617248 0 +-0.63442327641511009 -0.054371635909482394 0 +-1.0706128585691506 0.050568704429966749 0 +-0.80219593358984043 -0.52987972792720606 0 +0.35394083100410001 0.99966562587462504 0 +-0.13037446363236799 -0.027663658985320125 0 +-0.4713803968727161 0.77992570526341232 0 +-0.74043389990040287 0.12789886415246937 0 +-0.407460014574138 0.27463867192249503 0 +0.48937894659841397 0.87989508486253853 0 +0.903757218832411 0.13181471489098773 0 +-0.87716975150306242 -0.59993685078633185 0 +0.25966068355034216 0.14692944962327936 0 +-0.14258833547846134 -0.5355646029411808 0 +0.031523157772115874 -0.55742859581979054 0 +-0.27551792174806716 -0.18000836236016926 0 +0.56031816752351427 0.67900319137111742 0 +-0.6888467678068082 0.11201174935080206 0 +-0.092130106310575055 -0.33892222275766526 0 +0.43719361226287778 0.08797471402729852 0 +0.033904092691821174 0.44929710429461334 0 +0.52115867511118419 -0.35385237635852262 0 +0.84808089414053855 -0.79576986608048994 0 +-0.60831071894049571 -0.43325275536305213 0 +1.0813427978005972 0.27071104637563237 0 +-0.33114309685544735 0.89122733296266454 0 +-0.60487820254713487 -0.28093608671524956 0 +-1.2956720501686125 0.26798201424728996 0 +0.20933380659987788 -0.72369432201779338 0 +-1.1448511636870986 0.3554799578202239 0 +-0.36599596530573508 0.12932087134583922 0 +-0.5525747815440909 -0.37353114317768449 0 +0.72689859892821529 0.015109195054805145 0 +0.76543818966177257 0.0034713308966748176 0 +-0.1843203730488378 0.20433209504099137 0 +0.45112011547615499 0.16207145442895085 0 +-0.23192498824617366 0.70975014879590093 0 +0.095157480516636361 -0.52933179286222865 0 +0.12932001746359847 0.3958476914409545 0 +0.99682285725667941 -0.81357167964533583 0 +1.0466415105955691 0.20644872544192028 0 +-0.37395559870112965 -0.46131361627097611 0 +0.12768936648575449 -0.43016753414750641 0 +0.80691533428859175 -0.39296925827731483 0 +0.59682401174069688 0.2711655431765771 0 +0.16885086734986857 -0.59389056337517143 0 +0.72179379217636797 -0.79578625394719449 0 +-0.459732352426313 0.55171092311258696 0 +0.15680224290257572 -0.076410242441536755 0 +-1.0411741793821927 -0.7044949547351248 0 +-0.58121091403791714 1.1349951722137122 0 +0.14695540265273455 -0.77388181251080757 0 +0.34018326275088745 0.48319434431257863 0 +0.460220902254875 0.18811806300251432 0 +-0.19871888717046227 0.86122970621604389 0 +-0.73324643078286089 -0.82146541812284768 0 +0.038311897080097433 -1.1013708636052124 0 +0.26261763120608833 0.43237110482828189 0 +-0.65516772708749016 -0.65734931257411211 0 +0.072243276619009311 -1.2823404308414208 0 +0.45693179683602142 0.56688184146597231 0 +0.49886412827529963 0.74922253210184231 0 +-0.048176058362116199 -0.65010426539176691 0 +-0.16590731000450798 0.55366651095306019 0 +0.83479001080296023 -0.51338174566847528 0 +0.25756259782819307 0.64278139221457564 0 +0.055961266889455484 -1.1159495599487814 0 +-0.99039439215824066 -0.85678480822025416 0 +0.31193810139163147 0.078609615415831724 0 +0.34115549104694487 0.30226579350774846 0 +-0.35528727578950475 0.29737991076524967 0 +0.37345716141331281 0.2763963939862657 0 +0.07286591002441431 -1.2513329507449333 0 +-0.82901204000368933 -0.76914951085141892 0 +0.60182893227587608 0.29279230943537754 0 +-0.81970216180212363 -0.6714035052708982 0 +-0.9473406173736405 0.39186447784088174 0 +-0.9379415719002473 0.11832607955374978 0 +1.0368263317516573 -0.68026848530139983 0 +-0.28173793780055478 0.19310982437673022 0 +0.42193343067589834 0.62516591744169747 0 +-0.49068833742724871 -0.36221364999611882 0 +1.1449861057617787 0.1810570756894514 0 +0.21958258898101651 0.22744912427648853 0 +0.081549414527607667 0.30216529059133479 0 +-0.92377058766995779 0.35875887174160065 0 +-0.33706793420237408 -0.56514144012292622 0 +0.58009383298437278 -0.7485796756655464 0 +0.99532804528195673 -0.76150806713201213 0 +-0.2031669565208214 0.097974870509541345 0 +-0.19899556887074915 0.71977388133822195 0 +0.06371861163507031 -1.1768722279241028 0 +0.087127492754613678 -0.30018517173273396 0 +-0.30071950259392694 -0.49463944884245453 0 +-0.36464308042488214 -0.23043397092471654 0 +-0.45986668976099015 -0.5832786425665446 0 +0.33447986978188665 0.2684695899337477 0 +0.32194839992268826 0.30374358160522819 0 +-0.16371991991799745 0.10762956466914599 0 +-0.097543168894942134 -0.0065824294496013456 0 +-0.19660858489067565 0.87426865243642471 0 +0.46903313051764001 0.87530078055197202 0 +-1.0296847872439776 0.10422430624543474 0 +0.38781936994811828 0.0558222760610032 0 +0.50348168977836694 0.4784264493175357 0 +0.39733088048805459 0.53507573431238142 0 +-0.25784863841384231 0.17921541290651777 0 +-0.36008909924532251 -0.31976496313548397 0 +-0.54278123262294986 -0.21426598520275458 0 +-0.67208485732936163 0.29715886857460955 0 +-0.082358300164164427 0.033445167241283699 0 +-0.80083707761275491 -0.39542669463323976 0 +-0.60933836242256856 0.32402142757179653 0 +-0.21748048369674436 0.25651883077918669 0 +0.1026525555676351 0.46478462660724013 0 +0.13006980542897212 0.3193311474801579 0 +0.13281136866769094 -0.24837737744317379 0 +-0.71118917294401296 0.10193863458076148 0 +0.80196970759975028 -0.80300095990215337 0 +0.19657833625757293 -1.0504367533283057 0 +0.032211628606627359 0.55281141865648942 0 +-0.11127880403535437 -1.0321703798135469 0 +0.041544575927663002 -1.2065473330994976 0 +0.92641083592201978 0.39357200805903131 0 +0.94309223968337763 0.045658128513907575 0 +-0.5130585992625678 0.75852995593728434 0 +-0.79931216729845167 0.038711197919295288 0 +0.017252817218564108 -1.1087705288922467 0 +-0.53143912086389355 0.97639706170832052 0 +-0.46262565435528891 0.91553991109095623 0 +0.58753324474829105 0.026821459161782756 0 +-0.92305525150516254 0.28242822969974885 0 +0.348625002559523 0.51955254591956923 0 +0.62735751178413957 -0.28699948068989956 0 +-1.0138853042943774 -0.77694385841215574 0 +0.54478698383315494 -0.12973460852339408 0 +-0.43129317016766322 1.029414067490581 0 +-0.52987924946045273 0.2890310597586836 0 +0.50375151092201209 0.22686947144667291 0 +1.2453054836494208 0.33076668714282104 0 +-0.59474725493745162 0.32880170811788512 0 +0.9406304703238948 -0.61009052734447489 0 +-0.12970853187504558 -0.61017501267380181 0 +-0.58996901005932678 0.20963036714343172 0 +0.26703593748861598 0.96926193526999749 0 +0.48629806818415333 0.50035565930551951 0 +-0.25543211679935479 -0.32908495617988276 0 +-0.45049080196028329 0.23573629671055027 0 +0.30441475583405975 -0.32106806881793298 0 +0.71448153440503215 0.043053896835937917 0 +-0.48973727283480467 0.62938098584574909 0 +0.1511545090324842 -0.13542599981240355 0 +-0.49855626412736243 1.0656354970208901 0 +0.9736825561739636 0.27846238354988895 0 +0.45257106622086923 -0.34896503944862867 0 +0.12233311301222692 -0.8438443029417344 0 +-0.56688491936716701 0.257410562614593 0 +-0.63551675594660906 -0.076312208208410046 0 +-0.24500552602677414 0.77639960222531756 0 +0.39293424635405488 0.34638279150261253 0 +-0.42114942267394095 0.68224162071113925 0 +0.7105279912164546 -0.066186588150095454 0 +-0.6147174085405408 -0.50370473736622157 0 +0.40820145745580133 0.78071394727195287 0 +0.50516262969933556 0.34159361856398252 0 +0.58391943501355648 -0.55236383681843226 0 +-0.77059895389265798 -0.70394509054919763 0 +-0.72974844373013281 0.019416204503167788 0 +0.47602375879490161 -0.441300466621526 0 +-0.56053144633659602 1.0999496652513194 0 +-1.2145359602771275 0.1796514163152898 0 +-0.14440589235137397 -0.93615330666767393 0 +-0.51968798299849484 -0.1815445200185814 0 +-0.42361689027928573 -0.12428852814502393 0 +0.54802621461367185 1.097448348359698 0 +0.091441537963023345 -0.93521487368982881 0 +0.3142288004613249 -0.13324861495991577 0 +0.92288450772162667 -0.71971004380856096 0 +-0.32742467183379514 -0.43091963935802235 0 +0.91523229248127524 -0.69891860190227173 0 +0.59239735405682914 1.1258402816068347 0 +0.22424001741022973 -0.36745874030229914 0 +0.51044402800061572 -0.29266077464980733 0 +0.20005858135920596 0.45189224655753973 0 +0.022005021561730762 0.26070550208620935 0 +0.83234918214331144 0.15254386286543567 0 +0.58861118815572011 1.1612331281169703 0 +0.50940494813531534 0.0097660498109621401 0 +0.8131296087440143 -0.3962752592226616 0 +-0.18031918012892739 -0.40288925295265654 0 +0.018004759293794234 0.020991381133022943 0 +-0.34009136727522243 -0.48247370909877513 0 +0.65115221352375574 -0.053149349288083542 0 +0.27306316389630586 0.94816875306050707 0 +-0.063727120236509907 -0.11142829072130861 0 +0.078176457117385342 -0.91093961369859122 0 +0.073121269144276496 0.71165107495388336 0 +-1.2776482089727521 0.22408502767805691 0 +0.40751583791827528 0.60721175879545775 0 +0.32554536142589457 0.17501029501452331 0 +0.30100625581894336 0.33505086118658478 0 +-0.092350269870484503 0.3182400396488676 0 +-0.86099506565879036 -0.6121307130997502 0 +0.11834469188733378 -0.63453484357610535 0 +-0.61776131780034982 -0.055667425122140152 0 +-0.8885944122901811 -0.74114093125135405 0 +1.0832192344427445 0.37966067282471627 0 +-0.049535678769679056 0.46831061463112034 0 +0.040958809383419045 -0.80322276868782694 0 +-0.76748271033129767 -0.44047872071094435 0 +-0.34452840127605477 0.73063737418352392 0 +0.011689139443740658 -0.35230589835333581 0 +-0.4275006090756705 0.10827946829947507 0 +0.068945771635449959 -0.53361641010793504 0 +-0.48202203859177217 0.45312516067725928 0 +0.840680143135073 -0.038584693524772361 0 +-1.2692047945989735 0.29956311691112814 0 +0.33980025169179195 -0.47964001148729501 0 +1.0266189299414348 -0.64477294943639074 0 +-0.70459406123685753 -0.39217390479087966 0 +-0.88446904985856656 -0.52548723601089553 0 +-0.12812974486139991 0.042192815777588683 0 +0.047062050449960098 -0.34928047572114262 0 +0.23618013964904891 -0.15096234612143875 0 +0.27706638910601422 0.64741725308265996 0 +0.14969400276636347 -0.18576670939951428 0 +-0.60903136821281179 0.78902471175192901 0 +-0.30697233846335076 -0.41353456134335492 0 +0.0029039660518213051 0.041354856837027131 0 +0.56864333336035577 0.7832131379019931 0 +0.51628990613529147 -0.58215620879307639 0 +-0.17296028445951131 -0.22238559769693395 0 +-0.54046751729742848 0.17913930772679318 0 +0.042911770346911779 0.11056853657865337 0 +-0.26217321288583761 -0.10152991911119495 0 +0.89328299787734444 -0.71847711875570663 0 +0.091391126216857091 0.21915102399321634 0 +-0.51124754267279637 -0.27903315765698644 0 +0.5316559672954595 1.2079882276760221 0 +0.02852718491765209 0.49549332168885596 0 +0.25827883595450118 -0.56268313208781018 0 +-0.74003984768024034 -0.70185799300951957 0 +0.69218924389994418 0.045511726374476952 0 +0.76477934688314309 -0.59855396315856213 0 +-0.80374797004642917 0.21832713443192775 0 +0.62959505525346482 -0.30853834557073984 0 +-1.1617081114079246 0.35762178612574974 0 +-0.11183425531259265 -0.10427607265237175 0 +-0.42095318775764096 -0.041353626972426172 0 +-0.61004823236024763 -0.11175934483177676 0 +0.21567265381298897 -0.84351447096261389 0 +0.3682776124310293 0.52658619570235654 0 +0.15924666707543919 0.41285353589319129 0 +-0.31537950383477092 0.61103359525375955 0 +-0.071634894237823987 -1.2420183690968238 0 +-0.47929829766564624 0.88221220871294215 0 +0.404454390823898 0.56808824506892686 0 +-0.19143228359829706 0.037934268842983343 0 +0.039093752164167703 -0.57476275748451289 0 +-0.90876916866003077 0.16158928178876286 0 +-0.7957187642510265 0.1950670614260136 0 +-0.26522188246489836 -0.13357794135645507 0 +-0.14601622942331982 0.31338908005227212 0 +-0.66648839420604256 -0.49852275917900746 0 +0.11528600449006871 -0.45308556107630005 0 +0.89204927575934589 0.17860522545946331 0 +0.0016806734979417648 -0.21053254877167199 0 +-0.41814789738599861 -0.15311897247509532 0 +-0.32494859227359757 0.24412297372080538 0 +0.18262394204779908 -0.86586406840431684 0 +0.20963563217604 0.8680083969811172 0 +-1.0384338149993246 0.073476407154616064 0 +0.80794033309307089 -0.64332233938931216 0 +-0.85363133098047872 -0.86426210843856621 0 +-0.99244512009702834 0.28586544990129825 0 +-0.10086133746736942 -1.1980932080781208 0 +0.20529843655592894 -0.39092251796888022 0 +0.74289819065115081 -0.7325483050303504 0 +0.57088611206953344 -0.099287967556315498 0 +-0.73267151178015932 0.16328389802062854 0 +0.58329881582863297 1.0323227955270808 0 +-0.64238982025190783 -0.35569036709490004 0 +0.50326641397692906 0.2343985820985435 0 +0.013691480831201551 -0.85551885494577762 0 +1.0056251944701546 0.34011155426746587 0 +-0.24071912236295578 0.64825465717157271 0 +0.66618664591421184 -0.61394656169624284 0 +0.019749462899255343 -1.1541226480118654 0 +-0.22971951744145758 -0.78820678504288733 0 +0.80879850705118761 0.07268969059497711 0 +-0.152431417956398 -0.25714407540185685 0 +0.17813474576646005 -0.63558373976409577 0 +0.37588240902290426 -0.2495927533662419 0 +-0.012170611041577838 0.055034071210028165 0 +0.93262936433348476 -0.52904674164802434 0 +-0.48991382067294964 0.66626755768769974 0 +-0.25156628157865807 -0.29709963911029441 0 +-0.55339097764393785 -0.68930614795679523 0 +-0.53495963934420054 0.803427565800647 0 +-0.28671354964466278 0.7029923254828887 0 +0.19256128599227063 0.21934165847115289 0 +-0.60239131646565691 0.16105417369663275 0 +0.065953732052600064 0.068580794615077545 0 +-0.43681995490152459 -0.17908088200951408 0 +0.37730445453252742 0.74968778230616362 0 +-0.48267832027649954 -0.064139959555779266 0 +0.20362262206780207 -0.92117989463138061 0 +0.3441465661934055 -0.3852820309353866 0 +-0.50166044876152027 -0.25434951707825437 0 +-0.99581699333089568 -0.83068924445388836 0 +0.015035062349426552 -0.65198838497884104 0 +0.0093591134128748078 0.28264445234002061 0 +-0.011653392944916251 -0.14692251264948464 0 +-1.0156739532481738 -0.65848615971694557 0 +-0.42126191311289019 0.8041531528939333 0 +0.95250796006146354 -0.70883634202329782 0 +-0.49512547797392781 -0.60715265927729289 0 +-0.46500223963570148 -0.45028453045889799 0 +-0.075257796298209764 0.25741146014584559 0 +0.54406219521588062 1.2008805946036611 0 +0.13497443086978425 -1.1554412725020449 0 +-0.82897409539051858 -0.78366616154247226 0 +0.96161282102912271 0.15876396439911769 0 +-0.80937284846384239 -0.63944109598889809 0 +1.1519653886809558 0.29073117747179023 0 +-0.33387118384849046 0.36176754716762866 0 +0.016145347528495658 0.34725093733385065 0 +-0.73716061687132473 -0.050285248959877467 0 +-0.6675560402743328 -0.48338323756093249 0 +-0.5497879335570196 -0.61255816292609677 0 +-0.074849054298398554 -0.72532625079020185 0 +-0.49311250961756237 0.30932573041616346 0 +0.11686764253960578 -1.0542772624828154 0 +0.08955708769843293 0.50094422004104255 0 +0.35833317618336347 0.27816274705867122 0 +-0.12506969546276428 -0.62276269113405647 0 +-0.29772760079580263 -0.25772126820370345 0 +0.49425963471448908 0.16639234168028116 0 +0.057071113517768342 -0.71570916950945596 0 +-0.73115199295996902 -0.47820168934877322 0 +0.19403434622449556 -0.23920781369178776 0 +-0.28504004236389252 -0.37690730065164813 0 +-0.79228025668257496 0.078885264935679975 0 +-0.17582120530659309 0.71341774211358933 0 +-0.5571797552964437 0.33754892016587068 0 +0.7726157241970204 -0.58052415356559273 0 +0.052882354676830307 -0.6968349046181006 0 +-1.2243328382968885 0.35517176722354737 0 +-0.015736840120379989 0.4227466256608341 0 +-0.097372707939495567 -0.026844476668831163 0 +-0.86329013590390624 -0.5457949872542236 0 +0.088986777108088638 0.38717813664620609 0 +0.5210617323952621 0.85523750788005637 0 +0.61089615134037178 0.10605778445945865 0 +0.5794076032408132 0.27768134188333066 0 +0.16713337058283168 -0.88006366206037745 0 +-0.29273277378895679 -0.21870876795561622 0 +-0.080937795571895371 -0.42079945701169175 0 +0.03139618825704784 0.35342479561541856 0 +0.91501338535914245 -0.69426184040465488 0 +0.91690208844036702 0.22565406414343314 0 +0.55752788841155021 -0.57024106136715147 0 +0.32743527326321842 0.7795695412447039 0 +0.28667931877244374 -0.048451781210265027 0 +-0.3670859812805205 -0.12236767392269034 0 +0.59715607277463634 -0.34073644551856541 0 +-0.026502537350123045 -0.97442130629180901 0 +-0.453352932153816 0.057451462056865528 0 +-0.43156696414555024 1.0901495117167816 0 +0.12407908909171404 -0.78054379391638651 0 +1.0529191394107047 0.14859931496103876 0 +-0.63710887126099969 0.20043856496832707 0 +0.50092891378521132 0.68318595142227134 0 +0.6064227866286851 0.92842600792205598 0 +0.15989536543552665 -0.017569500194707953 0 +-0.30208333184460529 -0.066321381074196495 0 +0.18184397452499301 0.74174765779378704 0 +0.98915073961028011 -0.59068270106317899 0 +-0.66174928024513535 -0.51515674996511485 0 +-0.44287661643405823 0.93362626981202923 0 +0.15257272815588915 -0.42241236580063468 0 +0.80806375026905386 0.085875991995471912 0 +-0.49394739754486544 -0.066585799450110492 0 +-0.37653783153669207 -0.58800568935331909 0 +-0.65692872237073985 -0.368395337190909 0 +0.091415633476825728 0.5447888822450897 0 +0.044008185439334734 -1.202134785850508 0 +0.25292258679836432 0.59613933149685616 0 +-0.12348384123046467 -0.67459005201357836 0 +-0.74370972360884224 -0.032586074405111631 0 +-0.0041486395148408566 -0.91662112253095851 0 +-0.12770139569148736 -0.16500250577733455 0 +0.98277144139186923 0.3365688269565017 0 +0.29424705794695094 0.50864918199577136 0 +0.42458330233079788 -0.045028006404357689 0 +0.25949107911436275 0.45664620405247447 0 +-0.06709828774789596 -0.47287750724210204 0 +-0.046102188588103173 -0.2984534783108217 0 +0.37823063159130865 0.28456454400537012 0 +-0.93316247581357203 0.36983468377111794 0 +0.71099513111564272 0.30905798195863698 0 +0.52997277993981129 1.075648200543543 0 +0.07709467483666689 -0.12493665153612929 0 +0.59574675577936453 0.91854773059503281 0 +-0.68235297346259804 0.3186526171269512 0 +0.2963003707683472 0.61439222703395657 0 +-0.69869844761829158 0.18435358709351013 0 +-0.49883585738374742 -0.59604878438924747 0 +0.6673686142313785 -0.095975741264701042 0 +-0.65360319862296123 0.20401630965941941 0 +0.42496657624671741 -0.0011765414179581322 0 +-0.74802697356452486 -0.4266625512454178 0 +-0.45520615888873567 0.67653151850265669 0 +0.14228839008857727 -0.43016783616120496 0 +0.27420082699644044 0.28422668023966347 0 +-0.22704795076562825 0.95798556217139152 0 +0.55754968927387027 0.090363130867634603 0 +-0.67433564468984153 -0.51394807116577057 0 +-0.22474421829036814 -0.43446900028910274 0 +0.95042291178797123 0.35071373129037564 0 +0.79055342708218646 -0.48391846879161249 0 +0.37772832534084255 -0.11691280580041717 0 +-0.58071842942125884 0.715186803091303 0 +-0.095686947692748603 -0.71498563807103666 0 +-0.3021162965405258 0.8286821588737161 0 +0.63669423778629131 0.31546582617963959 0 +-0.16948608723677616 -0.96399402826966463 0 +0.52723471642346287 -0.64998059088257487 0 +1.1257642764880635 0.33461492058007436 0 +-0.12532892090957345 0.71318066541782876 0 +-0.56090668327103965 1.1030947610094266 0 +-0.84026457425383416 -0.045587894194673816 0 +0.10776847380773358 0.72270859717798963 0 +-0.30685059445077023 -0.15309771768448235 0 +0.13209606685663358 -0.80192755281984152 0 +-0.46814234171482494 0.90118096805030401 0 +0.73277183160436232 0.10533880597885571 0 +0.5392550686333355 -0.37411953115136631 0 +0.0040660607537344349 -1.2437934753234638 0 +1.0089011419249776 -0.71675855586731108 0 +0.37451887552027235 0.016514502690252095 0 +0.54824925773807542 0.88601046056246369 0 +0.34244111718483083 0.42897115810011383 0 +-0.15528651601085952 0.79851002815812144 0 +-1.055975671686691 0.33623433943784398 0 +-0.33464903397439322 1.0010956789014616 0 +-0.4354755645979384 0.069919058651127963 0 +0.42340564571071215 -0.52431909559790524 0 +0.28785687105240526 -0.26247102133754924 0 +0.50804670221261228 0.71753352421421357 0 +0.31407718350863834 -0.4856437263288344 0 +0.27919696385161102 0.48843368554937694 0 +-0.22054282403272987 0.72343117535381019 0 +0.64852646380370482 -0.031187104988494283 0 +-0.4067965176898734 0.19595157598969071 0 +0.47745685190683079 0.59018670059055456 0 +0.75362910923272097 0.20236515345901174 0 +0.0340284454255316 0.31278234686918743 0 +0.56708411677891246 0.96757468229046006 0 +0.83069777171452053 -0.753922196607547 0 +-0.41201463617134909 1.0352259585152714 0 +0.1882263064701466 -0.49747424878186658 0 +-0.183297574076217 -0.85688172023237774 0 +0.20588679518552969 0.18668682601806327 0 +-0.85445048666175283 0.30340015992264352 0 +0.39239856062176132 0.29033539666750008 0 +0.87940892067225052 -0.62159821855010056 0 +0.095134940284051783 -0.5669294378655384 0 +-0.46594081900605872 0.2043511533743099 0 +-1.0335483629055116 -0.71848226961742168 0 +-0.050806354994981894 0.14602388203969618 0 +0.71168058981708326 -0.063010845299642154 0 +-0.61548495420016436 0.89043762509085689 0 +0.34332189052136841 0.5521412406489965 0 +0.59982517266035129 0.21516196093287032 0 +0.17849210505029325 0.62063635299513886 0 +0.1829016627839648 0.84372305493589494 0 +-0.3881967120548746 0.70356770277669534 0 +-0.51590067158383535 -0.45875130637039357 0 +-0.44761835113930315 0.22361101884236184 0 +-0.29546368593305927 -0.38039412999710387 0 +0.82241220959152872 -0.57995204257342015 0 +0.78620132388497821 0.27252194061196167 0 +-0.42157903010976283 0.86778936242110216 0 +0.62072103590874239 1.0634824656073876 0 +1.1239015715413598 0.23795142498454827 0 +1.0993783813649234 0.27287872820385539 0 +0.3606547346376715 0.63771842073465723 0 +-0.71058482208736518 0.14356060498149781 0 +0.47584875416979544 -0.26995520355013269 0 +-0.23104133281018824 0.0090420944983950584 0 +0.21999770269250302 -0.096037633827789112 0 +0.44082348216029554 0.58289877828262537 0 +0.52721432641027755 0.83061019211863885 0 +-0.86678480674861413 0.23908759239997648 0 +0.043017759656461506 -0.98074476594790239 0 +0.45691817008074315 0.77940108408998743 0 +0.048523250157998361 0.44967266989847227 0 +0.095483220218989598 -0.11565726045229376 0 +0.94035530483518526 -0.87271462689113877 0 +0.41236377456831985 -0.26242028310333698 0 +0.61520869796396627 -0.65220401840443853 0 +-0.83762900408872309 -0.39911978157823191 0 +0.60085076173991281 1.1634121353560329 0 +-0.49695671101379202 0.4487775843495706 0 +-0.90771796617635603 -0.75398396169634052 0 +-0.68270600917786251 -0.3957124268179249 0 +-0.75469704497238388 -0.043066361512897749 0 +-1.0953643696685114 0.097777703258410481 0 +0.41780105828625569 -0.17965900242037727 0 +0.16950732458229906 0.60559044564591558 0 +0.62618439828309058 -0.44556675887202074 0 +0.68658521992586474 0.075225431558064396 0 +0.84978007317270043 -0.58036888702994582 0 +0.48923520451930685 1.175653094666339 0 +-0.0085038162450262068 -0.46560127920469058 0 +-0.13385631517717367 0.42768573254943881 0 +-0.68680248581452918 -0.0058929746994164749 0 +-0.099498507557195248 -0.015518773311745315 0 +0.23572079761095674 -0.059788685257731927 0 +1.0217756778677343 0.096423434277682851 0 +-0.20585221757297475 -0.8847578271150931 0 +0.34696458711665357 0.49658142520357129 0 +-0.86098203592126743 -0.51926136597538819 0 +-0.90895770288849054 0.24947075727527984 0 +0.20351326287211519 -0.3544077004234143 0 +0.43968617583590913 -0.19716686033412126 0 +-0.15601936083324663 -0.29630572027035229 0 +-0.7640614514152515 0.33724454586598807 0 +-0.8725041709173762 -0.75989846396933092 0 +0.073972353009409575 0.0061667765431946183 0 +-0.13511666446033968 -0.8432408994044498 0 +-0.39240158539815923 0.52502406183514116 0 +-0.21996898290141895 -0.36544194625417348 0 +-0.46729604641577999 1.1268189591407818 0 +-0.6927247772064038 0.36835391745613794 0 +0.052710213967169572 -0.39194940643511056 0 +-0.18007403453010495 0.44585317768478155 0 +-0.49054132332274925 1.0169501917493253 0 +0.65900564412670115 -0.54183126779656465 0 +-0.79365644165274019 -0.38723808316956876 0 +0.079439787765496289 -0.36768244745709922 0 +0.72729685940894606 0.40323587792982873 0 +0.41347256030795165 0.44968308779253702 0 +-0.72054701481064565 -0.48602809229393912 0 +0.68360099920086148 -0.79979290790450019 0 +-1.1827109435111824 0.22587602040007798 0 +-0.15616265680868863 0.067617873920774493 0 +0.90066711090749096 0.14197676551677707 0 +-0.23725784452418272 0.60276138550418767 0 +0.8193997153828384 -0.6877976798617591 0 +-0.46807375070138429 -0.23438382836535915 0 +0.015167657205962869 -0.91724093418036701 0 +0.74487573815284269 -0.72086730913069708 0 +0.18099410278553649 -0.47704818958536926 0 +-0.36801234465545662 0.75270335887754125 0 +-0.065813537323486215 0.094892701826882975 0 +-0.35624864203948292 0.92487958091289779 0 +0.71055184070805277 -0.32565429783760935 0 +0.40897861817855685 0.88366861537601726 0 +-0.37622311453196211 0.77432851922286472 0 +-0.80012628371617622 -0.052966955392340462 0 +0.55638998508885107 -0.69201636214402296 0 +-0.59050667338886198 -0.016312408068923378 0 +-0.56515412337005499 0.85015012209074736 0 +-0.25743342475758602 0.99943072851961534 0 +-0.9174214985840905 -0.008507807361254293 0 +0.62232129581664353 -0.69140589619086912 0 +0.25670890277819075 -0.15279797804592182 0 +0.18596311801970863 -1.0214939732560062 0 +-0.0088290131441616012 -0.27099577993951618 0 +0.13007618412187938 0.36937868054728196 0 +-0.031651785587719014 -0.15075095979713016 0 +-0.38670612548985406 0.80054776576169528 0 +-0.97751115306809278 0.092414714375550308 0 +0.27472315994872992 0.57923436323680166 0 +0.12112434190840114 -0.60660105593456004 0 +-0.95465732454233798 0.17583121941954521 0 +-0.17682954220471564 -0.64296105371570067 0 +0.15415120011007341 -1.186436962463604 0 +-0.029230955603742181 -0.71903307303251374 0 +0.1985459720036418 0.061745492486690694 0 +-0.098006026551629238 -0.37875683245258357 0 +0.077788241308496833 -1.1199332218079547 0 +0.75695763928523108 -0.064111256117477117 0 +-0.52435325978504277 0.25891095839796385 0 +-0.15159418132906269 0.41527566983076314 0 +-0.94396525371203843 -0.64295286894818582 0 +-0.48641798750890847 -0.012038686242799024 0 +0.71490063082537358 0.361486784361083 0 +-0.95089153522937397 -0.65961656659859003 0 +-0.065756938448030447 -0.53382388471068831 0 +-0.29050774603533269 -0.071262632464253572 0 +0.79450980177385755 0.12262749291289955 0 +0.94563850623285128 0.30242366297364837 0 +0.49761191843860403 -0.59403107804909527 0 +-1.2147932184284003 0.21834616285385833 0 +0.66092079857423569 0.24487278324031733 0 +-0.75699285165298535 -0.4045795854775821 0 +0.19445109756909379 0.11049154942586291 0 +-0.83097471491248331 -0.56729969477459319 0 +-0.035113977812502958 -0.95376151442587509 0 +-0.75224100131096683 -0.3673996283773196 0 +0.41292736523379037 0.53612397005260659 0 +-0.43699560137646504 0.63565780564095464 0 +0.17536754453237202 0.88215641581123572 0 +-0.24102420624231968 -0.65690430155460899 0 +0.94353360841951128 0.055300502402232471 0 +-0.9097283398842656 -0.47593663223044685 0 +0.05477972682688232 0.6624280306121515 0 +-0.94053719631349664 0.024989846092384482 0 +0.79504105941041692 -0.75801187777210521 0 +0.23142053357140488 0.85096716726107302 0 +-0.82433138342289491 -0.6884347031333734 0 +0.64675667546479421 0.31776609906010467 0 +-0.38953377091582569 1.1282128824777728 0 +-0.71551275438476492 0.034403746474988624 0 +-0.22197158421816579 0.61160461554190593 0 +0.58052658924087619 -0.1366303311112621 0 +-0.54812874468270767 1.080411601667191 0 +0.81454967630036201 0.41807647417900928 0 +-0.087356861570183894 -0.64549934661757991 0 +-0.56628040787313338 0.050481106216534982 0 +0.013113591102852817 -0.13301448387258488 0 +0.82745980403332875 -0.70163600721851316 0 +-0.38090138278318969 1.1227816208947665 0 +-0.71940706492536555 0.16700920938069744 0 +-0.60836156719844436 -0.24259189552675095 0 +-0.91707493321138633 -0.71175532712733436 0 +-0.44716357192566342 1.0352601487094 0 +-0.60884186107176741 0.8125074267233745 0 +0.91527011987730911 0.23303910793811536 0 +0.55349981647284618 -0.06859420172351513 0 +0.66479343459093221 -0.72124664869662591 0 +-0.44139963345911742 0.52303426605727754 0 +-0.25520268597806572 0.46033957891337041 0 +0.54254467853909416 -0.61972306713225989 0 +-0.21068198104729693 0.037175458405637046 0 +-0.94567556069185832 0.35478556379124981 0 +0.40361147910262135 -0.5643535472357144 0 +-0.39626747705808429 0.47882950991056644 0 +-0.10097752637005919 -0.14142254090925438 0 +-0.55036101998308151 0.87685981294076742 0 +-0.16442074562958225 -1.0983134001945956 0 +-0.30363894285112203 -0.00088643197567224159 0 +0.95289105858450873 0.18952409103936141 0 +0.32859428321979922 -0.3984429246794795 0 +-1.2049442313357499 0.37820078426960202 0 +0.82637496153729728 0.0064260621411020395 0 +0.52854281580656459 -0.14696803253362928 0 +0.46361731054802796 0.89790961894774346 0 +0.6391741334826353 -0.24262511984250879 0 +0.61654857879389635 0.85949029380974029 0 +0.51528580841436133 0.1515693955740306 0 +-0.78969620815948405 -0.82346104694918054 0 +-1.1944490417685794 0.15125556326750947 0 +-0.85615838635531261 -0.6464538029989223 0 +-0.35646215048482477 0.27024709318153062 0 +-0.52964874076681712 -0.59182578334618596 0 +-0.4011586757243657 -0.22317099628161208 0 +-0.29026811417073867 0.97056784778475358 0 +-0.061017643152898503 0.27111451971011352 0 +-0.2020066938408063 -0.89673451476966148 0 +0.21208599413588289 0.20018571466250057 0 +0.7143282530897499 -0.050535575924965756 0 +-0.31914374622371694 0.59798601641462334 0 +-0.12096882212067865 0.62373606266513448 0 +-0.073805853435348776 -0.13238322146581333 0 +-0.6480632729017578 0.18890595192004844 0 +-0.30640999180540074 1.0278881215581706 0 +-0.17452005777113339 -0.37516308244646274 0 +0.0068406419664910787 -0.93713062081648857 0 +-0.29161666022703492 0.83239691888038847 0 +-0.43328560843820685 -0.031308468949106771 0 +-0.63508582831718341 0.060017203207204911 0 +0.031499683304848113 -0.53789456459470975 0 +0.66443867334950324 -0.73947033222908443 0 +-0.19096929308276159 0.75680608717234654 0 +-0.53024333189121287 -0.21997985104608658 0 +0.078637444786535352 0.71907328571018836 0 +-0.14812138191285529 0.78420420922004697 0 +-0.11147271630252965 -1.0896741285837956 0 +0.12279003143552648 0.65284770940601189 0 +0.36455664094455881 0.17037308535223386 0 +0.40652479198733715 -0.14929156782292646 0 +-0.35556364632120024 -0.21577539138418478 0 +0.1692175715481174 -0.31879599150598453 0 +-0.1562365546499539 -0.74044679682804349 0 +-0.0097233517298485062 -0.83711306030659183 0 +0.87105013377889307 0.15155609232220613 0 +-0.49961196069773828 0.97887391169785021 0 +-0.69837928346989764 0.22103624574311589 0 +0.034758450653212099 0.46546464360511836 0 +0.54784598961954123 0.34309115428822679 0 +0.24174263037141233 -0.39457569550167876 0 +0.21764739695989518 0.31828506715833821 0 +-0.072333297496661994 -0.0084204983365945719 0 +-0.086720872613184952 -0.815251458462527 0 +0.31494007314019273 1.0737789298674196 0 +-0.50433101408919312 0.032329598149493412 0 +0.84262099535655166 -0.79954180472641534 0 +-0.010722442989670044 -0.75266720103349738 0 +0.43641558594127727 0.015147050604777943 0 +-0.023258134828945121 -0.049684338850526227 0 +0.035146465393168166 -1.2160191379176648 0 +-0.7695371115073989 -0.73897137559409454 0 +-0.27609654180767185 -0.31770085004106291 0 +0.5534587343666908 -0.36334719492817324 0 +0.17823320465511616 -0.059005281876934788 0 +-0.36524994997199667 0.99306554120266821 0 +-0.35983366681821566 -0.26999513176855844 0 +-0.39045199364031458 0.52666510260067301 0 +0.18709560093891511 -0.56793490905644506 0 +0.84309535156362192 0.34216888943413892 0 +0.30523587324360585 0.53356999828523521 0 +0.15191420647794196 0.78205913507521818 0 +-0.54249636504605159 0.57972255129544148 0 +0.7995328231917237 -0.59537852523097223 0 +-0.69966982634637009 0.036760232513940533 0 +0.13696873990808681 0.65130969749474998 0 +-0.21711385009020312 -0.20225620806006622 0 +-0.17486003356424831 -0.38238199726943972 0 +-0.83668100090788744 0.33883950696631632 0 +-0.24057637241930582 -0.17269106345938393 0 +-0.091555995352152975 0.51312741576104404 0 +0.3569411661894939 -0.38573633889758452 0 +0.77595127671503827 0.22318958700781327 0 +1.0043723700361253 0.046129506149080068 0 +-0.13673419679763901 -0.90708195216678089 0 +1.0520497157163733 -0.75199522827258669 0 +-0.1831661105751542 0.83414663438747128 0 +0.18266757436886594 0.36687686542467135 0 +0.6017926288370099 0.88015379915480552 0 +-1.2504086539371144 0.19840062935591524 0 +0.75403117320015722 0.083584224325303935 0 +0.12438370954113152 0.44934109634221275 0 +-0.52295617149222706 0.8105012462783896 0 +-0.019070816693389902 -0.53610990128044733 0 +0.80347149134565199 0.15670405813323227 0 +0.037228666245381209 0.3001753276855339 0 +0.41516605086233471 0.48393219981543611 0 +1.0900756394777735 0.32440459883077649 0 +0.67917259536274555 0.18299601813743394 0 +-0.27518761322267626 -0.12208505129832398 0 +1.0726652405196195 0.20428152740235861 0 +-0.4041337735567424 0.87672672886323111 0 +0.59234215771126286 -0.59874524922363215 0 +-0.4556010756681072 -0.38466945968044669 0 +0.12938461237709759 -0.23409452202761941 0 +0.47580025568035272 -0.011536766084506577 0 +0.043626264393918208 -0.88928865678754676 0 +-0.89843125710230887 -0.51752136915111524 0 +0.94975524610806861 0.3111799615146964 0 +-0.53981118741687295 1.1618758205624955 0 +0.22213408909998053 -0.31445431762766607 0 +0.60449449284109069 1.1320755018199793 0 +0.92220273986009604 -0.66574203426304535 0 +-0.53172039908202007 0.031748354541751046 0 +-0.77235897769140438 0.20130570583243554 0 +0.0026820275424904502 0.37059051414177413 0 +0.067670707031150454 0.49820523713155379 0 +0.066540002664445458 -0.39467179996085905 0 +0.8383333514232526 -0.4075825039172713 0 +0.038558488938465536 -1.0750710380876156 0 +-0.041307222148004683 0.57981388756393093 0 +0.5690549498779891 0.34789019353812262 0 +-1.0043050896536456 -0.67895413673821348 0 +0.89702422269435844 0.13466593674675814 0 +-0.060841515828644208 -1.1030676605555114 0 +-0.32498251013152513 1.0010617362635303 0 +-0.36161057053761581 0.047567637535121894 0 +-0.62116310338112246 -0.23432087620000194 0 +-0.17637669860258826 0.55009333361278823 0 +-0.61890836624387968 0.033896390057649439 0 +0.34305018822098959 0.73223170843358298 0 +-1.0308963418605412 -0.79879057530942821 0 +-0.013806471562474698 -0.033362045067789656 0 +0.65235450022863883 0.15853993616180431 0 +-1.0052571515912974 -0.82319347445174362 0 +0.089255617045314262 0.65479570803879739 0 +0.65901970366244411 -0.63284709935205807 0 +-0.40657666300022027 0.16858625724694443 0 +0.84370738852221294 -0.52030808530457118 0 +-0.98841770170798804 0.33548150870831694 0 +0.035830622069105006 0.35571585224320335 0 +-0.16467879216719766 -0.78276068322756931 0 +-0.049418365244856051 -0.20162986597612209 0 +0.33407912560313063 -0.0030459168278755386 0 +0.75122347976147918 -0.31004930315342083 0 +0.67496216018846045 0.23495913837732349 0 +-0.56840207910116547 0.66496387705724191 0 +1.0380561877257848 -0.75575504551856254 0 +0.34377737766625355 0.3695545487470539 0 +-1.0858266171263187 0.082497657391038579 0 +-0.88721161905523693 -0.72059631462066642 0 +-0.70521347807005663 -0.64436806862953899 0 +0.49622801795650884 0.083465579263255263 0 +0.027429596142679768 0.21156285991068138 0 +0.89146090903992181 -0.55435384053223924 0 +-0.46503586381615775 0.87823803305282988 0 +1.0722674179610154 0.36609698446203837 0 +-0.26129871516830977 0.023718972763739375 0 +0.023927168347463154 -0.61458989447356382 0 +-1.0934301970731997 0.082000984524751658 0 +0.15801532417638586 -0.9030252415194242 0 +0.11116048870327616 -0.96347148143096761 0 +0.23214943327078638 0.29185836522465647 0 +-1.0102843513885833 0.012057550953729644 0 +-0.32164979290104689 0.35221228709451369 0 +-0.6356958393074148 1.0034815290673917 0 +0.45197323507273873 -0.059489254132936237 0 +0.55549125915485587 -0.41707339218329492 0 +-0.90455833063462798 -0.56339667014133077 0 +-0.16179247914606026 -0.85759865044553463 0 +-0.63514228234147363 -0.69257635244765392 0 +-0.021472121666989041 -1.1526511728833329 0 +-0.51602938940546772 0.85568976861467827 0 +0.43554645236030859 -0.25716641284553915 0 +-0.80911618118902817 0.14724001114124094 0 +-0.15083678370826006 -0.52210070785880025 0 +0.41866588465350546 0.93695837685467376 0 +-0.98862906239818571 0.056238536672795943 0 +-0.17584874085472885 -0.38880883425109158 0 +-0.72626128848447069 -0.66785596658649926 0 +-0.16470893688562563 -0.22763452437830034 0 +-0.48234031490224655 0.71077404904052255 0 +-0.90357987448222388 0.13156657486304482 0 +0.47162433655333863 0.76467776972618584 0 +0.86737162959102498 0.19543367818406077 0 +0.058728522805127345 -0.093491393861331262 0 +0.656269340513563 0.19726835897574738 0 +-0.94429769742740233 0.023032664671926637 0 +-0.74705626162300165 -0.3344120034783169 0 +0.47517267155022375 0.97097333926592355 0 +0.90156465868800029 -0.68529703069448189 0 +0.60049841589197528 0.059131541203013512 0 +0.55680187956157723 -0.6016246894399363 0 +0.23942633985789638 -0.76624193344325908 0 +0.43411380606831673 0.63492596022092929 0 +-0.62383881795578233 0.072187125275394767 0 +-0.36990335018307252 0.56739109793183062 0 +-0.66911583979578215 -0.10465421511237372 0 +-0.44028535250783224 0.85773348304231933 0 +0.33005295775546323 0.89411044669614426 0 +-0.83956959964431588 -0.74637288116102485 0 +0.25140494361244536 -0.37194634060696191 0 +0.65262878447060824 -0.27349605184542886 0 +-0.62952530852673461 -0.07911342355667883 0 +0.31377561528337861 0.85888347210325189 0 +-0.044044459271256019 0.21899519501300901 0 +0.33055586184607449 0.97110847426585267 0 +-0.86674985533886151 0.30776110371040127 0 +0.56415120079086156 -0.39211768620908938 0 +-1.2531913199282545 0.34470515396514095 0 +0.25193583180450524 0.37093986780442578 0 +0.82893769182812338 -0.0057017435804695982 0 +-0.17327309035468419 -0.22165206807833193 0 +0.73802005415452432 -0.60357526102880166 0 +0.039272925080011095 0.013158017121823518 0 +0.81769299353175129 0.2945222979844207 0 +-0.99671076894552257 -0.59594232995362173 0 +-0.91171020284616222 -0.50466403662013404 0 +0.33253659150000892 -0.22921602034783931 0 +-0.75553835965797189 0.27841585115872586 0 +-0.15016156957414237 -1.1889203925777678 0 +0.94371883662937517 0.033290079818147911 0 +0.14149352516441985 0.2747760702008164 0 +0.46328377139012145 0.45654981693098129 0 +0.34092621124857497 -0.48050172711195049 0 +0.60707158439932374 -0.14921363126180667 0 +0.30951688659064924 -0.044615547627300467 0 +0.32722380871083168 0.018510546713824724 0 +0.091546211482895046 -0.35007180904746016 0 +-0.073702237911466462 -0.87248250134885674 0 +-0.15725976514651244 0.85462244268741783 0 +0.051456238908218974 -0.68469992244570688 0 +0.56204795639548055 0.71308876479533201 0 +-0.1130315754801872 -0.31555662940413964 0 +0.91733226450761174 -0.83370300336011915 0 +-0.81974765675732608 -0.84049834243636423 0 +-0.5072492027859874 0.12516677113529248 0 +-0.48503594160073332 -0.12191275678924568 0 +-0.66496846886899952 -0.35885519106030983 0 +-1.1421579139310014 0.27849220244283163 0 +0.56532024340646247 0.87852353239876135 0 +-0.20949825876995354 -0.59158057121159602 0 +-0.48137361315360588 0.96815984831312851 0 +-0.48678705474012934 -0.55655246562782157 0 +-0.20292585798274335 0.79485229579188066 0 +-0.094089616511229573 -0.73439360135409237 0 +0.023423522066012347 -0.28897723967809924 0 +0.81246147421450721 0.094792369891643524 0 +0.048653460343779327 0.43138759892004597 0 +-0.5460701624507005 0.15976789647319267 0 +0.28380107428613299 0.4989116264793792 0 +0.8690315806688218 -0.77786970032647351 0 +-0.63862702633260748 -0.50975097328658636 0 +0.13464948050281345 0.76072320848500341 0 +0.30962602744561479 0.57888882095672178 0 +-0.68170146208618476 -0.45756897145383907 0 +-0.0026894166374546113 -0.43728638688304389 0 +-0.046005927805327126 -0.14970950779860548 0 +-0.07254557042405127 -0.26565095024333518 0 +-0.76089125534736113 0.10729005652000394 0 +-0.54806574536714059 -0.57454892907642963 0 +0.4496681372173898 0.77823276764162475 0 +-1.0237456901495001 0.4232258550227147 0 +-0.15941269759386437 -0.54461665418982608 0 +-0.72761424945288533 -0.3676994640498048 0 +0.20653460778912217 -0.88098552790129714 0 +-0.62977527683996759 -0.20333773162405064 0 +-0.15788255967381559 0.17211921211404618 0 +-1.0341826457794399 0.13755004431550491 0 +0.63093511361148213 -0.38084011391626993 0 +0.71038420439673655 0.12350856593229559 0 +0.6682669453212986 -0.33421869758622691 0 +-0.56622403455600578 0.053083248386548383 0 +-0.41333090831221525 0.36238810446232589 0 +-0.05324433370356587 -0.5274298527178175 0 +0.49625229637919649 -0.078931449235769419 0 +0.47381317589953581 0.96984691170433313 0 +-0.50112834603488465 -0.04487705994741082 0 +-0.22905450061305518 -0.78624868041411899 0 +-1.2833181629258208 0.25214141541301777 0 +0.56183924728156398 -0.53248373511281799 0 +0.099825708083745246 -0.4171915805448812 0 +-0.38493490064723218 0.12208663391611524 0 +0.87090232957003533 -0.51188765480001719 0 +-0.3115531874677317 -0.28575336564744774 0 +-0.3762475827286143 0.037817225232965157 0 +-0.025278493736617724 -0.81911101179950774 0 +0.14876237500347067 -0.64243175655244378 0 +0.42691535398397418 -0.22541678002247323 0 +0.50097172509072252 -0.014218292565968271 0 +-0.27525899652649088 0.7842072095770084 0 +0.98870225933948086 0.31430899027526626 0 +-0.96692906648657084 -0.5913283213602526 0 +0.92801615594837783 0.25209314010494388 0 +-0.55535518323569122 -0.70808747417587392 0 +-0.99837878373429323 -0.64600063469496949 0 +-0.18407563071767219 -0.21226057847558044 0 +0.22113286373049509 0.53442523080509319 0 +-0.086826403922843021 -0.7457995539173603 0 +-0.069713684693246722 -0.92355766246481275 0 +0.25776119090026312 0.16558682688693027 0 +-0.22196445517938879 -0.51785808412359868 0 +0.38221541549515919 0.51093527576734155 0 +0.51067462889960302 1.0712390301815771 0 +-0.16653301605504078 0.72761716603173587 0 +0.21767606140987961 -0.023176092661515435 0 +-0.99927877076050342 -0.81720424407113523 0 +-0.45486178748636236 -0.31724799613249627 0 +1.0347424650672841 0.37304424754151649 0 +-0.5631186385509489 -0.0090155433817336924 0 +-0.19446789485559929 -0.095649588953578488 0 +0.14785907776162477 -0.056772206259675023 0 +0.18864226072003304 0.3344931360264769 0 +1.2053080281395834 0.37008940811140978 0 +-0.84917581201408521 0.38614858915356459 0 +-0.52805140229302472 0.77759256912521491 0 +0.63194463816030266 0.3905109971811902 0 +1.0056108861702404 -0.77253238671543456 0 +0.20477867894436161 -0.50375303419607864 0 +-0.55231855798003038 0.89196107182351658 0 +0.3799447511182838 1.1402378959938337 0 +0.47381942781531533 -0.51829266845907374 0 +-0.027376317197683252 -0.48310332845901321 0 +-0.26797566661422029 0.63941796190724709 0 +0.054027927205378162 0.34610958488797738 0 +0.55776038725863908 0.80435519592951565 0 +0.99920205125193129 0.38819133527612631 0 +0.54862783002206839 0.92826341624322362 0 +-0.039542907841687076 -1.0834368187729688 0 +-0.13736418024616384 -0.40615762458113597 0 +0.50663630220655265 -0.62681299050611039 0 +0.88697032604655701 0.4065454405456968 0 +0.43190111294417566 0.78118021095719792 0 +0.41287003052259408 1.0864110485727858 0 +-0.39384934642216113 0.3371151400674709 0 +-0.27685524572640008 0.91324179063579458 0 +-0.72300546403474497 0.092266802420746113 0 +0.047835856252157249 -0.25834930077597995 0 +-0.1544517146833474 0.11475127602126339 0 +0.91975871569371415 -0.78699200806444058 0 +0.53118926120202536 0.60494553051150435 0 +-0.36331223395495937 0.061347919200826426 0 +0.48621874286451611 0.13642694721183338 0 +0.46522122906514951 0.82103460353368274 0 +-0.23718667283936709 -0.26698513233450855 0 +0.81555166725998629 0.12258557703496357 0 +0.60154994852600452 -0.47053049813918041 0 +0.6012888271236394 0.05786643870394572 0 +0.14458251389755666 -0.016019765596597502 0 +-0.5213417207454184 1.1989143942868541 0 +-0.59950391913666601 0.09367571932457025 0 +-0.62230091717781533 1.1136892544735044 0 +-0.029502363770837411 -0.030768762542625391 0 +-0.76325418935512301 -0.38770177538033795 0 +-1.0510422015065808 0.22105996530796998 0 +0.39931459835898697 0.75957961121746453 0 +-0.8573223932842815 -0.56653972534312558 0 +1.079028295751526 0.40130287720440166 0 +0.0071756195661602622 -0.37400465040061098 0 +-0.31188030506598047 0.21845740514991405 0 +0.54851571727047777 -0.47542359332760437 0 +-0.34029795569646459 0.61146598900156346 0 +0.51439824791587752 0.65951504089325841 0 +0.17932222226782052 0.52957870512084604 0 +-0.59651584236238753 0.83251379972090367 0 +0.2824262286678314 0.2154066090142133 0 +0.09025592733246568 -0.17316665933737857 0 +0.44854253364961272 -0.62541145341439852 0 +-0.42421948689876066 0.41289489972018711 0 +0.65061876776513028 -0.78027904471082488 0 +-0.28945121239803739 0.7618775168714027 0 +-0.45076507918224751 0.51900928812328506 0 +0.70652429614447454 -0.47672538859314623 0 +-1.1351054692680869 0.27970589414941588 0 +0.29083588602623367 1.0096584236541284 0 +-0.68883751592561682 -0.0053833572226755777 0 +1.1009800775691345 0.1403940816205583 0 +-0.42925497980608679 1.0148312850301333 0 +0.50506919199340317 -0.43588370117090386 0 +0.40315358363494602 -0.41274283713820964 0 +0.45658693385032173 -0.57862513086504208 0 +0.49401778757099452 1.1278801101821787 0 +-0.027601009106718075 -0.098648844730666374 0 +-1.2191784661651153 0.30746454998881212 0 +-0.55160152893765435 -0.073435939099753211 0 +-0.60063330670810144 -0.089452271951575832 0 +-0.21665141225986603 -0.57827698938964622 0 +-0.36815403553236647 0.32496383804230655 0 +-0.56064269767099417 0.32234388005497433 0 +0.054807292976537435 -0.89848678106280488 0 +0.085978037023401288 -0.98053230937386149 0 +-0.59085230317893023 0.32661637485745659 0 +-0.30291370106976268 0.0989918741213517 0 +-0.56132875748367961 -0.65648353852689989 0 +-0.53307755499379683 1.0846104559876153 0 +0.54725401469880042 0.76300770325047873 0 +-0.34363441924057103 0.82807676380147088 0 +0.31899942857779318 -0.029421487477176985 0 +-0.50762448848645658 0.34943221117053624 0 +0.48488234044085149 1.1156304931054353 0 +-0.68118471030900163 -0.45912729889527343 0 +-0.071337524891238582 0.052189188852652224 0 +-0.10594517950866539 -0.2200239267444539 0 +1.0369105841412647 -0.7769473108921533 0 +-0.10558656702748039 0.090415974464393478 0 +0.13933822477762828 0.29876590313219609 0 +1.0272825176549107 -0.77893376625618982 0 +-0.60062305585740772 0.97416306973010069 0 +-0.94673658001060101 0.057405977597323951 0 +-0.13526330249595564 0.28108769365404485 0 +-0.3994488302092245 0.93834610099755389 0 +-1.1221710613028681 0.14073898626304446 0 +0.57909817742572089 -0.073412076804794058 0 +-0.60072307156555038 0.15780154834793936 0 +0.10885623886489149 0.5523078576466004 0 +0.54362528714611846 0.31045535520353712 0 +0.47483366606193295 0.7130830520884851 0 +0.9277965013391285 0.22283149272629951 0 +0.0061758278961024701 -0.36545564873347164 0 +-0.23324158112433915 0.0097642043304967171 0 +-0.56737419757885543 -0.0038313804832506458 0 +0.027280393901579946 -0.90572887303187166 0 +-0.15500298193534245 -0.94657160986676381 0 +-0.30140033323860654 0.54767082729165728 0 +0.0073759149715272969 -0.24694449506271698 0 +0.18066559779924307 0.46765771455731725 0 +0.35764654260918266 0.9374755994309204 0 +-0.14207220506149801 -0.10121007867124052 0 +-0.57997774375930822 -0.72529019952547757 0 +0.61455919650221591 0.32943274472078049 0 +-0.27580850074556856 -0.43883177522121092 0 +0.031026291507124614 -0.024728497395060643 0 +0.54510655291011045 1.0598689474538852 0 +0.08428487154678832 -0.53535978805047191 0 +-0.3248969629690297 0.024529799735096967 0 +0.01197845840349827 0.27458436289174837 0 +0.10621268927045237 -0.16183635588390075 0 +-0.7469842621891829 -0.48385043473772449 0 +-0.099868782081025911 0.50737970860826276 0 +-0.35950118655862595 0.19878849281996297 0 +-0.22529499772171643 0.80534465287500301 0 +-0.85613656105544034 -0.81218996329022297 0 +-0.78840154632541071 -0.79153691414185856 0 +-0.71439556814259975 -0.75783370542454986 0 +0.40541570933678839 -0.58150598363739181 0 +-0.320999375456402 1.0469254233329806 0 +-0.68251917639466153 -0.56017395080126531 0 +0.054636061818167644 -0.20543336136064799 0 +0.47252394043840479 0.91355042733708991 0 +-0.36758163328081156 -0.13650227077172239 0 +0.097250027367564218 -0.50697993666643371 0 +0.24226427662523448 0.22346024203899079 0 +0.38891046100651194 -0.24659567558717338 0 +-0.10538451929304243 0.27948538202655071 0 +-0.15135980608944991 0.067918782160725166 0 +-0.71245820245804425 0.15902489175356929 0 +0.1986088769513481 0.14765849183152915 0 +0.25709674283219575 0.13727428062359118 0 +-0.3473063742095398 0.39166448916909125 0 +1.0103018005293227 0.12454539176232741 0 +-0.081929057205057276 -0.85526312181007669 0 +-0.72030660501447663 0.33304355034284505 0 +-0.1931453592136918 0.86871245606641767 0 +0.057297622295850198 0.13402604659320988 0 +-0.01738037210529466 -1.0025079605597109 0 +0.54412309327581454 0.71192351221936623 0 +0.48506536285758739 1.1473619148594509 0 +-0.31592985144664443 -0.32465896580759368 0 +-0.63721010097628528 0.86434118326623921 0 +-0.1724493524237356 -0.17231831246190044 0 +-0.64522761621805358 0.11508320945582752 0 +0.14551954476041637 0.60474467505377627 0 +0.84999562629200576 -0.393736212323194 0 +-0.16978609520691068 -0.93705547639836628 0 +-0.40894571138491492 -0.16916048038206472 0 +-0.80504091775245468 0.20454351751589681 0 +0.97828778183460763 0.28739999465368782 0 +0.14217902110043701 0.52732265122791233 0 +1.0371020174206265 0.26975209702548941 0 +-0.17271175799446453 -1.1405043702935038 0 +0.2101993710765957 0.72412531054982343 0 +0.0077457932803061784 0.46760787252157898 0 +0.77141253301535129 -0.41238139621106362 0 +-0.35616581539140713 0.16997648247171235 0 +0.044234822239012449 0.40527977467026433 0 +-0.054527796707306384 0.59120023200149552 0 +-0.46710277642088605 0.34495748062120546 0 +1.0123839775021626 0.098556156014435542 0 +0.20279135761079714 -0.2528080304508955 0 +-0.4614394640363132 -0.44254813199925763 0 +-1.0138820701395033 0.13765671450840566 0 +0.76007947894503847 -0.46283064442821931 0 +-1.1172481677419683 0.15966052049114773 0 +-0.093115531414571462 0.24929466231195049 0 +-0.42810480040955506 -0.29640792593949694 0 +0.10204558134403298 0.69814747641775998 0 +0.93408073142635872 0.30497062797313951 0 +1.1780807506074353 0.25307668916981629 0 +0.11196471611860476 0.65077720031996589 0 +0.80357882161991623 0.1042957261430934 0 +0.56695807277620924 1.096598910166414 0 +-0.21098176899541798 -0.46159650650721673 0 +0.065182463847671276 -1.2642605866075616 0 +0.58371319057932913 1.1882403961840513 0 +0.98860963529701629 0.42549793389848312 0 +0.26756828895407359 -0.43037562546677555 0 +0.18624899028753683 0.31366503680069902 0 +0.86501509578552493 -0.0063055876724252167 0 +-0.52012967487831185 0.086297814397715639 0 +0.0077135240030168804 -0.10060476222911933 0 +-0.097569238574982495 0.15236455675301674 0 +1.0427599802216792 0.39093226987808244 0 +0.060529801821705302 -0.75386326393859693 0 +0.84333879288517144 -0.64124595118555461 0 +0.92829852112278954 0.32765854746440087 0 +-0.48132397301933916 -0.52828731690265474 0 +-0.72195552975381116 -0.41096431313792081 0 +-0.62242939856838742 -0.22419260372823843 0 +-0.47163892354665654 0.92269544508190726 0 +0.11313598506724885 -0.91702879017456296 0 +0.14699161565583177 -0.68789862090717702 0 +-0.11312444974126316 0.023428754031530594 0 +-0.45804944601037445 0.52314327375926784 0 +-0.52588460701190631 1.1812675000467536 0 +-0.79157778166736692 -0.058819130426841497 0 +-0.30688942162810906 0.47265006932119802 0 +-0.25606292895891253 0.67449550425827609 0 +-0.20644221524806902 0.15302261154326591 0 +-0.32548281262611062 -0.044205718734585092 0 +-0.23444855341601917 -0.71783742184913568 0 +-1.1193520111418211 0.24453590312714799 0 +-0.26220855264029719 0.64194716356867898 0 +0.17802589023797755 0.19452006560931107 0 +0.6222447391680439 0.095620418207521096 0 +0.11102906226099701 -1.171249573939634 0 +1.1496155733006108 0.40538351785674764 0 +-0.54562185320810475 0.25920901040059335 0 +0.084460481014942745 -1.0364840727477225 0 +0.80525615559238328 0.39626822309887633 0 +-0.84813759143586531 0.37878174985356361 0 +0.063075793168582098 -1.2169216672904601 0 +-0.54136917524584316 0.83520414850504088 0 +-0.60170315327880108 -0.42243940770012989 0 +-0.031046732462464408 0.18417141778700888 0 +-0.45347277056721075 0.83833513857114061 0 +-0.61799878488272231 -0.34083826600764811 0 +0.0065700924385100109 -0.5704525410042609 0 +-0.39002647961788994 0.27306653413795651 0 +-0.9978850502342923 0.088251802000134064 0 +0.76311095505184068 0.11332675520595607 0 +-0.60941323605398035 1.1590730619962639 0 +0.080342755632941146 -0.79239100523907402 0 +0.66066833526550994 -0.29319728922042387 0 +-0.30034989004913409 -0.2793344114398757 0 +0.861323024974744 -0.74539855787861953 0 +-0.38953634901584999 0.03529654939506268 0 +0.76813711055972744 0.24368284546257452 0 +0.17992874300036851 -0.96718931770346595 0 +-0.41824198801978774 -0.25003627037741483 0 +1.1434589369685233 0.28617121205178253 0 +0.6159086614061362 -0.27301889785455474 0 +-0.45626110004147086 0.85916927808694366 0 +0.70545717884299364 0.08782314092801248 0 +-0.78258461938643309 -0.75605420821250158 0 +0.3628678123156785 0.13564231195877058 0 +0.59458400260917776 1.0575000991653762 0 +0.6527969105551924 0.24622645303557764 0 +-0.69321663700588498 0.019967517655858025 0 +-0.71603646271959165 -0.68004334933895272 0 +-0.023708838037377999 -0.094179460006268464 0 +0.53548092328824126 1.1586375936819455 0 +-0.42986832482212967 0.18103499630259659 0 +-0.81691709321769479 -0.35829188593891453 0 +0.62763847402123762 0.98141842648332089 0 +-0.20287593729540551 -1.0152111774774177 0 +0.51036480092747594 -0.074060500015371344 0 +-0.63050469166260559 -0.42717685182760617 0 +0.59529161655974683 -0.60900463619916922 0 +0.82741350862619367 -0.74194087094942862 0 +0.90247546022143899 -0.46017358966271005 0 +-0.20871402620862733 -0.70683752929552779 0 +-0.4836413188509246 1.1721392108391047 0 +0.58536898383000469 -0.37268090333031756 0 +-0.37095264399017214 -0.61023866541708438 0 +0.42085545546245468 0.2792562851528696 0 +-0.94495494369808453 -0.011649578421763262 0 +-0.43198276060007917 -0.63989809792256858 0 +0.94993351500660583 -0.65079488862479484 0 +0.46337764725818009 0.32784597795735948 0 +0.4791904715759025 0.34283822312188766 0 +-0.4512097592649581 0.48424507056020161 0 +-0.078294505407568937 -0.40613549600910442 0 +-0.76196848898543612 0.1815477194608269 0 +0.94767881085961225 -0.79190695101507558 0 +-0.37901472326370222 0.93759585908373733 0 +0.37023826678810423 0.68014671316089981 0 +0.70741240587717258 -0.80758827023543167 0 +0.53220727662255762 0.028186652154340571 0 +-0.082145476044491822 -0.17441425278924905 0 +0.88256609877344006 -0.85482253388356344 0 +1.095016238240653 0.29620628524510001 0 +-0.52104023185519643 0.32815653712828008 0 +-0.48869366703642642 0.31671854000488986 0 +-0.3038432039833967 -0.43933997161948413 0 +-0.89188085222505553 -0.47186968803134138 0 +0.12111122592506453 -0.67702495944581631 0 +0.33851040539933108 1.0674317445961732 0 +-0.24401799970972532 0.82894548378945765 0 +0.2137721635373484 0.74423651719871442 0 +-0.15469725293159362 0.26946755560853336 0 +-0.064238417285981911 0.59745619688469886 0 +-0.14060495361576603 -1.0276641846716286 0 +-0.28662070229458575 0.83296753203602192 0 +-0.26068162113511745 0.30893481818644886 0 +-0.56792376975833558 0.36744108588100721 0 +0.58160433932898548 0.73082859507007181 0 +-0.53827396009464001 0.57941114747349409 0 +-0.0059952597831290696 -0.33201559455988394 0 +0.95677747552359638 0.19531290591124509 0 +0.32377473166552734 0.99643113917069004 0 +0.17910269155773748 0.69718248037774533 0 +-0.14660261495335652 -1.1429558755661322 0 +0.37250406980930811 0.3157036328875813 0 +0.96278046092263303 0.35265296491887937 0 +0.58865751900064101 -0.68711262393119488 0 +0.44091622041938766 1.1248053464097894 0 +0.93327200748150196 0.076283607312540358 0 +0.13366044873911792 -0.55661285368322322 0 +-1.0231197101420411 0.088065021342011773 0 +-0.062440617877490993 -0.18692239545541697 0 +0.40043126114813177 0.47061486973851097 0 +0.33122971228419762 0.68167792324316823 0 +0.35613313652894185 0.23984643523364346 0 +0.62513501605565314 -0.57363278788768191 0 +1.0366549145836641 -0.78545024463601465 0 +0.75780724199924898 -0.6673215232345634 0 +0.67648631488671607 -0.42457938703429393 0 +-0.56261685660470384 0.16983912734297463 0 +0.15387504458066881 -0.86750077800731673 0 +0.54173471544240537 -0.01425693578857281 0 +0.30032804460545792 -0.30133181392051162 0 +-0.76340027115836817 0.22247686415181017 0 +1.1752143191761679 0.19689552779910552 0 +-0.18098695397536602 -1.101527949809757 0 +-0.146057432482262 -0.35731410978426748 0 +0.64132832282652408 0.18275182787947147 0 +-0.30971002333188835 0.12446660067594947 0 +0.15089045555007807 -0.51068350592636358 0 +-0.19786577594273241 0.37143231294419415 0 +-0.44054166571070114 -0.12385975014666116 0 +0.45899257314577491 -0.35180981452568338 0 +1.1860405221805341 0.13977690792950062 0 +0.41049732339536837 1.0757137822290888 0 +0.20214928405175858 -0.49212820366144511 0 +-0.0037438825733559608 0.31319787733179882 0 +0.13702106980390363 -0.32375687668438502 0 +0.81291781640484151 -0.77095636490567787 0 +-0.26747760667100234 1.005973778920334 0 +-0.41576762863130751 0.82369866966989191 0 +-1.1951208131880211 0.24721053805187751 0 +-0.59542915799640617 0.8280621660560038 0 +0.73010569023195027 -0.62618398900047734 0 +-0.05397348500579606 -1.1052551832081223 0 +0.018221727410756425 -0.59066479109932435 0 +0.37537925943884543 -0.071078594675100026 0 +-0.13421025426217437 -0.21916586943187635 0 +-0.55485117063792699 0.80892122158701485 0 +-0.50896860928448662 0.77227232842938798 0 +1.1919807249600951 0.37848862889554596 0 +-0.36000774402015995 -0.36126290617282297 0 +-0.23121733109731502 0.064086264317703714 0 +0.52408398200757933 0.55022043416689947 0 +0.087380173219464383 -1.0157540193459402 0 +0.13799230322243505 -1.006769894309155 0 +0.75759944055046768 0.30949192792400737 0 +0.15626294335470295 0.66819660100122569 0 +0.35389123312237175 0.60630572623263701 0 +0.37628313415965703 0.98761019226758573 0 +-0.417399617468029 1.141785762595158 0 +-0.072647429870553851 -0.23346694799362841 0 +0.90566326965434618 -0.64300740514686261 0 +0.21517197106296851 -0.55624768186999363 0 +0.10082174829891723 -0.42234090699890603 0 +0.076630145658954429 -0.35359213840962656 0 +-0.052394254067356802 -0.073043623176590564 0 +0.20479501148926518 -0.030573991240132735 0 +0.17335273026394254 0.49443038965958153 0 +-0.20754606184465033 0.18328537898749134 0 +-0.16986131964886278 0.67833908045735403 0 +-0.88700486059471451 -0.7551080005594788 0 +0.030811273039865038 0.05803998386487836 0 +1.2424474302629775 0.25756081644188322 0 +0.015721242520167954 -0.68356059037085393 0 +-0.2634837666100579 0.80803887778172701 0 +0.28312641664925148 -0.56258808773534608 0 +-0.071734607225485941 0.68634304695708848 0 +0.93647054237871463 0.15731369659244898 0 +0.95200165911780199 0.037135338242331659 0 +-0.47892286607125573 -0.024954400168262045 0 +-0.34865610480389042 -0.25040639590090158 0 +0.43238884491466756 0.24733687433234106 0 +0.51846570359857491 -0.47683233400627467 0 +0.81528947536435747 0.20704505643957874 0 +0.22122012471925581 -0.29816564693728081 0 +-0.73356106906347729 -0.57618764077583007 0 +0.35974742423805361 0.81876976340712193 0 +-0.62116733554681514 0.26699098968110002 0 +0.15431221965206324 0.22882487684701983 0 +-0.58665565881424819 -0.33963424530195063 0 +-0.36172920863799074 0.4715440414571202 0 +0.092026728938475466 0.62206135392819817 0 +0.20712296180445144 0.81532055935121139 0 +-0.054386812861491891 0.024604521435498537 0 +0.46603658283591165 0.71255643232719579 0 +0.8353893339452344 -0.63589467057694249 0 +-1.2096858904984857 0.16367909236489411 0 +0.18353337279987633 0.88149680150807408 0 +-0.26504663260294908 0.6059030551888287 0 +-0.92054013175619598 -0.0021976722251445756 0 +-0.42552462762800469 0.26278228563635708 0 +-0.10633138022742011 -0.033373214090773026 0 +0.53442409579423977 0.69777943279067978 0 +-0.45039142596422821 -0.51622826445513914 0 +-0.49940893270431841 -0.39520166896599868 0 +-0.70992341690496608 0.12364782463483212 0 +-0.58630666168684631 -0.45416792986741245 0 +0.46091758044709125 -0.2602353271622902 0 +0.2842675992095417 -0.018176028347768547 0 +0.44048126443177021 0.93502335275245141 0 +-0.77421308647346221 0.020742405240790115 0 +0.33032561806603744 0.088815766885952024 0 +0.38742559418828026 0.10788878626935539 0 +0.8145079023095334 0.36790572016266987 0 +-0.53445200707728924 -0.3777142515854815 0 +0.54764214545834211 0.161220028526185 0 +0.47148869459757914 -0.12524311805447325 0 +0.25135838506645125 -0.26600308472578205 0 +0.14970003742385435 0.51235903249157755 0 +-0.17406146874018824 -0.43544309477928134 0 +-0.35402374353774535 -0.37330487129629691 0 +0.74765413347308851 0.30357955045617646 0 +0.12090951351420588 0.7329417063950433 0 +-0.54467571817333016 0.68566594616941523 0 +0.52910773734123173 0.60321527555472543 0 +0.76171060170425076 0.098361902199517806 0 +1.0029232824570302 -0.83833342516917575 0 +-0.43240463850268579 -0.0045469415765701619 0 +0.59880212593617621 -0.20488251874725125 0 +0.26590836621522268 -0.21626586471964537 0 +-0.60199660263483845 -0.50054365440630733 0 +0.53496827344204101 -0.47749917914782386 0 +-0.375587880149653 0.43322817650577072 0 +-0.35192049633533079 0.84855015746617113 0 +-0.63931914188103456 0.97420206341516535 0 +0.14862925070871336 0.66787675953356962 0 +0.11658770401102267 -0.77714758285024899 0 +0.29498202965846559 -0.25901928594800833 0 +0.927672292411584 -0.65473168028630302 0 +-0.67751918780226728 -0.77628179347751636 0 +-0.23281244399925852 0.024212488347840511 0 +-0.53500089322982336 -0.058471961325543151 0 +0.62482492639577825 0.92273433813854322 0 +1.2609350612590249 0.22121893517308552 0 +0.53944909006861219 -0.38271396195783136 0 +-0.78766875321035412 -0.50361127613507817 0 +0.52043760484056945 -0.38184461962375815 0 +-0.37620768788932946 -0.44759573007373343 0 +0.51435087953788938 -0.70356666613060825 0 +-0.61940637427143164 1.0751319739948713 0 +-0.503975657031563 1.190365854145508 0 +-0.61513293063355878 0.1492291784385805 0 +-0.43193931861714591 -0.29569909632361335 0 +0.12756136311720323 -0.85071839530233051 0 +0.077345338721644549 -1.2422950285475556 0 +0.25921561957611156 0.76908050630539071 0 +-0.69908942738086499 -0.30822911141181275 0 +-0.40871590938367919 0.89002044116186896 0 +0.5444318194617529 0.32092490792802064 0 +-0.46599942117795973 -0.59500996046635279 0 +0.30186957625995992 0.5395702980903383 0 +0.32989560249943134 0.30308809391086466 0 +0.53308309646626584 -0.10628060366747043 0 +0.43737621311254032 0.60095263980263192 0 +-0.59191649758196663 -0.32820157185912702 0 +-0.65113212956043354 -0.70489915153889071 0 +-1.1919048991184209 0.18232397911299891 0 +0.032938715336304721 -0.61231694315619178 0 +-0.086134137611112604 -0.43789989838696408 0 +-0.63384264496002429 0.23914922235303016 0 +-0.09728648648106808 -0.92329731577483543 0 +-0.2163257963091002 -0.24817756682690301 0 +-0.57771137408005391 0.1164389295757525 0 +-0.19386786404452472 0.3122937906354617 0 +0.29400636398038038 -0.00086183118209004473 0 +-0.40194616104741904 0.80414835258117368 0 +-0.11035079413109598 0.19873403575045756 0 +-0.092644364905818968 -0.82590080136669963 0 +-0.38654976841170541 1.0868497549941625 0 +0.5565978380189921 -0.43672156480926744 0 +0.61152153120943886 0.91366263462307373 0 +-1.0442439407500843 -0.81124213752148777 0 +-0.40911824106858474 0.39563340642008449 0 +-0.60913697984539872 0.93438112956718289 0 +-0.17012819843735943 0.56378403950656031 0 +-0.23332383070848137 0.092905607721028349 0 +-0.410629731270655 0.0029273457428100167 0 +-0.73340285034957509 -0.47588708132985291 0 +-0.034739280126770654 -0.80945841730679913 0 +-0.51845870030963837 -0.49329667921176917 0 +-0.45428486302747417 -0.25336311751905799 0 +0.52244726980870981 1.1819665455251094 0 +0.38056906861714418 0.87525745472495009 0 +-0.074680466941530049 0.39668458864589429 0 +0.59030916767651764 0.294988863518306 0 +0.22724949952597487 -0.103016227084849 0 +0.74283138292994844 -0.50255968408762985 0 +0.54681136888193127 0.24792735775677974 0 +-0.70891595428510024 -0.37369506850010203 0 +-0.19021875147627243 -0.15517717777855852 0 +-0.59201073896546685 0.15741244382857705 0 +0.089783437692148998 -0.71191311644879274 0 +-0.06470085162076096 -0.13314265457232513 0 +-0.036836419041909083 -0.7542433752726625 0 +0.054985078983074004 0.01882845027224702 0 +0.86502835828759894 -0.77884523443768516 0 +0.55769822962774052 -0.71769407160820831 0 +0.56836148410292386 0.94553387937415745 0 +-0.32122949784408095 -0.10892613156189891 0 +0.54866891977693732 -0.51599515132133478 0 +-0.52327106686817437 0.56357341541802786 0 +0.92746571163782765 0.15223055303274705 0 +-0.44567884777047356 0.59088999114152574 0 +0.41217298141988828 -0.27730389054199367 0 +0.12176912090038762 -0.59317470778568371 0 +0.41081764643390167 0.96997456594526787 0 +-0.3265089951741369 0.10177957224354647 0 +-0.8642307683997229 0.1651425256542465 0 +-0.34829695169815927 0.70275109211459053 0 +0.68246608784572971 -0.093595719939650296 0 +0.19848787393076542 0.78800703192333987 0 +-1.0230433746396095 -0.78418934782675354 0 +0.01873934436021818 -0.58442571184422454 0 +0.62352181131358997 -0.49894419565579362 0 +0.11691928964040089 0.73922696323601633 0 +-0.062027487199226836 0.60851595948563542 0 +-1.2349759048929687 0.31399432236333863 0 +-0.50514705472184429 0.95112265822110287 0 +0.34481205760446593 -0.11609044807355823 0 +0.43527147726551724 1.0451912177976292 0 +0.56296901402490818 -0.13015305116600231 0 +0.63301975780211506 0.85694486611522525 0 +0.38690509758435204 1.1164037626047043 0 +-0.081876579866352495 -0.80636930292373554 0 +0.40379978205455114 0.32282470871817459 0 +-1.1435443865135173 0.34951321148344255 0 +-0.54894749012341948 0.74185388288055443 0 +-0.55764262539370579 -0.40619379371391645 0 +0.14373794277181146 -0.15165671354344265 0 +-0.19379490598329782 0.0045964917358112698 0 +-0.53575569356341202 -0.25306140114411696 0 +-0.62223072333542806 0.84298984908415475 0 +-0.2762577662991606 0.57373183181229892 0 +-1.1668840674323842 0.15109163934033618 0 +-0.16983723845347506 0.78639475427064109 0 +0.5078457826339976 0.48695642674504214 0 +-0.18111375663861362 -0.97231607732305159 0 +-1.0028819619142699 0.21307559761427089 0 +-0.13000448292191827 -0.67464558093180016 0 +-0.71238370034407783 -0.30439553380218631 0 +0.22202412215863851 0.56064839818650514 0 +-0.90801800876762551 -0.48976117792056345 0 +-0.22086314775453009 0.18970229279135425 0 +0.66250697209349618 -0.22392760949877266 0 +0.81233739974549002 -0.73255363914023897 0 +0.28135892482125235 -0.095710287481791126 0 +-0.65059143603773573 0.98650000579404784 0 +-0.54947070034983692 1.1994154482246748 0 +0.58294937029805849 -0.2455143258520929 0 +0.7870254768424555 -0.60203120314405711 0 +-1.1553054979307231 0.22891025470711671 0 +0.98688569766823042 0.095655781093553785 0 +0.29151278954360227 0.13690139916792599 0 +-0.065213976935665788 -1.2616129296820309 0 +0.67937810203520854 0.36560895853393682 0 +-0.067031375682422512 0.45324523027938068 0 +0.37098879395442591 1.0756747406210778 0 +1.239593963452152 0.30818018133186348 0 +0.48724948502599436 -0.56990256117154148 0 +-0.97614954689592159 0.16418056718053692 0 +0.056218547820955853 -0.87841510131279943 0 +0.69162385739553811 -0.26260914563115406 0 +0.41463154690882231 -0.36030020511465233 0 +-0.78421927229692212 0.015641369723498454 0 +0.15509405936554604 0.30651770983700777 0 +0.7092537748428025 -0.79399494664067438 0 +0.083058255304023998 0.54647160258395922 0 +0.20683505563657864 0.051574014760792014 0 +-0.26862359140042696 -0.32256748962378967 0 +-0.72477339778134242 0.33033519520324062 0 +0.0097366509733706405 -0.50401320702056751 0 +0.69770616474375524 -0.032340178142703735 0 +0.37463712834119767 -0.5300709957751697 0 +0.12140409483493174 -0.22031350241424361 0 +-1.0573225011779908 0.31658534236226443 0 +0.45619953052376028 0.79044573180897526 0 +-0.63267894735142938 -0.68700904324811196 0 +0.69597192031488264 -0.7363663071779365 0 +0.52898155712029471 1.1317760688748331 0 +0.56524002208031965 0.26964428118038425 0 +-0.13002307251522977 0.63717966425149364 0 +0.084001197204035136 0.14078864857834622 0 +-0.19011211562452338 -0.023367109766056826 0 +-0.50170500998878109 0.17185185294689942 0 +0.86237649945005779 -0.68444248601054902 0 +-0.73239625576458234 -0.61714101113476882 0 +-0.80205835835147266 -0.73218554787302403 0 +0.21615203869252866 0.059281793604787712 0 +-0.30445808279011544 0.48637833412161663 0 +-0.60306527866662041 -0.32453583801818664 0 +-0.94893601430159757 0.42597277727893101 0 +0.27405794098934444 0.70244701521447128 0 +0.86243322401054201 -0.8275564378954301 0 +-0.53086105252654048 0.90536411110553427 0 +-0.37519165732161275 -0.089377287624186064 0 +-0.37468129864933336 0.34107478911064865 0 +0.051183538848944728 -0.35871725762344892 0 +0.76385147704217915 -0.68205848874725972 0 +0.49889457185014796 0.14066578449162742 0 +-0.13488470372606387 -0.34976475582390382 0 +-0.049420476379929607 -0.043107670253555684 0 +-0.59682077521576149 -0.64959262223026637 0 +-0.11294577575304586 0.36452288032320573 0 +-0.19572645985247625 -0.064284390134254243 0 +0.25138611305378489 0.21548512843175097 0 +0.1307059417613832 0.51849998233226369 0 +-0.43882697181555336 0.89282485299450154 0 +0.043589619681182912 0.60537545085922984 0 +0.45288406265602177 -0.47243065262499251 0 +-0.80728629982760347 0.17400533275407604 0 +-0.12015997900647499 0.44006209884302755 0 +0.34794158769253769 0.93985485709746408 0 +0.069770192810329271 0.098468874903778661 0 +0.48186775685027977 1.1199498354832329 0 +-1.0270818139417555 -0.62609377535539923 0 +0.8271815217535563 -0.050044191931946799 0 +-1.0856534562844471 0.17488684036559929 0 +0.6161712702377331 0.89511860148728029 0 +-0.96819856899270251 -0.84185946376339849 0 +-0.17455649211085336 -0.14850511732306659 0 +0.6188220210523433 -0.14295549545467393 0 +-0.06359186465450177 -0.98985426363042039 0 +-0.15362141301628859 -1.1756906671467757 0 +0.58349651241402489 1.0162187210538569 0 +-0.67331391765679005 -0.71070516212338131 0 +-0.033269291107492327 -1.2993568150321948 0 +-0.4447270739696067 0.40459957487208481 0 +0.018643935158821411 -1.3181047135400041 0 +-0.84605251764605971 0.37842898903169903 0 +0.60159475877874879 0.78736865246707355 0 +0.65936108994908738 -0.57845158364923777 0 +0.55893842549088668 -0.68299599207172568 0 +-0.24460885739305746 0.55866734035964627 0 +0.42445920777890894 0.68496844161782933 0 +-0.26059713882644775 0.81134491597169123 0 +-0.2037834332476407 -0.03220597112479133 0 +-0.16437295320208389 -0.69862964524071847 0 +0.45388793041971059 0.20088431258642533 0 +0.17628882133995274 0.042028695874265318 0 +0.70649327386602623 0.3966894233584663 0 +0.60286740553159046 -0.63992991435734992 0 +0.33320798066110896 -0.41677679987823696 0 +0.80463317024232939 -0.62694871761151327 0 +-0.90580675847344827 0.17064578494743399 0 +-0.55662539880002504 -0.26189437449805203 0 +-0.73613937525433593 0.38471860431610372 0 +-0.98961201616268624 -0.80374726230608373 0 +0.17717023181713495 0.37523829733973635 0 +-0.4145491625023266 0.65944686948033704 0 +-1.0332532315932321 -0.83345503870609416 0 +0.071583117398243468 -0.012321135190987542 0 +-0.44323218979217377 -0.33894055713534565 0 +1.0114382573008891 -0.6602381032926975 0 +-0.53581736528839563 -0.63582373333967546 0 +-0.43651115588470291 -0.33547102470643414 0 +0.69275655832554273 0.017802578606686523 0 +0.26621854109259668 0.88956005979988106 0 +0.41796414361232509 0.71783162898916142 0 +0.73882948528879799 0.056280040021885018 0 +-0.13962012165023835 -0.58145533461267318 0 +0.085916208430727795 0.5968487100429346 0 +-0.48456361831005873 1.0397239110664644 0 +-0.836740242008853 -0.56196038824855399 0 +-0.41245723626841607 0.53828584259119927 0 +0.40032477835001734 -0.080741106248264222 0 +1.000625724572116 0.37533397540129793 0 +-0.15486328160696849 0.71848010457595324 0 +0.36331560232962673 0.12028757792872451 0 +-0.096908268724952451 -1.1879037793661609 0 +-0.36114112305283824 -0.14509253533012456 0 +0.36714377589841574 0.7904472767856271 0 +-0.76347619467299188 -0.30886870342707362 0 +-0.86783869824521254 -0.72818178365013209 0 +0.63894954016794803 -0.59053142309821927 0 +-0.7217945538128121 -0.55997586465475502 0 +0.12045363294876571 0.73262708839649893 0 +-0.41874575655176849 -0.6406311496221665 0 +-0.59389465804033092 0.85063043471986288 0 +0.59141183481043669 0.1498123966290191 0 +-0.36940642474661756 -0.3601834046112295 0 +-0.57353934338982226 0.31178905363577736 0 +-0.50019882766858059 1.1714671498096161 0 +-0.10748268439593667 -0.70929641245881603 0 +0.62713884250756013 0.1665581193003064 0 +0.84090165740314593 -0.77448456247296638 0 +0.44974944753445334 -0.56972002703285252 0 +0.80127088498274635 0.042522712183743969 0 +-0.44300037337068521 -0.52118166814575029 0 +0.25462190668401569 -0.24616706484652168 0 +-0.60062415186977602 -0.15544204740601639 0 +0.77716829504296447 -0.70691872267108558 0 +-0.12755874901456815 -0.91190117723033526 0 +-0.20150062130315444 -0.26399685628819325 0 +-0.63312007345416188 -0.085282515135957249 0 +-0.27676297679059553 0.66108310912810242 0 +-0.38320561434074335 -0.47159511058319176 0 +0.55435275990891653 -0.07696522588463392 0 +-0.42243534127103699 -0.11837119801997019 0 +-0.59705913782110043 0.74956260283419129 0 +-1.0514605001309565 0.032975591529516318 0 +0.48667120427416738 -0.50094396158592447 0 +0.46829442207661709 0.33352476847587226 0 +0.53542712944049109 0.69816869425980932 0 +0.22345275638790432 0.61442936008421856 0 +0.091510759923081414 0.40419348981611525 0 +0.18173690717070959 -0.42089912273043378 0 +0.39426484705086551 -0.022394581172449034 0 +0.011137387082690164 -0.94119143215692735 0 +-0.91454089786253567 0.34953960282806068 0 +-0.81621741200629949 -0.60112125423003793 0 +0.44788244860491572 -0.44017929081823209 0 +-0.63167964873335858 1.0583350880981961 0 +-1.0626696666975155 0.34047552624686167 0 +-0.80920746714300784 0.05356324814056021 0 +0.7377223661976301 -0.011423058236163318 0 +0.12718658690666745 -1.2307880452383715 0 +0.47832271735721482 -0.12587769462720327 0 +0.0055567747758451967 0.32889513389238118 0 +0.1389717779511149 0.015753427255482764 0 +0.16373809624475871 -1.1190573239528168 0 +0.13205221526842367 -0.47401170118163555 0 +0.67902904387195839 -0.54389413185640345 0 +0.52001447575503357 0.70358481674023121 0 +0.23820562827880909 -0.55417929436514091 0 +-1.0293361437755166 0.21069443141122146 0 +0.80754036339099589 -0.45639177716097862 0 +-0.59241730934183423 -0.66999281561576607 0 +0.39908339685989086 0.029311051212292803 0 +-0.4737515825681316 -0.50289615824242306 0 +1.0844570444774611 0.06780021466886893 0 +0.90766577018886729 0.12779204319993814 0 +-0.2290662961763362 0.63202479723213745 0 +-0.18858199188329347 -0.34106827466854933 0 +0.82159147766992668 -0.46707882875175993 0 +-0.55442724911820718 1.0182794035634941 0 +0.47898658405699396 -0.53109126238691484 0 +0.40158292412928664 0.70605770617325858 0 +-0.67388149413140364 -0.67202429473594738 0 +-0.46350585366542657 0.35424144972303168 0 +0.34289720104822585 -0.2336774022491637 0 +0.19648367662924282 0.71895698492604609 0 +-0.14604727916537724 0.0023961576711263532 0 +0.098560777192624016 -0.38530092483837786 0 +0.09085154294587014 -0.1655094131932309 0 +0.40926859624597028 1.0973379360714486 0 +0.55256023433851209 -0.18453884319317368 0 +0.043620873457923003 0.62624581153550674 0 +0.94469231420066146 0.25592449951358237 0 +-0.0094766314477143336 0.45125693213521834 0 +-0.87371649879591362 0.059554674808187831 0 +0.72573135522162679 0.0082075412038852043 0 +-0.75741954612593809 -0.63996218204741162 0 +-0.28338048239296065 -0.37377100483218378 0 +0.0011397212220074946 -0.91767867310964579 0 +-0.5089366679452646 0.068595042788987023 0 +0.86117964636654332 0.27884479181113048 0 +-0.60370344947808019 0.94424764777219627 0 +-0.50003295301169048 -0.39677436245626502 0 +-0.17909345353771045 -0.77323130140242957 0 +-0.55835000037970117 0.18127250206837298 0 +0.18821017438755847 -0.32929935753453082 0 +0.31816755670363667 -0.13883367207408293 0 +-0.79591522366263379 0.20863439744522105 0 +-0.10431284174160757 -0.66626710478586393 0 +-0.38033739052047577 0.33518592122584634 0 +0.21059520929647321 0.3131465722342246 0 +0.60472047764970438 -0.46672827123621385 0 +-0.44048862199264849 0.94229974638429048 0 +1.2342824327202853 0.25986383740978142 0 +-0.46611777976003704 -0.63840046023998875 0 +0.20365175130479796 -0.58213556857234727 0 +0.48820440885187333 -0.32824339412436759 0 +0.050845071291600603 0.1788041035162159 0 +0.28071008752995685 -0.56787867382453383 0 +0.95671238715349638 -0.57935231367068296 0 +0.9920767181999709 -0.61420141284023277 0 +0.77252089866931173 -0.32807103752437022 0 +0.64260646988622405 -0.35147278232643631 0 +-0.43785995008565137 -0.53577192960118802 0 +0.69233393351517702 0.27543255876192885 0 +-0.65568402058799935 -0.60272780969120521 0 +0.4625255728200936 0.004881741234299763 0 +-0.011741693697135602 -0.31908868757272091 0 +-1.1742403679902425 0.22059515883117048 0 +0.32893715170712712 0.85504208832253781 0 +-0.059515035745788175 -0.32736794648141498 0 +-0.20121990153036576 -0.039956669903166549 0 +0.83310215891596751 0.25596183823955998 0 +-0.86873781228042457 -0.5498524149244316 0 +-0.16704850754922396 -0.66697721430851553 0 +-0.076005782525227869 0.61978491283508341 0 +-0.56871933138550179 -0.34919937603141715 0 +-0.013124047040942477 0.43522949619062407 0 +-0.7042566252826914 -0.294904294923855 0 +0.40454706349221525 0.79911667719338508 0 +0.79415278081393137 -0.43088245192158009 0 +0.34210363805929667 -0.17156735313299698 0 +0.77267823554054338 -0.31730724522891363 0 +-0.49827228039132127 0.1873261963979492 0 +1.1868629539327791 0.39395721857121702 0 +0.51489414581151649 0.23790507433848276 0 +-0.15860942067539069 -0.27005625861415722 0 +-0.6230529596358696 -0.11326277280091025 0 +-0.71016938813784836 0.1133945535556045 0 +-0.01910434886566854 -0.088023752173974221 0 +-0.21357060384959303 -0.89757721826416714 0 +0.13894468039657226 -0.96097348719853926 0 +0.031231935784335051 -1.0926787180391218 0 +-0.70020149690668498 0.31089332499747219 0 +-0.57434012863288941 0.9144726109856377 0 +0.18749024642040885 -0.90805098819534746 0 +0.11629107344901522 -0.79205873472965838 0 +-0.26399760978868642 0.66442796371152135 0 +0.63850510200528665 -0.56570439564779729 0 +-0.18374472518604804 -0.40429607875724755 0 +-0.22566846113769345 0.46638572594587169 0 +0.041472003371509691 -0.2232571106960814 0 +0.47462246442104722 -0.63474058402087341 0 +-0.49083268730772128 0.51020564759048559 0 +0.7502820021321237 0.041017900494506154 0 +0.27466789542581876 0.49780533669165689 0 +0.53707708106210994 -0.35674611286067814 0 +0.83427948217689085 0.19830189910689699 0 +-0.058178667043979136 -0.24887075826831528 0 +0.44434139343487172 -0.22170421632206774 0 +-0.97779125367665498 -0.79299748271451254 0 +-1.021896981218168 0.30614072291189859 0 +-0.016884237445196071 -0.13070902882558894 0 +-0.047070122217341526 -1.1536260920528367 0 +0.1768324155669572 -0.95756369598556412 0 +-0.69384803751884183 -0.37750036095941136 0 +0.20008497736916064 0.71486490874073205 0 +0.17827181258076491 0.17020839720757708 0 +-1.0273757624753943 0.24027081598908115 0 +0.59160570529482026 0.83111961524687339 0 +-0.50677161899864709 0.86738515304265706 0 +0.010921115721960506 0.14136748267582216 0 +-0.54806587329501388 -0.28239475114167734 0 +-0.56837610329919819 -0.045249055905846845 0 +0.24946514001866052 -0.45122643484499886 0 +-0.33962600045749358 0.41424507972176861 0 +-0.59923888825685401 -0.6204551307826367 0 +0.48480020786584721 -0.24271173299368212 0 +0.52273074875179959 0.36048820934317544 0 +0.21555507843760149 -0.78023452683157279 0 +-0.44178255898076463 -0.081788579301143333 0 +0.13650236798895057 0.24723449065849773 0 +0.63572335793825974 0.019488839774222864 0 +0.26756564427180857 0.086621574677043206 0 +0.75700144849865547 -0.032276129973494917 0 +0.5344673624679499 -0.47004835591304278 0 +-0.21803907350627083 -0.95555882315469809 0 +-0.25682197176930854 0.47495595306166521 0 +0.45296134920348036 0.1374267929618421 0 +0.29015632627955817 0.55438871667554201 0 +0.48255493164246588 -0.18125067741513934 0 +-0.29940994356722217 -0.14745956369101865 0 +0.26831616907650729 -0.48012659182641787 0 +1.0428223896837145 -0.66309928256444561 0 +-0.10212052971131248 -1.0964293987643736 0 +0.96550172622668706 0.058219811891475758 0 +-0.3404333813382121 0.11100345342633487 0 +0.46927541807235001 -0.67423959262690503 0 +-1.0419147905365824 0.3539968979429855 0 +0.63838606672285791 -0.18307621431625218 0 +0.11196117282878836 -0.20386379530141466 0 +-0.42805839259617312 0.84394568616285714 0 +1.2811680225368482 0.3285655008055825 0 +-0.38017630469182906 0.78454053962136905 0 +-0.23074160851255454 0.17171337692081465 0 +-0.17615114928366585 -1.0054956530098178 0 +0.74865087595640967 -0.7911695114758075 0 +0.11608374260222462 0.7812499500051685 0 +0.63048283747534495 0.94302308758637243 0 +0.32743346215400859 0.81746668704039283 0 +0.20015886827885518 0.43419880148794077 0 +0.67177768749263 -0.45599468071198301 0 +0.37785402239752997 0.48532297222074466 0 +-0.34010088799772764 0.66639805417443454 0 +0.93310909455279878 -0.78628030430540996 0 +-0.051951417790762684 -1.2754708435227615 0 +-0.505560480072892 0.37984726312330702 0 +0.26988715229192528 0.2795623371993452 0 +0.26020138992630376 0.68649456339037507 0 +-0.15576997649191976 0.47122506859566088 0 +-0.31606711483047456 0.87508760605151459 0 +0.041850053234215152 -0.14697315546768686 0 +0.64569065889358823 -0.74772549506281294 0 +-0.38822677826762497 -0.33573795191617145 0 +0.32768670934805144 0.44370542124376139 0 +-0.74614823128134389 0.075215028719559693 0 +0.22122680656487093 0.07988029413231347 0 +-0.7996009194649496 -0.017944752392044093 0 +0.79987848459882549 -0.55654567290291379 0 +0.5419797132392089 0.73181698120745864 0 +0.18961420249222871 -0.55727681819639963 0 +-0.33374348772650186 -0.18282214167128882 0 +-0.69526222723158737 0.13457702373309866 0 +0.46984667129438112 -0.28621714878245547 0 +0.9411095666310797 -0.80986482144200878 0 +-0.40302151449097351 0.27455050514527163 0 +0.51292519982727336 0.59229766391842931 0 +-0.69036280194907818 -0.29120082182047635 0 +0.1485697236572022 -0.96043842852717953 0 +1.1204966043094753 0.28912964578982997 0 +-0.076450540631783956 0.28272034022778697 0 +-0.42022792683127724 -0.58269688376258699 0 +-0.10090469884619097 -0.11357252443207648 0 +-0.6488630199494877 0.35180785085304511 0 +0.021666043286674607 -0.1232471439771558 0 +0.55264939102881461 0.15990202857163205 0 +-0.92013588060446028 0.2209598514487954 0 +0.40366996387720494 0.50238869235195227 0 +0.2070911444604171 0.78503949486579383 0 +0.40735745341176383 0.18318677583968918 0 +-0.18725234896108989 0.79253111481179872 0 +-0.39318696400907183 0.85860174176449533 0 +-0.17010245009914579 0.67446477738035493 0 +-0.64098012398009252 1.102171075938241 0 +-1.2482205066321008 0.21993746217277643 0 +-0.49206999182878297 0.13297321488189903 0 +0.042511300696790051 -0.11182906797135907 0 +0.60213607206732878 0.27947571375635061 0 +0.65398960608754353 0.22931606964077983 0 +-0.056430583568572688 -0.91768136020516589 0 +0.66736866367827341 -0.67197809752937321 0 +0.7028351245346538 0.1186066996419083 0 +-0.0037326993016345341 -0.52303709702167256 0 +0.10108022418873541 -1.0210362526271861 0 +0.16076472219466598 -0.73126293844128554 0 +0.86830372869097983 -0.79245829467346174 0 +-0.53834104417632278 1.0160823890041906 0 +0.063743565168765753 0.14004789975484633 0 +0.20971113458635976 0.73706759635942853 0 +-0.98218588322943379 0.41867379527538029 0 +0.68794415488975869 -0.48517427133159641 0 +1.106231505734389 0.1404374430053229 0 +-1.2536916562004536 0.25262010068031943 0 +-0.32766713356953259 -0.00089786213378726385 0 +0.50799096677151412 0.88307949704211486 0 +0.19436033674584755 0.31259758837670332 0 +-0.22191236711440182 -0.21968678335715536 0 +-0.85075044958260837 0.16526160227393055 0 +0.15633964310975845 0.01273869685328095 0 +-0.36867411400134664 0.72030280170337413 0 +-0.30370024242836174 -0.22624493012877125 0 +0.041305037846044307 -0.18860261285309557 0 +-0.1392438926441891 -0.37396207841379608 0 +0.92604429691028267 -0.66486534173234058 0 +0.2520648200675375 0.99784273308111882 0 +-0.2983473704293424 0.57375928910647822 0 +-0.36221026555204183 0.26892563748139059 0 +-0.56238553229295296 0.075716780792147442 0 +-0.91211659127921496 0.2059278151646009 0 +-0.65910568175620077 -0.2385475928291256 0 +-0.5686124486328612 0.64585618260014155 0 +-0.35518119581632024 0.52814489461043235 0 +0.2011771754068917 0.36185319012145045 0 +-0.11999350012823981 -0.99669540110534005 0 +0.46732879026112017 -0.26776719011515471 0 +-0.77522800663592129 -0.38572243424869168 0 +-0.20174178985057223 -0.07281233455929409 0 +0.56889563907614638 -0.086631302645814756 0 +0.29330752640361168 0.42109298894093028 0 +0.99109187918787645 -0.78156609652095677 0 +1.0666425684745435 0.15980270355445336 0 +-0.94300005002216869 -0.70973404973731569 0 +-0.80855159030655599 -0.021486851455257926 0 +0.46816162178651366 0.71742759004915702 0 +-0.1402566118271811 0.31101220497064808 0 +0.71232243824102293 0.33912537055327119 0 +0.3131897005667299 -0.15311140820636571 0 +-0.31447590535147657 -0.088018696026020027 0 +-0.85003079896014333 -0.85351160297944539 0 +-0.65253276122855974 -0.016169509640250813 0 +-0.39222120198277377 0.52664010895519398 0 +-0.81324574102112113 -0.82224555795143051 0 +-0.16377517756222273 0.71129627191986178 0 +1.2106966805505299 0.2766074521371788 0 +0.55696183133101029 -0.42015309785183647 0 +0.21595141802327514 0.080811580301222721 0 +-0.62657986567859647 0.25129558463840246 0 +0.45097474051607572 0.36218834064631411 0 +-0.30097178535661584 0.029449042717696768 0 +0.4871685800171428 0.37882141422379856 0 +-0.12726056576076297 -0.30669537227865717 0 +0.91399889365221088 -0.70638897603952489 0 +0.48307948711352172 -0.15342632006009804 0 +-0.30812602852933346 0.041589894491231447 0 +-0.13348048964174891 -0.64683487161408781 0 +0.79385055831373075 -0.84305114686942451 0 +-0.33541816805258551 0.84000316892574989 0 +0.36032576831129087 0.95455644277896945 0 +-0.47027552520419208 -0.41946464710965842 0 +1.034753112148191 0.064887601665960526 0 +-0.35623554896293541 -0.1552442996062551 0 +-0.15519131652910367 0.38288500581955598 0 +-0.52197903048832539 0.69436942953153757 0 +0.89627717952589048 -0.51941147512455976 0 +-1.0204276234731842 0.39334022479541297 0 +-0.41766745584995685 -0.28561564295016151 0 +-0.50896064546413522 0.12337095304535452 0 +0.71664554730269847 0.31462610672739127 0 +0.30350743968230842 0.1998856297520204 0 +-0.40515291694976713 0.48203127927801143 0 +0.85101087883667792 -0.42902802635476961 0 +-0.32507636137848467 1.0856010901295332 0 +0.83030128307382656 0.11249973761668403 0 +-0.25063392219500835 -0.13137921290897009 0 +-0.3487393640927573 0.37530389504305783 0 +0.18463163093313767 0.37847926327337378 0 +-0.97347075264880345 0.32956078792545962 0 +-0.97827447137904144 0.37189986120632978 0 +1.2004242545037993 0.23758609825256757 0 +0.56615728945716359 0.87574834932974965 0 +-0.38684748611861552 -0.49858403364274378 0 +-0.54545528405765387 0.97302603185175751 0 +-0.81448914442411791 -0.49506972821703488 0 +-0.88809231341988248 0.33373429133680504 0 +-0.17679505488836819 -0.60532756969130941 0 +0.755109253957018 -0.36445691090399113 0 +0.094252306033532157 -0.51962246035505677 0 +-0.069034482463751518 -0.084206329431702143 0 +0.50756536567196964 -0.60756036993637019 0 +-0.49509161708598309 0.99726093081234024 0 +-0.97214809104419153 0.068555567295371489 0 +0.31705504706330356 0.61649270431712611 0 +-0.4690031186586554 -0.53572270590959536 0 +-0.91270423949676238 0.19046846256478775 0 +-0.61472950207411969 -0.054229072915695294 0 +-1.0041748342773518 -0.764261791995416 0 +-0.57814399649063186 1.085006020283849 0 +1.1833917058842913 0.24140472830184828 0 +-0.66288583129310219 -0.46409511121389935 0 +-0.99128210243575743 0.32177552932265718 0 +-0.29296122201042146 0.44544509627417483 0 +0.22192127406704948 0.56107126891349912 0 +0.43699749677565114 0.49161050962945385 0 +-0.060429611025627265 0.332993425362201 0 +-0.88976057030775701 0.10570810788761431 0 +-0.55029919125332893 -0.23938238457463232 0 +-0.9284297449059371 0.37805589262247774 0 +-0.98170717337482816 -0.55161178543637956 0 +0.33698655230041791 0.15277139874530124 0 +0.41592649209077526 -0.11595245612146234 0 +0.38828385305706159 0.22418565484545974 0 +0.22457970699697699 0.4788949531683005 0 +-0.013761334632153054 -0.21004168569815404 0 +-1.2920050472921518 0.25042606502338988 0 +0.48534964864106217 -0.1018579756737862 0 +0.061044997168722311 -0.72818607469384689 0 +-0.72421684525299734 0.27876355088112531 0 +-0.52112301230841163 -0.52242559228957053 0 +-0.8685210695037755 0.33428279741905503 0 +-0.66471819749274808 0.38258067502188015 0 +-0.59516265187526929 -0.50043584777338668 0 +0.069574856983809094 -0.10853392831686896 0 +0.34329169553314942 0.44096524436311346 0 +-0.88812271561812939 0.36847863209179449 0 +-0.13255907388578436 0.41921322378077058 0 +0.49632073331239329 0.74641219465473829 0 +0.062643104673980238 -1.159367712072896 0 +0.4862333849325457 0.68248480209646967 0 +-1.0064817672979269 -0.60069789588149214 0 +-1.2117514636646174 0.34338806852648157 0 +1.1518919292385963 0.34870232939326812 0 +-0.78019260309151794 0.11208490053444063 0 +1.1039125169958561 0.20308441987407044 0 +-0.49780209403558395 0.21717411478898085 0 +0.58354869369676499 -0.70129652473401871 0 +0.45043030528520955 -0.35161212213162057 0 +0.19429647695835706 -0.83257666883358794 0 +-0.077522855826240133 -0.31280175351512784 0 +0.35024630456840389 1.0144560859556611 0 +0.046900787206335393 0.53990685541349159 0 +-0.58593761208468331 1.0122680621008873 0 +-0.99174027800625042 0.24132101031150988 0 +-0.39853989855579341 0.31895036602186833 0 +0.94264947092709583 0.37018673669433971 0 +-0.24404990365689205 -0.34550893539867117 0 +-0.78299455196492429 0.0085275758211996941 0 +-1.020472079581813 0.38167554173763996 0 +0.19145355753857143 -0.074371013494259716 0 +-0.14553012170078897 -0.031313473783317967 0 +-0.019078185572671023 -0.21628680612465068 0 +-0.24410297563910113 0.18838405681655543 0 +-0.35966530790077023 -0.50167745745465653 0 +-0.92911642140730433 -0.61485516298114884 0 +-0.41629838424109833 0.89479922362454734 0 +0.61316818600752399 -0.73487831132510939 0 +0.29950763764920413 0.33459244287510093 0 +-0.45152592483573956 1.1354935330445064 0 +0.64527677202023037 0.97179999487992452 0 +0.068962329247801296 -1.0648468853535387 0 +-0.77976686416025043 0.32324561320382672 0 +-0.75477341554510591 -0.79933594623131288 0 +0.89197944083246383 0.24664286496736149 0 +0.5654602852451267 0.089440373491287986 0 +0.0091740456084066224 0.085256092582366882 0 +-0.76685573796545115 -0.01371913068783006 0 +0.19329405711881487 -0.14847941466794165 0 +0.70577388949106901 0.2690931100935765 0 +0.88382043302579449 0.014297970523881485 0 +-0.42376850209778272 -0.58537600549794944 0 +-0.82406743177196851 -0.38388299076620275 0 +0.64859025156910666 -0.58924457575304723 0 +0.55153044552566211 -0.27360809486303383 0 +0.79541197006177189 -0.4408980835787098 0 +0.94811106627903585 0.39228563195789351 0 +0.10246656624977368 -1.1597638649027717 0 +0.26441380722490226 0.47341886042071041 0 +0.311458531522465 1.0618570326318426 0 +0.42000358839899554 0.10917910322413697 0 +0.13113835706483803 -1.0461114476286226 0 +0.30326335980847952 -0.056156828484212433 0 +0.38389689783262965 0.86483094927665383 0 +0.52906405223034536 -0.052991726756477404 0 +-0.434648893654003 -0.26235393067649965 0 +0.82392834926833414 -0.68828223734996741 0 +0.56225996511389331 0.73283465249737845 0 +0.83835915536806016 0.35890753654668783 0 +0.97201040176699549 0.13481450964957387 0 +0.69386529870860303 0.14045173634303842 0 +0.44380312674780703 0.54117081875794004 0 +0.47042828319769042 0.91564995899003832 0 +0.50239137018962399 0.37450708889791878 0 +-0.22782306416815151 -0.36687911521657424 0 +-0.57684715334457359 0.99762637541117472 0 +0.62814950192221652 0.26095503867497177 0 +0.13909930856198674 -0.742897460474925 0 +0.46733276946400876 0.4229508983593846 0 +0.20555574456377257 0.11911910694435672 0 +0.13175001377830226 -1.1458603143708359 0 +0.45452846540694541 0.015094395817800565 0 +0.17657887916054971 -1.0802785280806246 0 +-0.50964461468038913 -0.56911252142983448 0 +0.84655119843937376 0.28793419292692762 0 +-0.88862095190443235 -0.72474846928292469 0 +-0.29726335858559394 -0.52998248903834821 0 +0.075229849108994926 -0.015908249850643718 0 +-0.099795643400515555 -0.16717495570115423 0 +-0.87384200117630861 -0.86890630023237381 0 +0.41077339355484344 0.80151980632282227 0 +0.69518349703260518 0.12021566768462287 0 +-0.072325837508084051 -0.8270905980224692 0 +-0.82828098160364627 -0.4333453148548288 0 +-0.27784735414980832 0.090561339222571258 0 +-0.65816233613881647 -0.50800038642260636 0 +-0.45196394042553395 -0.18048166157992787 0 +-0.4555244484263089 -0.32977295008541296 0 +-0.83222422143671759 -0.018235969374459548 0 +-0.92525541319681393 -0.50861982462402189 0 +0.38988795847986868 0.59306204872725687 0 +0.24408888524003383 -0.43645358673258744 0 +-0.10191563068216371 0.51081129680068416 0 +0.065812269521955 -0.65705321250055926 0 +1.1990883374356873 0.24314588570678128 0 +0.12627068433677083 0.281319016600448 0 +0.91892310695546242 0.022464305833901663 0 +-0.23768055788036654 0.038480404781654931 0 +-0.00041529922594731869 -1.1423563546421125 0 +0.30127045042368644 0.039012611174918804 0 +-1.1585392437064599 0.1084729514970057 0 +-0.30762728624676811 -0.40256244503990268 0 +-0.65834671505837128 -0.6981178202830991 0 +-0.90734081986461768 -0.54464984277313844 0 +-0.16522491202807998 0.6116728172566529 0 +-0.24445742329590367 0.44358226563396991 0 +-0.33315004284984839 0.024853391646779729 0 +0.36044209766071744 0.7532219147316761 0 +0.4798865565885565 -0.084230328498068552 0 +0.047162768228748271 0.089001228816081246 0 +-0.60128033307153406 -0.32350549171232301 0 +-0.38538430097223486 0.21870457808731197 0 +0.65928748549876492 -0.070831848166902883 0 +-0.88034575615444732 0.26094913779378787 0 +0.64604382898094992 -0.42476879979189919 0 +-0.03214338360861406 -0.8606512470378942 0 +0.83979862658863902 -0.49756630572714677 0 +0.10914172368023087 -0.19619596037273393 0 +-0.20827737901440341 0.92633162840662608 0 +-0.44658060804813687 0.2911226734414582 0 +0.29130407047850787 -0.11493834930402368 0 +0.41108101780284984 0.81042429307023778 0 +0.034149078442851886 -1.0618608646529015 0 +-0.93780277660618749 0.13152560032859134 0 +-0.21559327830787278 -0.59069657513904861 0 +0.93831104396931175 0.38554764600893016 0 +-0.44048076177486817 0.45126314087179492 0 +-0.51189305667104001 -0.14912620670141993 0 +-0.6034001860958258 1.1266315932004174 0 +-0.31785727823556104 0.31832653947129924 0 +0.19753770993056161 0.6692922197185871 0 +0.93858370073628283 -0.8244640962449602 0 +-0.43505923253742451 -0.40118953477900604 0 +-0.29880675244647614 0.18539044474459274 0 +0.86570249668371135 0.018033401845913219 0 +0.8737237773248413 0.086351759279069323 0 +0.48363679532512543 0.63244584932023784 0 +0.84761516432065143 -0.036899697824867322 0 +0.5302235956241601 -0.55841745716595992 0 +0.71082036845919283 0.27531865277417611 0 +-1.1049478145515306 0.11926117713865948 0 +0.26526033265897042 0.4646201307619226 0 +-0.26636966033954612 0.62990611273349439 0 +0.19106578123230278 -0.36062637437108302 0 +0.18521994977116146 -0.10743689859640479 0 +-0.48369787690792648 0.15768620153959814 0 +-0.58391268360210224 -0.41477439164746743 0 +-0.023808101392911316 -0.39405659986385122 0 +0.5226069960241202 -0.36392828557795109 0 +-0.63483031206318652 -0.41280099106062207 0 +-0.37123850330806174 -0.41917688681729953 0 +-0.32597105660800252 0.37571767417032953 0 +0.9552433187342293 0.00062199794250461515 0 +-0.10655144618922652 0.59679841853013771 0 +-0.41876533069241528 0.9503189200014579 0 +-0.35294100317884775 0.52541045985618362 0 +0.70981914795090162 0.33499170485462182 0 +0.35889586854178657 0.88943542008579002 0 +-0.75765933936053698 -0.80944979388575666 0 +0.60804176020598166 -0.52036123186277605 0 +0.24526831253533835 0.79772181917332186 0 +0.22598712932677895 0.2492437786177458 0 +0.87798298301050304 0.35991561357301505 0 +0.16055985131369427 0.55295033214595257 0 +0.19348969095715085 0.024609697672844266 0 +-0.60206193702577071 0.38741782167334216 0 +-0.19075963894503656 0.095743396541125306 0 +0.1855378872759588 -0.023401407306602492 0 +0.13348350509769422 0.57503975629141035 0 +0.87574075260898876 0.019254495779649217 0 +0.95439883808034631 0.044477905162801652 0 +0.5145474281100676 1.1260365086958473 0 +1.0465171949596008 0.35072358516541702 0 +-0.31901003919716275 0.51012214456182237 0 +-0.42536301864233933 0.82778123046152841 0 +-0.68753617536770195 0.11751575172464736 0 +-0.13065360961125408 0.63094005773848172 0 +0.60170444236350551 0.96214014973753537 0 +-0.92727278736844798 -0.80854931648791395 0 +-0.8720913159132595 0.17599836553117662 0 +-0.14275185035235735 0.75495977675550496 0 +-0.051459051671340815 -1.0767627931894617 0 +-0.42894502643380994 0.59345476317138024 0 +0.72740342333295227 -0.57206031653367106 0 +-0.71416497261179157 -0.47480606282970106 0 +-0.60007392734106235 -0.24553703657007894 0 +0.47749356534817183 1.0652257983356668 0 +-0.0067517703527051774 0.54671012301214461 0 +-0.61090728753925916 -0.15201439213628939 0 +-0.7129404961821364 -0.55093150618564224 0 +-0.61807310224983303 -0.27227647077857459 0 +1.2261239343684487 0.22404661118222913 0 +-0.30947812320234824 0.15879551400326555 0 +0.16356454522199548 0.21619000604028787 0 +1.0341982624757702 -0.78936174330277176 0 +0.27591340962995198 0.074768941645739329 0 +-1.0264815242436618 -0.81301692685239479 0 +-1.0043263881056577 -0.61313708560825264 0 +0.57435713231192131 -0.12571989921981891 0 +0.61578993982275521 -0.48663358843389304 0 +-0.20009370059928328 -0.16587953549115075 0 +-0.71170276941822119 0.11919512102949013 0 +1.1066887360214883 0.30246512747857474 0 +-1.0172818259975136 -0.62851123517521412 0 +-0.1081929829026277 0.10477793420732055 0 +0.44333508300325852 1.1782383871878714 0 +0.28590585273649327 0.23305253836272735 0 +-1.2169460044362312 0.17808718751214497 0 +-0.63209908839815898 0.18840752052003096 0 +-0.2766180389431277 0.73230743022665457 0 +-0.47806969363868568 -0.60139867951311099 0 +-0.3902692621735207 0.64230031719084535 0 +-0.95988140183932946 0.3547136785438546 0 +-0.46174851729444444 0.88467525037049854 0 +-0.86021973360151804 0.011155173882083556 0 +0.22700847656364587 -0.43675443962691451 0 +0.73871416317847949 0.31626445869174247 0 +0.39305370543461182 0.33838701786448122 0 +0.48095249203635698 -0.087490610399717852 0 +0.84278748137826387 0.40470728085255703 0 +0.22219022706561134 0.63944130043786718 0 +-0.27956618876243483 -0.54820047318047727 0 +0.46828793366198623 -0.36499974994027645 0 +-0.015156864821648684 -0.5169242591487142 0 +0.52787583129452864 0.10203474501164139 0 +0.39919121214821901 0.92616670416815572 0 +-0.096594918178256953 -0.68120686623110693 0 +0.12126454006093089 -0.69472513137063929 0 +0.42571108810045272 -0.56866795125744929 0 +0.99262460258287977 -0.85577093227335288 0 +0.76939039790628239 -0.41222421822082095 0 +-0.41755093385782166 0.17545656407526428 0 +0.39880056902977046 0.35791694416293662 0 +0.20933172887233228 -0.44176618706414422 0 +0.23885194671080076 -0.41360047995860333 0 +-0.36538261735019995 0.83173971572099381 0 +0.95567353037523539 -0.87152450768004053 0 +-0.21521621543619948 0.64057131964723613 0 +0.010074435804494984 0.60197304696155285 0 +0.48275748695604132 0.694511944703327 0 +0.70900925250156532 0.015542645974841517 0 +-0.3736391825456048 0.15716465062429144 0 +-0.41503669357880341 0.27330139668638997 0 +0.7666116320955505 -0.043717823078167094 0 +-1.0905933918753425 0.11871682259139343 0 +-1.1902903160343714 0.38382977653856543 0 +-0.31102915346220861 0.99649969625683898 0 +-0.10975895333889323 0.32435472982592417 0 +0.025739306853124422 -1.1599500232311759 0 +-0.70889988659763503 0.10727877902761755 0 +-0.41009714424990223 -0.085977149357599411 0 +0.60554927109654944 1.0270584178287272 0 +-0.59563158372144165 0.32194001767098057 0 +0.018799624014692373 -0.52635582592948382 0 +-0.605031568815249 -0.5083634615946907 0 +-0.59233374154754848 -0.31946042266931474 0 +0.11177811527227893 -0.59379519356726462 0 +0.060420718764829705 -0.38580733993979838 0 +0.26983791905637899 0.30340633024727431 0 +0.67699861183621857 0.078584281733069083 0 +-0.26620400526733579 0.57103699834732913 0 +0.68145329798539001 -0.26812171986246547 0 +-0.21541997421553497 -0.36837339293916949 0 +0.56672020372347709 0.27232144153807003 0 +0.97528609916493325 0.13255958111587621 0 +0.29554098480750018 0.83157826390546918 0 +0.085746301726650917 -0.45313129053477419 0 +0.99504186161854979 -0.67153623691648201 0 +0.55975421021361993 0.2568403903035269 0 +0.14006966198544701 -0.76150313381603152 0 +0.48541419000538066 0.19141872484548714 0 +-0.42109359165522697 0.88797216179827743 0 +0.068965329949076171 -0.6021243434589334 0 +-0.09950159336601562 -1.0316345317129922 0 +-0.29931244776609733 0.13497860361111269 0 +0.57914255422795802 1.0183814370372188 0 +0.17030252592745823 0.63723497120267036 0 +-0.4490592499670305 0.16261162915036842 0 +-0.18725312751403397 -0.088322324173161923 0 +-0.048935892935631206 0.61111256837965977 0 +0.12337458144682602 0.42352018806754582 0 +0.48360667179809191 0.083665634611541237 0 +0.67382010912696544 0.1175817014050584 0 +0.26262349658659428 -0.16191159615441156 0 +0.36268749473197354 0.095061577397600766 0 +-0.082957099318702224 -0.9933120345098625 0 +0.38230475369376299 0.12589289233501 0 +0.47800043801801223 0.86217310719297058 0 +0.78341955988846068 -0.36697676748241825 0 +-0.3502635504985408 0.83534462936520726 0 +0.72176058237376406 -0.29151864338797889 0 +-0.45944651512020002 -0.32339974805697902 0 +0.055099387467105784 0.12023730884503675 0 +0.16063078822909493 -0.78444427339177525 0 +0.21358867395568856 -0.95134930624068947 0 +-0.48451441761059838 -0.070659791660941398 0 +-0.53917466199821185 0.19341732288314739 0 +-0.96838113393311465 0.16560581467242502 0 +-0.15024545221915153 0.47024127692195755 0 +-0.5152198680268838 0.84720365934155928 0 +-0.016399199631297767 -0.18961637194851585 0 +0.82645917273465441 0.36645738612476197 0 +-1.2678249266908341 0.26700043082595393 0 +-0.53676548934944246 -0.45929892470227718 0 +-0.50203891930749578 0.87847123874311883 0 +0.60505063338490039 -0.30743402417932542 0 +0.43639564287524069 -0.62926716071618716 0 +0.50531401695006228 -0.16071954267472524 0 +-0.59014852883454216 -0.12120109328936461 0 +-0.62620767368371766 -0.6363952985409782 0 +-0.84023590462992415 0.18064901144504386 0 +-0.49613207328116776 0.64107435168602311 0 +0.10343738284790915 -0.10362704085436859 0 +-0.41399772106338562 -0.18742269533150793 0 +-0.10805613688346147 0.77112784161407344 0 +0.18833717570950848 -0.53441616571208794 0 +0.26047902502196429 0.25991443628385236 0 +0.92071884967777284 -0.58530936860105387 0 +-0.35013310422117072 0.40403437684311594 0 +-0.2856662689095652 0.43005727449837167 0 +-0.30766498023676792 -0.51967350715746741 0 +-0.70288791582870713 -0.51417871310305607 0 +0.28814951722043985 0.60379984676481113 0 +0.16456670978260471 -0.48744766471182244 0 +0.17049156246167704 -1.0614445944933673 0 +0.81263911656278331 0.14807069766261141 0 +-0.34381753432905937 0.73884855295514851 0 +0.20266377076376685 0.39557313481597434 0 +-0.45925480035241056 0.31379954269489996 0 +-0.41045625743647818 0.71872117085862885 0 +0.12977230760144062 -0.90319153349158265 0 +0.20043718184722764 0.10171915259365524 0 +0.80551858837113277 0.098521580211837712 0 +-0.98538703825311813 0.21391651276047557 0 +0.33196289268391949 0.013423862868673185 0 +-0.78849464194080654 -0.4759607180077316 0 +-0.53729780625849299 0.89889430678110249 0 +0.85045795545612568 -0.76556723827864759 0 +0.60331561518859744 -0.31909170754014421 0 +-0.12477127273040919 -0.70435707858688312 0 +-1.0554296124370797 0.23443604455347059 0 +0.39365767602623547 -0.5679916238694247 0 +0.36462190427853741 -0.23002668282220487 0 +0.6049799359254654 -0.33376663686547708 0 +0.045132031110824262 -0.49066907958247208 0 +-0.26007106163908261 -0.11437139890196855 0 +0.10139732147970086 -0.043220952008712475 0 +-0.49079352082179306 -0.64380057163000748 0 +-0.28165215963532642 0.55380511803053867 0 +-0.21139163469021768 -0.3768805367330828 0 +-0.016384389983474402 0.473982728368252 0 +-0.94437049124051409 -0.79344927418695943 0 +0.68581251529258547 -0.7498720028880983 0 +0.43824529615690688 -0.37049779313791226 0 +-0.68991732403420802 0.027126012703591895 0 +0.35399835599907781 0.64662016273294942 0 +0.044517849569508702 -0.2808806736013319 0 +-0.58586219072691925 -0.60208313528132762 0 +0.36168366773662725 -0.14872408589544217 0 +0.40552856375754776 0.20152274904269477 0 +-0.9290892775966314 -0.5956132093202231 0 +0.086119946168751349 -0.061474806059485985 0 +0.60187576372069895 -0.066448204447200065 0 +0.60490452867987721 -0.017295715306389778 0 +0.42144366234061337 0.27436827263170466 0 +-0.40609963547162425 -0.076212279212527129 0 +0.18533832466924691 -0.88257233891425746 0 +-0.53650300190079081 0.83466390222515652 0 +-0.28254863228103905 -0.089719517252256631 0 +0.31784358930687695 0.27382747901020843 0 +-1.0480882623131984 0.072181895971531768 0 +0.08893790556580429 -0.57395038557299494 0 +-0.29958892566162287 0.28838586592676296 0 +0.75553417429618619 -0.044479477571516088 0 +-0.16603339780164772 0.25012676978713499 0 +0.18115580545363177 -0.030988723773625312 0 +0.22425389748193994 -0.053246254675149894 0 +-0.16794355907275918 0.36276922156301095 0 +-0.45170534636609289 -0.18558798546576005 0 +-1.0727037423171526 0.14175590534441768 0 +0.015799626315732149 0.23288687595670704 0 +0.0055808287529529816 -1.0099342616668376 0 +0.032435838072108591 -0.15737939956558633 0 +0.72296016591819168 -0.58282180973099973 0 +0.45103376807974532 -0.1971586865206944 0 +-0.10141987269019909 -1.1916411623445362 0 +-0.54496603695676271 1.1410239448712687 0 +-0.54545326562268492 0.63511815731454524 0 +0.35959980970032257 0.057105886015228341 0 +-0.89750989435570483 -0.44484997213365074 0 +-0.54590681985300704 0.15698909556765941 0 +3 692 1185 2418 +3 202 522 2137 +3 1108 726 942 +3 726 1108 1612 +3 2478 726 1612 +3 726 2478 2208 +3 1896 2638 942 +3 2638 1108 942 +3 2638 1896 155 +3 169 170 1686 +3 893 97 98 +3 893 96 97 +3 1230 585 2634 +3 306 2589 305 +3 2589 2712 305 +3 1161 1230 2634 +3 887 623 1340 +3 1510 1161 2634 +3 1161 1510 1513 +3 1230 1368 1187 +3 2196 311 312 +3 311 2196 310 +3 2970 1649 1403 +3 1649 2970 2686 +3 1124 1198 2665 +3 1874 692 517 +3 1874 1185 692 +3 2237 2144 1127 +3 2237 1124 2144 +3 1124 2237 1198 +3 1898 1040 2131 +3 715 1898 1975 +3 1040 1898 2926 +3 1898 715 2926 +3 809 1408 2131 +3 1408 1898 2131 +3 525 809 2131 +3 525 2131 2665 +3 1198 525 2665 +3 1805 889 2876 +3 1805 715 1975 +3 715 2321 2926 +3 2321 715 951 +3 889 1013 2876 +3 1013 652 2876 +3 652 1013 464 +3 568 889 751 +3 809 1557 751 +3 1557 568 751 +3 568 1557 2426 +3 2578 1986 2622 +3 2578 1569 1986 +3 1004 2995 624 +3 2995 1004 1612 +3 1108 2995 1612 +3 2995 1108 2228 +3 2995 1327 624 +3 1327 2995 2228 +3 1986 2258 2622 +3 2258 507 2622 +3 507 2258 165 +3 2258 164 165 +3 220 221 2595 +3 1497 2595 771 +3 217 1427 216 +3 2478 1112 2208 +3 726 1203 942 +3 1203 726 2208 +3 1112 1203 2208 +3 1203 1112 1595 +3 158 1987 157 +3 156 2638 155 +3 1108 1799 2228 +3 2638 1799 1108 +3 156 1799 2638 +3 1799 156 157 +3 1799 1987 2228 +3 1987 1799 157 +3 2093 1383 165 +3 1383 507 165 +3 166 2093 165 +3 1046 169 1686 +3 1684 1088 2814 +3 2170 514 1032 +3 514 1407 1032 +3 96 1721 95 +3 893 1721 96 +3 1718 748 1650 +3 748 1718 2125 +3 776 1230 897 +3 776 585 1230 +3 1611 2200 903 +3 2712 2698 305 +3 303 2698 2088 +3 524 887 1340 +3 887 524 1513 +3 2812 887 1513 +3 2812 308 309 +3 2969 1510 2634 +3 585 2969 2634 +3 2969 2712 2589 +3 1510 2969 2589 +3 251 2246 250 +3 2523 1659 1453 +3 1164 524 1340 +3 1164 1161 1513 +3 524 1164 1513 +3 2165 2787 2960 +3 2688 2787 316 +3 2787 2688 1659 +3 2787 1079 2960 +3 2787 1659 1103 +3 2174 357 358 +3 357 2174 356 +3 2994 849 2215 +3 1697 346 2169 +3 345 1697 1861 +3 2406 1839 2215 +3 1839 2994 2215 +3 2994 1839 2169 +3 1839 1697 2169 +3 2375 2406 2215 +3 849 828 2215 +3 828 2375 2215 +3 340 1236 2352 +3 437 692 2418 +3 436 437 2418 +3 1185 851 2418 +3 851 2237 1127 +3 2237 851 1185 +3 2266 367 368 +3 894 2266 2679 +3 2266 894 367 +3 1087 1932 1040 +3 2321 868 2926 +3 868 471 472 +3 868 2321 471 +3 817 1879 512 +3 1908 802 764 +3 802 1930 764 +3 1930 867 518 +3 867 1930 802 +3 2197 1649 2686 +3 1104 2197 2686 +3 2647 914 797 +3 2970 2955 2686 +3 2955 1566 2686 +3 2265 1104 2686 +3 1566 2265 2686 +3 2636 433 2434 +3 867 1619 518 +3 2981 644 1231 +3 2082 44 45 +3 1534 33 1647 +3 1188 1534 1647 +3 792 466 467 +3 466 792 2405 +3 652 2199 2876 +3 792 2199 2405 +3 2199 652 2405 +3 468 469 951 +3 469 470 951 +3 470 2321 951 +3 2321 470 471 +3 1879 1853 512 +3 2144 1853 1127 +3 1207 2636 2434 +3 846 1124 2665 +3 1853 846 512 +3 1124 846 2144 +3 846 1853 2144 +3 2533 809 751 +3 2533 1408 809 +3 2237 2091 1198 +3 2091 1796 1198 +3 2091 2237 1185 +3 1796 2091 1185 +3 715 2322 951 +3 1805 2322 715 +3 2322 2199 792 +3 2322 1805 2876 +3 2199 2322 2876 +3 2322 468 951 +3 2322 792 467 +3 468 2322 467 +3 1811 613 2511 +3 568 1811 2511 +3 1811 568 2426 +3 613 1535 2511 +3 1303 1013 1365 +3 1013 1303 464 +3 1303 463 464 +3 1557 2477 1452 +3 2281 2578 2622 +3 2674 2281 2622 +3 2478 2281 2563 +3 2281 2674 2563 +3 1768 162 163 +3 162 1768 161 +3 1768 160 161 +3 1327 1768 624 +3 164 2465 163 +3 2465 1569 163 +3 1569 2465 1986 +3 2465 2258 1986 +3 2258 2465 164 +3 1004 743 1612 +3 743 1004 2578 +3 224 225 771 +3 223 224 771 +3 221 222 2595 +3 2595 222 771 +3 222 223 771 +3 2372 2165 2960 +3 623 1043 1340 +3 1043 2577 1340 +3 2196 2018 310 +3 2018 623 310 +3 2018 1043 623 +3 225 226 771 +3 226 1307 771 +3 1307 226 227 +3 520 240 2709 +3 2546 2628 2559 +3 2458 1098 2623 +3 1098 705 2623 +3 1068 1098 2458 +3 2484 1497 771 +3 1625 2303 2563 +3 2674 1625 2563 +3 1383 1625 507 +3 507 1625 2622 +3 1625 2674 2622 +3 710 1203 1595 +3 1019 1283 1131 +3 1234 989 1139 +3 989 1234 1553 +3 1234 1019 1131 +3 1553 1234 1131 +3 2094 158 159 +3 160 2094 159 +3 1768 2094 160 +3 2094 1768 1327 +3 893 812 2028 +3 812 100 101 +3 100 812 99 +3 812 101 102 +3 99 812 98 +3 812 893 98 +3 1189 1896 942 +3 2015 1189 942 +3 1896 1189 155 +3 1189 154 155 +3 2563 2140 2064 +3 2491 506 2055 +3 537 1508 1911 +3 1666 583 2486 +3 103 1088 2028 +3 103 812 102 +3 812 103 2028 +3 9 2414 8 +3 2786 2170 1032 +3 2786 1791 2170 +3 2044 2786 1032 +3 2860 1791 74 +3 1791 2860 2170 +3 1634 2515 1931 +3 2607 2515 1634 +3 1401 2607 635 +3 1401 2515 2607 +3 108 2814 107 +3 2138 1849 1348 +3 950 1289 1471 +3 122 552 767 +3 2341 2730 1923 +3 2609 2180 1412 +3 2848 1634 1931 +3 2180 2848 1931 +3 2848 2180 2609 +3 781 2102 2339 +3 2319 1371 2383 +3 961 639 2250 +3 2583 961 2250 +3 1721 94 95 +3 1788 893 2028 +3 1088 1788 2028 +3 1788 1088 1684 +3 2335 794 2712 +3 1097 794 924 +3 794 2335 924 +3 2256 776 897 +3 1661 629 1976 +3 321 322 1976 +3 629 321 1976 +3 1418 2133 1187 +3 2133 740 1187 +3 1418 2219 1103 +3 1368 2219 1187 +3 2219 1418 1187 +3 740 649 1187 +3 1230 649 897 +3 649 1230 1187 +3 342 343 2398 +3 323 871 1512 +3 1611 871 2200 +3 1646 323 1512 +3 323 1646 322 +3 2388 1611 903 +3 306 307 2589 +3 776 1574 585 +3 2335 1574 924 +3 2698 304 305 +3 304 2698 303 +3 2161 2812 309 +3 2812 2161 887 +3 623 2161 309 +3 887 2161 623 +3 1386 2969 585 +3 2969 1386 2712 +3 1386 2335 2712 +3 1574 1386 585 +3 1386 1574 2335 +3 2296 2586 1626 +3 2586 2296 916 +3 1392 2586 916 +3 1659 2520 1453 +3 2688 2520 1659 +3 2219 779 1103 +3 2513 1164 1340 +3 2577 2513 1340 +3 1079 2513 2960 +3 2513 2372 2960 +3 2372 2513 2577 +3 314 641 313 +3 641 314 2165 +3 313 641 312 +3 314 315 2165 +3 2787 315 316 +3 315 2787 2165 +3 1758 960 696 +3 1758 2262 1752 +3 2262 1758 1991 +3 2262 1991 362 +3 1278 1758 696 +3 346 347 849 +3 347 828 849 +3 2994 1438 849 +3 1438 346 849 +3 1438 2994 2169 +3 346 1438 2169 +3 1255 1839 2406 +3 1697 1217 1861 +3 1839 1217 1697 +3 1255 1217 1839 +3 1880 2375 1389 +3 962 2835 2310 +3 2835 962 2948 +3 862 340 2352 +3 1236 1095 2352 +3 1095 862 2352 +3 2471 964 2724 +3 2691 1678 2724 +3 2990 2254 940 +3 434 1814 1119 +3 433 434 1119 +3 2112 2961 1119 +3 1814 2112 1119 +3 437 2537 692 +3 441 2537 440 +3 2537 441 442 +3 693 2933 369 +3 1153 894 1752 +3 894 1153 367 +3 2262 1153 1752 +3 1308 2205 2366 +3 607 2233 2366 +3 2233 1308 2366 +3 2162 497 498 +3 496 497 2852 +3 497 2162 2852 +3 483 484 2108 +3 868 1372 2926 +3 1372 1040 2926 +3 1372 1087 1040 +3 473 868 472 +3 2011 1615 1361 +3 502 2404 814 +3 2569 923 1938 +3 1645 821 1938 +3 821 2569 1938 +3 1974 534 2286 +3 1974 1858 534 +3 1966 2892 797 +3 914 1966 797 +3 690 1706 914 +3 1908 876 2718 +3 2265 876 1104 +3 876 2265 2185 +3 1235 1423 1653 +3 1908 2645 802 +3 2645 867 802 +3 2645 1908 2718 +3 1649 1727 1403 +3 1570 1930 1270 +3 1930 1570 764 +3 2197 1432 1649 +3 1649 1432 764 +3 1432 1908 764 +3 2647 799 914 +3 2726 799 1654 +3 2921 725 622 +3 2603 2970 1403 +3 2603 2921 2970 +3 1529 948 1566 +3 2955 1529 1566 +3 1529 2921 622 +3 2921 1529 2970 +3 1529 2955 2970 +3 2185 2490 2773 +3 2265 2490 2185 +3 948 2490 1566 +3 2490 2265 1566 +3 1858 722 534 +3 564 722 1299 +3 722 564 534 +3 564 2050 534 +3 2050 2109 728 +3 2109 2050 564 +3 931 1474 2756 +3 1474 931 970 +3 1115 2289 1446 +3 2691 2070 1271 +3 2616 661 2636 +3 433 1587 2434 +3 1587 433 1119 +3 2961 1587 1119 +3 865 1505 1738 +3 1505 1823 1738 +3 1823 2836 1738 +3 777 1823 1505 +3 579 1645 1938 +3 579 2630 1645 +3 1616 2285 2428 +3 2019 1969 1586 +3 2738 644 2981 +3 1382 1831 2928 +3 1831 1866 2928 +3 2738 1831 1382 +3 1831 2738 2981 +3 687 1831 2981 +3 730 717 2905 +3 1020 786 941 +3 1888 2693 2706 +3 1888 2022 2693 +3 618 1048 2675 +3 2126 928 2872 +3 618 928 2126 +3 2031 648 1647 +3 1633 2126 2872 +3 928 1633 2872 +3 2031 1633 928 +3 32 1534 31 +3 1534 32 33 +3 33 1339 1647 +3 34 1339 33 +3 1339 2031 1647 +3 1534 2101 31 +3 1188 2101 1534 +3 999 648 2675 +3 1188 999 2675 +3 648 999 1647 +3 999 1188 1647 +3 2648 1774 2748 +3 465 466 2405 +3 465 652 464 +3 652 465 2405 +3 1250 1207 2434 +3 1587 1250 2434 +3 1250 1587 2961 +3 1207 1141 2636 +3 1141 2616 2636 +3 2124 851 1127 +3 2124 1250 2961 +3 1250 2124 1207 +3 2112 2124 2961 +3 2472 1853 1879 +3 2124 2472 1207 +3 1141 2472 1075 +3 2472 1141 1207 +3 1853 2472 1127 +3 2472 2124 1127 +3 1564 2768 2808 +3 817 1431 1879 +3 2257 2831 2962 +3 1597 564 1299 +3 1597 2257 2962 +3 2109 1597 2962 +3 1597 2109 564 +3 935 1320 739 +3 1731 846 2665 +3 846 1731 1932 +3 2131 1731 2665 +3 1040 1731 2131 +3 1932 1731 1040 +3 846 2189 512 +3 2189 846 1932 +3 2495 1805 1975 +3 1805 2495 889 +3 446 1073 1452 +3 1817 446 1452 +3 446 1817 445 +3 2740 2838 613 +3 1073 2740 1452 +3 2838 1963 613 +3 1963 455 456 +3 1963 454 455 +3 2803 1963 456 +3 1963 2803 613 +3 1963 2838 453 +3 454 1963 453 +3 633 359 360 +3 361 633 360 +3 359 633 358 +3 633 361 362 +3 633 2174 358 +3 2174 633 1720 +3 1621 1303 1365 +3 1303 1621 461 +3 662 1013 889 +3 568 662 889 +3 1013 662 1365 +3 662 1535 1365 +3 662 568 2511 +3 1535 662 2511 +3 2803 1624 613 +3 1624 1535 613 +3 1535 1624 1365 +3 1624 1621 1365 +3 462 1303 461 +3 1303 462 463 +3 458 459 2803 +3 1469 1557 809 +3 1469 2477 1557 +3 2281 1193 2578 +3 743 1193 1612 +3 1193 743 2578 +3 1193 2478 1612 +3 1193 2281 2478 +3 1768 2737 624 +3 2737 1569 2578 +3 1569 2737 163 +3 2737 1768 163 +3 2737 1004 624 +3 1004 2737 2578 +3 2372 2193 2165 +3 1352 2805 2196 +3 2805 2018 2196 +3 2805 1352 1524 +3 1457 2097 1748 +3 2097 1710 1748 +3 238 239 520 +3 239 240 520 +3 240 241 2709 +3 1457 1591 2072 +3 1591 1457 1748 +3 2121 1591 1748 +3 1591 2259 2072 +3 2259 1591 2121 +3 203 1480 202 +3 2546 1480 203 +3 1477 2437 1554 +3 2437 1477 916 +3 1265 983 2006 +3 683 1265 2006 +3 201 202 2137 +3 563 2601 2455 +3 2942 2458 2623 +3 2489 2586 1392 +3 1068 818 1038 +3 818 1437 1038 +3 2919 1068 2788 +3 2489 2919 2788 +3 818 2919 1693 +3 2919 818 1068 +3 2919 2489 1392 +3 2500 1068 2458 +3 1068 2500 2788 +3 705 848 2623 +3 2722 1068 1038 +3 2722 1098 1068 +3 1098 2722 705 +3 2484 550 1601 +3 790 217 218 +3 790 1427 217 +3 820 2611 1601 +3 1457 820 1601 +3 820 1457 2072 +3 820 1221 2611 +3 921 214 1427 +3 214 921 213 +3 1221 921 2611 +3 1347 1248 2963 +3 1248 1347 1413 +3 1248 1292 2963 +3 591 1292 1248 +3 1971 1383 2093 +3 1971 1625 1383 +3 1625 1971 2303 +3 166 1971 2093 +3 1971 2020 2303 +3 2020 1971 166 +3 702 2478 2563 +3 702 2563 2064 +3 1264 702 2064 +3 2571 1112 2478 +3 702 2571 2478 +3 2571 702 1264 +3 1112 2571 1595 +3 1508 732 1911 +3 732 2181 1911 +3 732 1658 2181 +3 1283 1812 1131 +3 1812 1994 1131 +3 2314 2763 1595 +3 2763 1283 1595 +3 1034 2015 942 +3 1034 710 1595 +3 1283 1034 1595 +3 1203 1034 942 +3 710 1034 1203 +3 1243 1663 1019 +3 1663 1283 1019 +3 1663 1243 151 +3 1034 1663 2015 +3 1663 1034 1283 +3 2727 989 1553 +3 1875 1234 1139 +3 1875 1139 151 +3 1243 1875 151 +3 1343 1243 1019 +3 1741 2094 1327 +3 1741 1327 2228 +3 1987 1741 2228 +3 2553 153 2015 +3 2553 1663 151 +3 1663 2553 2015 +3 1199 1189 2015 +3 1189 1199 154 +3 153 1199 2015 +3 1199 153 154 +3 1046 168 169 +3 2020 168 1046 +3 2356 2020 1046 +3 2020 2356 2303 +3 2140 2356 2945 +3 2303 2356 2563 +3 2356 2140 2563 +3 699 580 1885 +3 1762 580 888 +3 888 2012 1876 +3 784 2491 2055 +3 537 1588 1508 +3 732 1588 2818 +3 1588 732 1508 +3 1759 1390 1216 +3 128 770 1253 +3 1183 770 129 +3 145 1913 144 +3 1913 143 144 +3 1521 1617 2795 +3 1521 514 1650 +3 1521 2795 1407 +3 514 1521 1407 +3 2160 1599 1684 +3 1599 2160 1617 +3 103 104 1088 +3 2101 30 31 +3 19 20 1544 +3 20 1722 1544 +3 21 1722 20 +3 2381 547 1543 +3 1306 547 2381 +3 1889 48 49 +3 2745 2609 1412 +3 2334 2683 1433 +3 1677 562 896 +3 19 1575 18 +3 2786 2420 1791 +3 77 78 1058 +3 2860 77 1058 +3 87 88 1329 +3 78 556 1058 +3 514 2884 1650 +3 2884 514 2170 +3 1783 2860 1058 +3 1783 1718 1650 +3 1783 1058 1718 +3 2795 2066 1407 +3 2730 2662 1923 +3 2662 2730 1133 +3 989 150 1139 +3 1139 150 151 +3 2727 150 989 +3 675 2896 583 +3 1067 1401 635 +3 547 1067 1543 +3 2071 1840 1039 +3 2071 1802 1806 +3 1802 2071 1039 +3 2592 2968 1918 +3 2968 2184 1918 +3 2184 2968 2461 +3 2461 2968 1257 +3 2968 2592 1257 +3 2180 654 1412 +3 2459 1520 2424 +3 1472 2573 979 +3 2573 1472 1894 +3 2573 2964 1849 +3 2573 1894 1061 +3 2964 2573 1061 +3 1006 128 1253 +3 1959 950 1471 +3 1959 572 950 +3 554 2583 2250 +3 1992 2138 1348 +3 1992 1826 2138 +3 936 1992 1348 +3 2203 1417 767 +3 552 2203 767 +3 2204 2180 1931 +3 2515 2204 1931 +3 1401 2204 2515 +3 2959 813 2796 +3 781 2959 2796 +3 2030 2149 2585 +3 2149 2543 513 +3 2149 2030 2606 +3 2543 2149 2606 +3 2102 922 2339 +3 2030 922 2102 +3 1653 2989 758 +3 1423 2989 1653 +3 1371 1761 2383 +3 1761 2989 1423 +3 2989 1761 1371 +3 2989 545 758 +3 545 2989 1371 +3 545 1653 758 +3 545 1313 1653 +3 1850 2550 773 +3 1850 773 1257 +3 2592 1850 1257 +3 1850 645 908 +3 645 1850 2592 +3 706 1520 825 +3 1428 774 2510 +3 670 1850 908 +3 2479 2901 2128 +3 2319 2479 2128 +3 545 658 1313 +3 1235 1872 2585 +3 612 2251 925 +3 2573 798 979 +3 798 2573 1849 +3 639 798 2430 +3 798 2138 2430 +3 2138 798 1849 +3 1428 631 2936 +3 631 1428 2510 +3 90 1077 1329 +3 91 1077 90 +3 93 94 1721 +3 1077 93 1721 +3 538 1721 893 +3 1788 538 893 +3 538 1788 2125 +3 1718 538 2125 +3 302 2998 301 +3 1822 1182 2088 +3 1182 303 2088 +3 1182 302 303 +3 1182 2998 302 +3 2998 1182 1822 +3 1325 2698 2712 +3 794 1325 2712 +3 1325 1822 2088 +3 1822 1325 1097 +3 1325 794 1097 +3 516 1097 924 +3 2798 1664 2930 +3 1922 2221 555 +3 2221 577 555 +3 1664 2221 1922 +3 2798 2221 1664 +3 1184 2296 1626 +3 1279 2133 1781 +3 2133 1279 740 +3 341 342 2398 +3 341 1236 340 +3 567 871 1611 +3 871 567 1512 +3 567 1646 1512 +3 1646 567 2273 +3 871 324 325 +3 324 871 323 +3 2966 2388 903 +3 2388 2966 2327 +3 2610 307 308 +3 2256 1174 776 +3 1174 1574 776 +3 1174 2256 555 +3 577 1174 555 +3 700 2437 916 +3 847 2520 2688 +3 847 2688 316 +3 317 847 316 +3 2520 847 1453 +3 847 317 1453 +3 1661 2642 629 +3 1660 2642 1781 +3 2642 1279 1781 +3 1279 2642 1661 +3 2523 895 1659 +3 1660 895 2523 +3 1659 895 1103 +3 779 1907 1103 +3 1907 779 1079 +3 1907 2787 1103 +3 2787 1907 1079 +3 779 2684 1079 +3 2684 2219 1368 +3 2684 779 2219 +3 883 641 2165 +3 1352 883 1524 +3 641 883 312 +3 883 2193 1524 +3 2193 883 2165 +3 883 2196 312 +3 883 1352 2196 +3 2656 894 2679 +3 894 2656 1752 +3 960 2857 696 +3 2857 1278 696 +3 1278 2857 1389 +3 1758 646 1991 +3 633 646 1720 +3 646 1278 1720 +3 1278 646 1758 +3 1991 646 362 +3 646 633 362 +3 1012 2174 1720 +3 1278 1012 1720 +3 1012 1278 1389 +3 2375 1012 1389 +3 828 1012 2375 +3 828 348 349 +3 347 348 828 +3 1255 2882 695 +3 2168 2882 2790 +3 2882 2406 2790 +3 2882 1255 2406 +3 1829 1255 695 +3 1829 1217 1255 +3 1682 2990 940 +3 2168 1682 940 +3 1682 2168 2790 +3 1175 2168 940 +3 1175 964 2471 +3 1236 1302 1387 +3 2882 2505 695 +3 2505 1829 695 +3 2375 1342 2406 +3 1880 1342 2375 +3 2406 1342 2790 +3 1342 1880 2790 +3 350 828 349 +3 2174 355 356 +3 2266 906 2679 +3 906 2933 2660 +3 337 1180 336 +3 1459 1180 1152 +3 636 904 1154 +3 904 636 2835 +3 2183 2336 1798 +3 2336 1180 1798 +3 1180 2336 1152 +3 1747 2305 1798 +3 2956 871 325 +3 871 2956 2200 +3 1645 2166 965 +3 2279 2239 870 +3 930 2488 589 +3 2488 1297 589 +3 1883 1620 965 +3 2693 1375 2706 +3 1095 1036 862 +3 1036 1236 1387 +3 1036 1095 1236 +3 1639 964 2300 +3 1126 1639 2300 +3 2254 1639 1126 +3 1447 2471 2724 +3 1678 1447 2724 +3 2014 2691 1271 +3 2014 1678 2691 +3 435 436 2418 +3 620 2112 1814 +3 434 620 1814 +3 851 620 2418 +3 620 435 2418 +3 435 620 434 +3 2124 620 851 +3 620 2124 2112 +3 2537 439 440 +3 443 2537 442 +3 2537 443 444 +3 693 370 371 +3 370 693 369 +3 369 2681 368 +3 2933 2681 369 +3 2681 2266 368 +3 2681 906 2266 +3 906 2681 2933 +3 1301 499 0 +3 569 2746 498 +3 1914 2668 896 +3 2233 863 1308 +3 1308 1962 1010 +3 1372 2545 1501 +3 2545 1372 868 +3 473 2545 868 +3 476 2552 475 +3 2552 1797 475 +3 2545 1797 1501 +3 1797 2545 473 +3 617 478 479 +3 2189 1291 512 +3 2457 1952 2833 +3 1048 2457 2225 +3 2457 1048 1952 +3 2347 1633 1806 +3 2400 609 2461 +3 1316 1030 1363 +3 1774 1030 1300 +3 1030 2648 1363 +3 2648 1030 1774 +3 1780 1308 1010 +3 1308 1780 2205 +3 2669 1316 1351 +3 2891 2669 1351 +3 2669 1030 1316 +3 2669 1488 1030 +3 2230 1048 2225 +3 1048 2470 2675 +3 1171 2470 1363 +3 1282 1529 622 +3 2438 2134 2804 +3 2011 1945 1615 +3 2395 2438 2804 +3 642 2395 2804 +3 2708 642 2804 +3 2134 2708 2804 +3 2708 2134 2011 +3 606 607 2366 +3 1751 2891 1351 +3 2394 2202 816 +3 502 1024 2404 +3 2404 2270 814 +3 1536 2270 2404 +3 850 2824 2843 +3 2143 1576 1110 +3 1576 1474 1110 +3 1474 1576 2756 +3 1474 1089 2953 +3 1089 970 1540 +3 1089 1474 970 +3 1215 1645 965 +3 1215 821 1645 +3 1966 1022 1974 +3 1858 1022 1954 +3 1974 1022 1858 +3 1436 1974 2286 +3 1436 1966 1974 +3 2235 1966 914 +3 1706 2235 914 +3 2235 1706 1954 +3 1022 2235 1954 +3 2235 1022 1966 +3 1584 2433 2493 +3 1584 2726 1654 +3 2909 840 2493 +3 1555 2363 1642 +3 840 2363 2493 +3 2363 840 1642 +3 1555 666 690 +3 2159 876 2185 +3 2901 2159 2128 +3 876 2159 2718 +3 2149 775 2585 +3 2645 807 2383 +3 807 2645 2718 +3 2159 807 2718 +3 807 2159 2901 +3 1727 1787 1600 +3 1787 1727 2351 +3 2456 1727 1197 +3 2433 2456 1197 +3 1277 1727 1649 +3 1727 1277 2351 +3 2041 2197 1104 +3 2041 1432 2197 +3 876 2041 1104 +3 2041 876 1908 +3 1432 2041 1908 +3 1322 690 914 +3 799 1322 914 +3 1322 799 2120 +3 1555 1322 2120 +3 1322 1555 690 +3 799 2075 1654 +3 2075 799 2647 +3 725 2075 2647 +3 2050 1670 534 +3 1966 2518 2892 +3 1436 2518 1966 +3 2518 1436 2343 +3 1615 2253 1361 +3 2109 2617 728 +3 2617 2109 2962 +3 2617 1868 728 +3 2831 2617 2962 +3 2617 2831 1868 +3 1981 1983 1385 +3 1426 1981 1385 +3 2423 1085 2808 +3 1426 1085 1800 +3 484 485 2108 +3 1809 2756 1156 +3 1809 931 2756 +3 931 2005 970 +3 1393 2005 1956 +3 2005 1393 970 +3 2835 1195 2310 +3 636 1195 2835 +3 2866 2143 1110 +3 2866 1115 2143 +3 1901 1115 1446 +3 1115 1901 2143 +3 666 1901 1446 +3 1474 2875 1110 +3 2875 1474 2953 +3 2568 787 1651 +3 616 838 987 +3 954 616 987 +3 616 2289 1499 +3 616 954 2289 +3 2618 375 376 +3 2070 2040 1516 +3 904 2040 1154 +3 2040 904 1516 +3 857 782 511 +3 857 1639 1324 +3 964 857 2724 +3 1639 857 964 +3 2450 2376 1378 +3 373 374 880 +3 372 373 880 +3 1210 2187 1795 +3 1354 2187 1075 +3 2472 1354 1075 +3 1354 2472 1879 +3 1891 2475 2660 +3 2475 906 2660 +3 2353 1891 2450 +3 1069 2254 2990 +3 2731 1069 2990 +3 2107 857 1324 +3 857 2107 782 +3 2107 729 1769 +3 782 2107 1769 +3 2980 832 2881 +3 787 2980 1651 +3 832 2980 787 +3 865 619 1505 +3 884 1376 636 +3 636 1881 1764 +3 1376 1881 636 +3 2865 2980 2881 +3 1150 777 1505 +3 619 1150 1505 +3 1150 619 2051 +3 2865 1150 2051 +3 777 1150 2881 +3 1150 2865 2881 +3 1008 2618 2902 +3 2878 2676 1973 +3 2676 2038 1973 +3 2038 2676 2836 +3 1823 2038 2836 +3 1092 579 1938 +3 579 1092 673 +3 923 1092 1938 +3 673 1092 1270 +3 1092 923 1270 +3 2288 673 1739 +3 2288 579 673 +3 579 2288 2630 +3 795 2288 1739 +3 831 2288 515 +3 2288 795 515 +3 1211 1888 2706 +3 1888 1211 831 +3 1044 2645 2383 +3 1761 1044 2383 +3 1044 1761 1728 +3 684 795 1739 +3 795 684 1619 +3 1619 684 518 +3 684 1930 518 +3 673 684 1739 +3 684 673 1270 +3 1930 684 1270 +3 637 2701 557 +3 2030 2157 2606 +3 2157 2030 2102 +3 2701 1298 557 +3 557 1298 2796 +3 1298 781 2796 +3 1866 2714 2928 +3 506 2425 2055 +3 2818 873 610 +3 2425 873 2055 +3 873 784 2055 +3 784 873 2818 +3 1605 2738 1382 +3 2738 1605 644 +3 1605 2624 644 +3 2556 1676 2019 +3 2556 1491 2142 +3 1491 2556 2019 +3 2019 2927 1969 +3 1676 2927 2019 +3 2760 1382 2928 +3 2556 2760 1676 +3 2022 2883 2693 +3 2416 2022 1745 +3 2416 2632 680 +3 2416 2883 2022 +3 2883 2416 680 +3 1905 2416 1745 +3 2499 2301 1726 +3 2499 1331 2301 +3 875 2037 717 +3 717 2306 2905 +3 2624 1765 644 +3 604 1500 2408 +3 2301 2548 1726 +3 2775 1888 831 +3 2775 672 1745 +3 648 2469 2675 +3 2469 618 2675 +3 2031 2469 648 +3 2469 928 618 +3 2469 2031 928 +3 2071 2529 2841 +3 2529 2071 1806 +3 1633 738 1806 +3 1889 47 48 +3 40 41 678 +3 41 42 678 +3 974 2765 1188 +3 2765 2101 1188 +3 2549 2765 974 +3 1950 1892 1433 +3 974 2326 2748 +3 2326 2648 2748 +3 2326 974 1188 +3 2326 1188 2675 +3 2326 1171 1363 +3 2648 2326 1363 +3 2302 2683 2334 +3 1056 2334 1433 +3 1892 1056 1433 +3 1056 1774 1300 +3 2334 1056 1300 +3 1851 2768 739 +3 1320 1851 739 +3 2046 2768 1564 +3 2747 2046 2282 +3 2046 2247 2282 +3 1431 2992 1879 +3 2016 1578 1564 +3 2046 1578 1968 +3 1578 2046 1564 +3 2831 1596 1983 +3 1983 1596 1385 +3 1596 2016 1385 +3 2247 1539 2282 +3 2495 933 889 +3 1073 447 448 +3 447 1073 446 +3 2845 1073 448 +3 2845 451 2838 +3 2740 2845 2838 +3 2845 2740 1073 +3 2477 2139 1452 +3 2139 1817 1452 +3 2139 444 445 +3 1817 2139 445 +3 2139 2537 444 +3 2838 452 453 +3 451 452 2838 +3 1811 2446 613 +3 2446 2740 613 +3 2446 1811 2426 +3 1557 2446 2426 +3 2446 1557 1452 +3 2740 2446 1452 +3 459 1852 2803 +3 1852 1624 2803 +3 1624 1852 1621 +3 1621 460 461 +3 460 1852 459 +3 1852 460 1621 +3 457 2803 456 +3 457 458 2803 +3 2231 1033 517 +3 1033 1874 517 +3 1874 1033 1185 +3 1033 1796 1185 +3 1469 2042 2477 +3 2193 2058 1524 +3 2058 2805 1524 +3 2018 2058 1043 +3 2949 2121 1748 +3 1572 2949 1748 +3 2163 1572 1748 +3 1710 2163 1748 +3 2163 1710 2988 +3 1486 2163 2988 +3 1629 520 2709 +3 1710 1629 2988 +3 231 232 1307 +3 242 243 2709 +3 241 242 2709 +3 2330 2097 1120 +3 2003 2330 1120 +3 237 1229 236 +3 1229 238 520 +3 1229 237 238 +3 2410 2546 203 +3 2546 2410 2628 +3 2481 522 202 +3 1480 2481 202 +3 2481 1480 2546 +3 522 2481 2559 +3 2481 2546 2559 +3 1859 1810 1265 +3 818 1859 1437 +3 2613 1810 1392 +3 2613 1392 916 +3 1477 2613 916 +3 1688 1248 1413 +3 1688 591 1248 +3 683 2598 1265 +3 2598 1859 1265 +3 1859 2598 1437 +3 978 683 2455 +3 2942 1151 2458 +3 1151 2942 2906 +3 1151 2500 2458 +3 540 1151 2906 +3 1151 540 2732 +3 2054 2489 2788 +3 2586 2054 1400 +3 2489 2054 2586 +3 2575 2190 2788 +3 2500 2575 2788 +3 1151 2575 2500 +3 2558 848 705 +3 2175 1757 1296 +3 1425 2565 705 +3 1425 2722 1038 +3 2722 1425 705 +3 2565 2255 705 +3 1877 1457 1601 +3 550 1877 1601 +3 1877 2097 1457 +3 2097 1877 1120 +3 1877 550 1120 +3 1170 550 2484 +3 744 1170 1307 +3 550 1170 1120 +3 1170 2003 1120 +3 1170 744 2003 +3 1497 601 2595 +3 601 218 219 +3 601 790 218 +3 220 601 219 +3 601 220 2595 +3 2911 2484 1601 +3 2484 2911 1497 +3 2911 601 1497 +3 601 2911 790 +3 1427 215 216 +3 214 215 1427 +3 603 820 2072 +3 207 603 206 +3 603 207 208 +3 820 603 208 +3 603 205 206 +3 2259 603 2072 +3 205 603 2259 +3 212 1221 211 +3 921 212 213 +3 212 921 1221 +3 2854 820 208 +3 2854 1221 820 +3 209 2854 208 +3 1347 1638 1196 +3 1331 1638 1527 +3 1638 1331 1196 +3 505 1292 591 +3 1292 505 1190 +3 2437 505 1554 +3 1460 2571 1264 +3 1460 1264 2064 +3 1460 2314 1595 +3 2571 1460 1595 +3 1658 1825 2181 +3 1026 2818 610 +3 1026 732 2818 +3 732 1026 1251 +3 1628 1812 1283 +3 2763 1628 1283 +3 1812 1628 1994 +3 2844 2463 1876 +3 2012 2844 1876 +3 2844 2012 1147 +3 1614 2844 1147 +3 599 1553 1131 +3 599 2432 1553 +3 1875 2855 1234 +3 1234 2855 1019 +3 2855 1343 1019 +3 2855 1875 1243 +3 1343 2855 1243 +3 2094 1567 158 +3 1741 1567 2094 +3 1567 1987 158 +3 1567 1741 1987 +3 152 2553 151 +3 2553 152 153 +3 167 2020 166 +3 167 168 2020 +3 2945 1537 1216 +3 2356 1537 2945 +3 1537 2356 1046 +3 2783 888 1876 +3 2783 1762 888 +3 544 1762 2908 +3 544 580 1762 +3 580 544 1885 +3 2432 1830 1553 +3 1246 1830 2432 +3 1830 1825 1553 +3 1825 1830 2181 +3 2181 1830 1911 +3 1830 537 1911 +3 1830 1246 537 +3 1246 998 537 +3 998 1614 537 +3 1614 998 2538 +3 998 2432 2538 +3 998 1246 2432 +3 2415 1614 1147 +3 2012 2415 1147 +3 2415 2012 888 +3 2935 1588 537 +3 2491 2935 1129 +3 784 2935 2491 +3 2935 784 2818 +3 1588 2935 2818 +3 1390 2976 2908 +3 1759 2976 1390 +3 1138 1759 1216 +3 1759 1138 1884 +3 2140 1736 2064 +3 1736 1460 2064 +3 1460 1736 2314 +3 1736 953 2314 +3 953 1736 703 +3 953 2763 2314 +3 953 1628 2763 +3 1913 532 1003 +3 532 1913 145 +3 146 532 145 +3 532 146 147 +3 2923 532 147 +3 1599 2780 1684 +3 1788 2780 2125 +3 2780 1788 1684 +3 2780 748 2125 +3 2780 1599 1617 +3 1521 2780 1617 +3 1617 1843 2795 +3 2160 1843 1617 +3 2291 1843 2069 +3 1843 1684 2814 +3 1843 2160 1684 +3 1843 1538 2069 +3 108 1843 2814 +3 1538 1843 108 +3 1088 105 2814 +3 104 105 1088 +3 966 1326 1509 +3 1732 2302 1714 +3 2302 1732 2771 +3 1326 1732 1714 +3 1732 1326 993 +3 1756 1950 2910 +3 2186 2101 1163 +3 2186 30 2101 +3 30 2186 1116 +3 71 72 1791 +3 697 22 23 +3 63 546 62 +3 2448 1889 49 +3 1889 2448 1029 +3 2448 2745 1029 +3 2667 1287 2771 +3 1287 2302 2771 +3 2302 1287 2683 +3 2683 1287 1433 +3 1287 1950 1433 +3 1950 1287 2910 +3 1287 2667 2910 +3 562 1219 896 +3 1219 1914 896 +3 1219 1635 839 +3 1914 1219 839 +3 727 2294 562 +3 1575 17 18 +3 1729 19 1544 +3 1729 1575 19 +3 11 713 2414 +3 713 11 12 +3 10 2414 9 +3 10 11 2414 +3 71 2639 70 +3 2639 2420 70 +3 2639 71 1791 +3 2420 2639 1791 +3 75 2860 74 +3 89 90 1329 +3 88 89 1329 +3 1783 854 2860 +3 2860 854 2170 +3 854 2884 2170 +3 2884 854 1650 +3 854 1783 1650 +3 2204 1573 878 +3 1573 2204 1550 +3 2341 2689 2730 +3 2689 1550 2730 +3 1067 1561 1401 +3 1561 1067 2896 +3 675 1561 2896 +3 2730 1561 1133 +3 1561 675 1133 +3 2066 1494 1407 +3 2671 1494 1946 +3 1666 1494 2671 +3 1494 1666 1407 +3 2103 2291 2069 +3 1538 111 2069 +3 111 2103 2069 +3 2103 111 1824 +3 2766 1644 1417 +3 2766 2834 1644 +3 123 552 122 +3 149 150 2727 +3 675 1224 1133 +3 1224 2671 1946 +3 1133 1224 1946 +3 1224 1666 2671 +3 1666 1224 583 +3 1224 675 583 +3 1067 926 2896 +3 583 926 2486 +3 2896 926 583 +3 926 1067 547 +3 926 1015 2486 +3 1015 926 547 +3 2826 2071 2841 +3 2071 2826 1840 +3 972 1840 908 +3 645 972 908 +3 1840 972 1039 +3 972 645 1039 +3 2973 645 2592 +3 2973 2592 1918 +3 2973 1802 1039 +3 645 2973 1039 +3 1806 2973 1918 +3 1802 2973 1806 +3 1472 1149 2401 +3 2583 1149 961 +3 1997 1472 2401 +3 1894 2699 1061 +3 1066 830 2670 +3 679 1520 2459 +3 679 830 825 +3 1520 679 825 +3 2138 1698 2430 +3 1826 1698 2138 +3 1289 2419 1471 +3 2419 127 128 +3 126 2419 1289 +3 2419 126 127 +3 1006 1713 572 +3 1713 1183 1353 +3 1713 770 1183 +3 770 1713 1253 +3 1713 1006 1253 +3 2222 1006 572 +3 1959 2222 572 +3 2061 1959 1471 +3 2419 2061 1471 +3 2061 2419 128 +3 2061 2222 1959 +3 1006 2061 128 +3 2222 2061 1006 +3 878 2716 1348 +3 2716 936 1348 +3 2203 1422 1417 +3 1186 2203 552 +3 1929 1186 1050 +3 1186 1929 2769 +3 1929 2460 2769 +3 2460 1992 2769 +3 1992 2460 1826 +3 1826 2460 950 +3 1849 1813 1348 +3 2964 1813 1849 +3 1813 2964 1061 +3 654 1813 1061 +3 1813 654 2180 +3 2176 2381 1543 +3 546 2176 62 +3 2176 546 2381 +3 2176 61 62 +3 61 2176 60 +3 58 1450 590 +3 2157 1090 2606 +3 1111 2714 1866 +3 2714 1111 2362 +3 1671 2516 1627 +3 2516 836 1627 +3 836 2516 513 +3 2986 2543 1866 +3 2543 2986 513 +3 2986 836 513 +3 1831 2010 1866 +3 2010 2986 1866 +3 2986 2010 836 +3 2010 1831 687 +3 2319 810 1371 +3 810 545 1371 +3 810 2319 2128 +3 2379 810 2128 +3 1016 2436 2510 +3 1025 2436 503 +3 774 1366 2510 +3 1366 1016 2510 +3 1016 1366 2841 +3 1520 1096 2424 +3 706 1096 1520 +3 706 1047 1288 +3 1047 1997 1288 +3 1997 1047 1472 +3 1047 706 825 +3 1472 1047 1894 +3 1047 2699 1894 +3 830 1047 825 +3 2699 1047 830 +3 1998 1366 774 +3 586 1518 1674 +3 1850 2815 2550 +3 670 2815 1850 +3 2479 1681 2901 +3 807 1681 2383 +3 1681 807 2901 +3 1681 2319 2383 +3 1681 2479 2319 +3 1313 885 1653 +3 885 1235 1653 +3 885 1872 1235 +3 658 1031 1313 +3 1031 885 1313 +3 885 1031 1872 +3 1071 594 1466 +3 922 594 2339 +3 1997 967 1288 +3 967 706 1288 +3 967 1096 706 +3 967 1997 2401 +3 1025 2367 2657 +3 2367 967 2401 +3 2750 631 2510 +3 2750 969 631 +3 969 2750 2657 +3 2436 2750 2510 +3 2750 1025 2657 +3 2750 2436 1025 +3 92 1077 91 +3 92 93 1077 +3 760 1077 1721 +3 538 760 1721 +3 1077 760 1329 +3 2698 1435 2088 +3 1435 1325 2088 +3 1325 1435 2698 +3 1664 991 2930 +3 991 1664 952 +3 2562 2242 1940 +3 2242 1984 1707 +3 2633 2242 2562 +3 2223 2650 1804 +3 2580 1470 736 +3 1470 2863 736 +3 2966 1470 2327 +3 1470 2966 2863 +3 1470 1664 2327 +3 1664 1470 952 +3 2918 2388 2327 +3 322 2002 1976 +3 1646 2002 322 +3 2966 1478 2863 +3 1478 2966 903 +3 2812 2806 308 +3 2806 2610 308 +3 2806 2812 1513 +3 1510 2806 1513 +3 2610 1434 307 +3 1434 1510 2589 +3 307 1434 2589 +3 1434 2806 1510 +3 2806 1434 2610 +3 516 2209 577 +3 2209 1174 577 +3 2209 516 924 +3 1574 2209 924 +3 1174 2209 1574 +3 2296 2260 916 +3 2260 700 916 +3 505 741 1190 +3 741 505 2437 +3 1184 1936 2296 +3 2521 1347 2963 +3 318 319 629 +3 2767 318 629 +3 2642 2767 629 +3 2767 2642 1660 +3 647 1660 1781 +3 647 895 1660 +3 2133 647 1781 +3 647 2133 1418 +3 647 1418 1103 +3 895 647 1103 +3 1202 2513 1079 +3 2684 1202 1079 +3 1202 2684 1368 +3 2513 1202 1164 +3 1202 1368 1230 +3 1161 1202 1230 +3 1164 1202 1161 +3 1157 2656 2679 +3 906 1157 2679 +3 1157 2640 640 +3 1157 906 2640 +3 665 2857 960 +3 1758 665 960 +3 665 1758 1752 +3 2656 665 1752 +3 363 2262 362 +3 363 364 2262 +3 366 1153 2262 +3 1153 366 367 +3 2100 1012 828 +3 350 2100 828 +3 1829 1792 1217 +3 1792 345 1861 +3 1217 1792 1861 +3 345 1792 344 +3 1175 1517 2168 +3 1517 1175 2471 +3 1517 1447 2007 +3 1447 1517 2471 +3 1175 1245 964 +3 964 1245 2300 +3 2254 1245 940 +3 1245 1175 940 +3 1245 1126 2300 +3 1245 2254 1126 +3 1447 2238 2007 +3 1302 2238 1678 +3 2238 1447 1678 +3 1691 1302 1236 +3 1691 341 2398 +3 341 1691 1236 +3 1302 1105 1387 +3 1105 1302 1678 +3 2014 1105 1678 +3 2894 2882 2168 +3 2894 2505 2882 +3 2505 2894 2007 +3 2894 1517 2007 +3 1517 2894 2168 +3 2707 1880 1389 +3 861 2857 640 +3 701 861 640 +3 2707 861 701 +3 2857 861 1389 +3 861 2707 1389 +3 1880 1546 2790 +3 2707 1546 1880 +3 1546 2707 701 +3 1546 2731 2990 +3 1546 1682 2790 +3 1682 1546 2990 +3 1755 2731 2640 +3 1755 2475 1890 +3 1069 1755 1890 +3 1755 1069 2731 +3 906 1755 2640 +3 2475 1755 906 +3 2354 1546 701 +3 1546 2354 2731 +3 337 338 1180 +3 1180 338 1798 +3 338 1747 1798 +3 1747 338 339 +3 1180 2733 336 +3 1459 2733 1180 +3 2536 962 2310 +3 1195 2536 2310 +3 2336 2536 1152 +3 1459 2566 1481 +3 2566 1459 1152 +3 716 2566 1152 +3 1195 1165 716 +3 1165 636 1764 +3 1165 1195 636 +3 997 904 2835 +3 2085 2336 2183 +3 962 2085 2948 +3 2085 2183 2948 +3 2536 2085 962 +3 2085 2536 2336 +3 862 1496 339 +3 1496 1747 339 +3 2305 1496 862 +3 1496 2305 1747 +3 1261 2183 1798 +3 2305 1261 1798 +3 2183 1261 2948 +3 328 2223 1804 +3 2956 890 2200 +3 332 660 331 +3 2005 1547 1956 +3 1547 2005 931 +3 1547 1809 1156 +3 1809 1547 931 +3 2965 666 1555 +3 2756 2332 1156 +3 1835 2332 2756 +3 2332 1835 2329 +3 2630 2887 1645 +3 1771 1280 870 +3 1294 1297 2488 +3 1883 864 1620 +3 864 1476 1620 +3 864 2239 2348 +3 1375 1977 2706 +3 1977 1211 2706 +3 1375 2530 1218 +3 1559 2053 2408 +3 1500 1559 2408 +3 1020 1559 786 +3 1559 1500 786 +3 1280 2115 870 +3 2115 720 870 +3 2626 2279 870 +3 720 2626 870 +3 438 2537 437 +3 438 439 2537 +3 1 2541 0 +3 2541 1301 0 +3 2407 1301 2098 +3 789 2162 498 +3 2746 789 498 +3 1725 569 2649 +3 1725 2746 569 +3 2778 1725 2649 +3 2048 2668 1914 +3 2048 1914 839 +3 1122 2048 839 +3 584 1122 1341 +3 584 2048 1122 +3 2048 2277 2668 +3 584 2277 2048 +3 2277 1341 2744 +3 2277 584 1341 +3 2873 2098 1677 +3 2873 2668 2098 +3 2873 1677 896 +3 2668 2873 896 +3 548 2778 2649 +3 2778 548 2744 +3 1465 863 2744 +3 1717 1962 2941 +3 1465 1717 2941 +3 1962 1767 1010 +3 1767 1717 1167 +3 1717 1767 1962 +3 1767 1488 1010 +3 1488 1767 1030 +3 1920 2334 1300 +3 1797 474 475 +3 474 1797 473 +3 1356 1372 1501 +3 1372 1356 1087 +3 2344 479 480 +3 2344 2323 479 +3 481 1362 480 +3 1362 2344 480 +3 2344 1362 2323 +3 2323 1362 2567 +3 482 1362 481 +3 2897 2323 2567 +3 2323 2897 479 +3 2897 617 479 +3 478 553 477 +3 617 553 478 +3 2839 2897 2567 +3 1854 2839 2567 +3 1854 1489 2324 +3 2839 1854 1709 +3 485 2870 2108 +3 2870 485 2090 +3 1770 2870 1420 +3 919 1291 2440 +3 1291 1055 2440 +3 1356 1055 1087 +3 1055 1356 2440 +3 1087 1055 1932 +3 1055 2189 1932 +3 1055 1291 2189 +3 990 2644 2225 +3 2457 990 2225 +3 990 2457 2833 +3 1815 990 2833 +3 990 1815 2644 +3 1952 712 2879 +3 2347 712 1952 +3 712 2184 2879 +3 2877 618 2126 +3 618 2877 1048 +3 1048 2034 1952 +3 2034 2347 1952 +3 2877 2034 1048 +3 2347 2034 1633 +3 1633 2034 2126 +3 2034 2877 2126 +3 1952 1227 2833 +3 1227 2145 2833 +3 1370 1815 2833 +3 2184 627 2879 +3 627 2184 2461 +3 609 627 2461 +3 1560 609 2400 +3 2890 1560 2400 +3 1370 1560 2890 +3 2145 1560 2833 +3 1560 1370 2833 +3 2868 1780 2891 +3 1751 2868 2891 +3 2868 2394 816 +3 2868 1751 1565 +3 2394 2868 1565 +3 2690 2669 2891 +3 2669 2690 1488 +3 1780 2690 2891 +3 2470 1784 2675 +3 1784 2470 1171 +3 1784 2326 2675 +3 2326 1784 1171 +3 2230 1863 1048 +3 1316 1863 1351 +3 1863 2230 1351 +3 2032 2647 797 +3 1065 2032 1093 +3 725 2753 622 +3 2753 725 2647 +3 2032 2753 2647 +3 2753 2032 1065 +3 2629 1903 1282 +3 2629 2753 1065 +3 2629 1282 622 +3 2753 2629 622 +3 2379 1173 1674 +3 1173 2379 2128 +3 1155 1173 2185 +3 1173 2159 2185 +3 2159 1173 2128 +3 2114 2134 1155 +3 2114 2185 2773 +3 2114 1155 2185 +3 937 1945 1093 +3 2099 2395 642 +3 1948 2099 642 +3 2099 1518 586 +3 2550 2099 773 +3 1518 2099 2550 +3 773 2590 1257 +3 2099 2590 773 +3 2590 2099 1948 +3 2205 723 2366 +3 723 606 2366 +3 1780 723 2205 +3 2202 723 816 +3 1751 1409 1565 +3 2230 927 1351 +3 927 1751 1351 +3 927 2230 2225 +3 2644 927 2225 +3 1409 927 2644 +3 927 1409 1751 +3 2394 704 2972 +3 704 2394 1565 +3 704 1857 2972 +3 704 1815 1857 +3 1409 704 1565 +3 1815 704 2644 +3 704 1409 2644 +3 791 1024 1442 +3 722 881 1299 +3 1024 1723 2404 +3 1035 2932 1865 +3 1268 850 2843 +3 1268 1723 1419 +3 1723 1268 2843 +3 1871 1536 2404 +3 1871 1035 1536 +3 785 1576 2143 +3 768 2374 1600 +3 2374 768 2039 +3 2374 1727 1600 +3 1727 2374 1197 +3 2374 886 1197 +3 2909 1847 1360 +3 1847 1816 1620 +3 2991 2433 1197 +3 886 2991 1197 +3 2433 2991 2493 +3 2991 2909 2493 +3 2991 886 2909 +3 2687 1215 965 +3 1215 2687 1816 +3 1620 2687 965 +3 1816 2687 1620 +3 1215 2454 821 +3 821 2454 2569 +3 2454 768 2569 +3 2631 2909 1360 +3 840 2631 1642 +3 2631 1144 1642 +3 1665 1584 2493 +3 2363 1665 2493 +3 1584 1665 2726 +3 1665 1555 2120 +3 1665 2363 1555 +3 2856 2149 513 +3 2856 775 2149 +3 2516 2856 513 +3 775 2856 1671 +3 2856 2516 1671 +3 2452 775 1671 +3 2452 1235 2585 +3 775 2452 2585 +3 2468 2456 2433 +3 976 2468 2433 +3 2468 976 2603 +3 2468 2603 1403 +3 1727 2468 1403 +3 2456 2468 1727 +3 1350 1277 1649 +3 1277 1350 1570 +3 1350 1649 764 +3 1570 1350 764 +3 1277 500 2351 +3 500 1787 2351 +3 534 866 2286 +3 1670 866 534 +3 2343 2951 1083 +3 2951 1436 2286 +3 1436 2951 2343 +3 866 2951 2286 +3 2951 866 1670 +3 2951 1506 1083 +3 1506 2951 1670 +3 2324 819 2952 +3 1489 819 2324 +3 1770 819 1489 +3 939 2324 2952 +3 2445 2050 728 +3 1444 937 2661 +3 1945 1444 1615 +3 937 1444 1945 +3 995 1258 2591 +3 1953 1258 1083 +3 1258 1953 2591 +3 2313 1564 2808 +3 1085 2313 2808 +3 2313 2016 1564 +3 2313 1085 2016 +3 1085 1487 1800 +3 939 1487 2324 +3 1487 939 1800 +3 1487 1854 2324 +3 2016 2526 1385 +3 1085 2526 2016 +3 2526 1426 1385 +3 2526 1085 1426 +3 485 486 2090 +3 2243 1793 1999 +3 1630 2971 2972 +3 1335 2289 1115 +3 2866 1335 1115 +3 2289 1335 1499 +3 1335 2866 1110 +3 2875 1335 1110 +3 1901 796 2143 +3 796 1901 666 +3 2965 796 666 +3 796 785 2143 +3 2568 611 1865 +3 611 2568 1651 +3 2875 1668 838 +3 1668 2568 1865 +3 1668 2875 2953 +3 787 1668 2953 +3 2568 1668 787 +3 1900 616 1499 +3 616 1900 838 +3 1900 2875 838 +3 1335 1900 1499 +3 1900 1335 2875 +3 2832 2117 1540 +3 2117 1089 1540 +3 1089 2117 2953 +3 2117 2862 2953 +3 1249 787 2953 +3 2862 1249 2953 +3 2025 2040 2070 +3 2025 2070 2691 +3 782 1275 511 +3 2040 1275 1154 +3 1275 2025 511 +3 2025 1275 2040 +3 857 1262 2724 +3 1262 857 511 +3 2178 1210 1001 +3 1210 2178 2187 +3 2178 1136 2616 +3 1891 1775 2450 +3 1775 2376 2450 +3 1136 2043 2616 +3 2043 661 2616 +3 2043 429 661 +3 2043 1136 427 +3 428 2043 427 +3 2043 428 429 +3 432 433 2636 +3 661 431 2636 +3 431 432 2636 +3 804 935 2747 +3 602 865 1738 +3 865 602 383 +3 1136 1985 427 +3 1985 2178 1001 +3 2178 1985 1136 +3 602 378 379 +3 602 382 383 +3 382 602 381 +3 380 602 379 +3 602 380 381 +3 1912 502 814 +3 2353 2939 1737 +3 1856 2939 1378 +3 2939 2450 1378 +3 2939 2353 2450 +3 1608 1069 1890 +3 2475 1608 1890 +3 1608 2475 1891 +3 1607 2107 1324 +3 1639 1607 1324 +3 884 2004 1376 +3 832 2004 2881 +3 2004 1881 1376 +3 1881 2004 832 +3 1881 2059 1764 +3 2059 1881 832 +3 2702 1823 777 +3 2702 777 2881 +3 2702 2038 1823 +3 2038 2702 1449 +3 2004 2702 2881 +3 1449 2702 884 +3 2702 2004 884 +3 1910 1449 884 +3 1910 636 1154 +3 1910 884 636 +3 1275 1910 1154 +3 1910 1275 912 +3 2358 1973 1769 +3 729 2358 1769 +3 1008 2358 729 +3 943 2878 1973 +3 2358 943 1973 +3 943 2358 1008 +3 1973 1730 1769 +3 2038 1730 1973 +3 1730 782 1769 +3 1730 1275 782 +3 2038 920 912 +3 920 2038 1449 +3 920 1910 912 +3 1910 920 1449 +3 2288 509 2076 +3 509 2288 831 +3 509 1211 2076 +3 1211 509 831 +3 1672 1556 672 +3 570 1556 1672 +3 672 1556 1745 +3 1622 1672 515 +3 1622 570 1672 +3 795 1622 515 +3 1622 795 1619 +3 608 2983 687 +3 711 1159 905 +3 1491 2937 2624 +3 2762 637 557 +3 2713 2762 1240 +3 1656 1298 2701 +3 1656 2157 2102 +3 781 1656 2102 +3 1298 1656 781 +3 1209 2714 2362 +3 2399 1209 2362 +3 2582 1209 2399 +3 2714 1209 2928 +3 1209 2582 2928 +3 2179 2362 1346 +3 2179 2399 2362 +3 1913 2337 143 +3 2888 2337 2062 +3 2762 2337 1240 +3 873 1744 610 +3 2241 873 2425 +3 2241 1744 873 +3 1491 1552 2142 +3 1552 1491 2624 +3 2387 2760 2928 +3 2582 2387 2928 +3 2387 2927 1676 +3 2760 2387 1676 +3 1969 2387 1927 +3 2927 2387 1969 +3 2760 899 1382 +3 899 2760 2556 +3 899 2556 2142 +3 1605 899 2142 +3 899 1605 1382 +3 2883 1610 2693 +3 2089 608 687 +3 608 2089 1905 +3 2089 2416 1905 +3 2416 2089 2632 +3 1331 1490 1196 +3 2499 1490 1331 +3 1347 1490 1413 +3 1490 1347 1196 +3 2999 2130 1467 +3 2037 1631 1988 +3 1631 875 1988 +3 875 1631 2037 +3 2817 875 717 +3 875 2817 1988 +3 2037 1855 717 +3 1855 2306 717 +3 1855 2999 1467 +3 2999 1855 2037 +3 644 2498 1231 +3 1765 2498 644 +3 2742 1657 1701 +3 2742 1577 1657 +3 2632 528 680 +3 528 2089 687 +3 2089 528 2632 +3 528 687 2981 +3 1577 528 2981 +3 842 2981 1231 +3 842 1577 2981 +3 1577 842 1657 +3 2498 842 1231 +3 2850 604 1701 +3 604 2850 1500 +3 1657 2850 1701 +3 2130 806 1467 +3 2306 806 2905 +3 806 1855 1467 +3 1855 806 2306 +3 806 2345 2905 +3 2345 806 2130 +3 2345 2130 2754 +3 2009 2499 1726 +3 2548 2009 1726 +3 2999 2009 2548 +3 2009 2999 2037 +3 2009 2037 1988 +3 2130 2467 2754 +3 786 2467 941 +3 2467 2301 941 +3 2467 2548 2301 +3 2720 2498 1765 +3 842 2720 1657 +3 2720 842 2498 +3 1121 2775 831 +3 1121 831 515 +3 1672 1121 515 +3 1121 1672 672 +3 2775 1121 672 +3 1888 663 2022 +3 2775 663 1888 +3 2022 663 1745 +3 663 2775 1745 +3 2584 719 2670 +3 719 2082 45 +3 719 678 2082 +3 1889 719 45 +3 1314 2584 2459 +3 738 1995 1267 +3 1995 738 1633 +3 1995 1339 1267 +3 1995 1633 2031 +3 1339 1995 2031 +3 2390 738 1267 +3 46 1889 45 +3 46 47 1889 +3 1339 35 1267 +3 35 1339 34 +3 2531 39 561 +3 39 2677 561 +3 2677 39 40 +3 2677 2529 561 +3 42 43 678 +3 2082 43 44 +3 678 43 2082 +3 2101 2517 1163 +3 2765 2517 2101 +3 1163 2517 2825 +3 2517 2549 2825 +3 2517 2765 2549 +3 1774 1958 2748 +3 1958 1892 2825 +3 1056 1958 1774 +3 1958 1056 1892 +3 1958 974 2748 +3 2549 1958 2825 +3 1958 2549 974 +3 2643 2334 1402 +3 2643 2302 2334 +3 2302 2643 1714 +3 2220 1320 1795 +3 2220 1851 1320 +3 2187 2220 1795 +3 1354 2220 2187 +3 2768 2060 2808 +3 2060 2423 2808 +3 2060 2482 2423 +3 2768 1498 739 +3 2046 1498 2768 +3 1498 935 739 +3 935 1498 2747 +3 1498 2046 2747 +3 2220 860 2652 +3 860 2220 1354 +3 860 1354 1879 +3 2992 860 1879 +3 2792 1431 817 +3 2792 2992 1431 +3 919 2792 817 +3 2792 2268 2992 +3 1578 2397 1968 +3 2397 1578 2016 +3 1596 2397 2016 +3 742 2831 2257 +3 742 1596 2831 +3 2533 753 1408 +3 753 933 1408 +3 933 753 889 +3 889 753 751 +3 753 2533 751 +3 933 1330 1408 +3 1330 933 2495 +3 1408 1330 1898 +3 1898 1330 1975 +3 1330 2495 1975 +3 2845 450 451 +3 692 1274 517 +3 1274 2231 517 +3 2537 1274 692 +3 2139 1274 2537 +3 1772 1469 809 +3 1033 1772 1796 +3 525 1772 809 +3 1796 1772 1198 +3 1772 525 1198 +3 708 2058 2193 +3 708 2372 2577 +3 708 2193 2372 +3 1043 708 2577 +3 2058 708 1043 +3 2805 1349 2018 +3 1349 2058 2018 +3 2058 1349 2805 +3 2949 2373 2121 +3 2084 2942 2623 +3 2163 2271 1572 +3 2271 2163 1486 +3 2572 1395 1626 +3 1405 1395 256 +3 1405 1184 1626 +3 1395 1405 1626 +3 1405 1936 1184 +3 228 1307 227 +3 228 229 1307 +3 230 231 1307 +3 229 230 1307 +3 232 2816 1307 +3 2816 744 1307 +3 233 2816 232 +3 2816 233 234 +3 2080 2330 2003 +3 2097 2080 1710 +3 2330 2080 2097 +3 1629 2080 520 +3 2080 1629 1710 +3 2080 1229 520 +3 1229 2080 2003 +3 744 1933 2003 +3 1933 1229 2003 +3 2816 1933 744 +3 236 1933 235 +3 1229 1933 236 +3 235 1933 234 +3 1933 2816 234 +3 204 205 2259 +3 2410 204 2259 +3 204 2410 203 +3 1018 2259 2121 +3 1018 2410 2259 +3 2373 1018 2121 +3 1018 2373 2410 +3 2156 2919 1392 +3 1810 2156 1392 +3 834 2156 1810 +3 2919 2156 1693 +3 2156 834 1693 +3 1810 980 1265 +3 1200 980 1810 +3 980 983 1265 +3 853 1200 1810 +3 2309 1859 818 +3 2309 818 1693 +3 834 2309 1693 +3 1688 2784 591 +3 2784 1688 2444 +3 505 691 1554 +3 691 505 591 +3 2528 683 2006 +3 2528 1924 683 +3 717 2528 2006 +3 2528 717 730 +3 1924 2528 730 +3 2601 1109 2455 +3 1109 978 2455 +3 1109 2601 198 +3 2355 2598 683 +3 978 2355 683 +3 833 1151 2732 +3 833 2732 1400 +3 2575 833 2190 +3 833 2575 1151 +3 2054 833 1400 +3 2190 833 2788 +3 833 2054 2788 +3 2106 540 2906 +3 2942 2106 2906 +3 2084 2106 2942 +3 1425 2600 2565 +3 1296 2600 1038 +3 2600 1425 1038 +3 1212 2558 705 +3 2255 1212 705 +3 2558 1212 2821 +3 2605 2255 2565 +3 1170 2466 1307 +3 2466 1170 2484 +3 1307 2466 771 +3 2466 2484 771 +3 2063 2911 1601 +3 2911 2063 790 +3 790 2063 1427 +3 2611 2063 1601 +3 2063 921 1427 +3 921 2063 2611 +3 1221 210 211 +3 2854 210 1221 +3 210 2854 209 +3 1304 1825 1658 +3 1026 664 1251 +3 664 1026 610 +3 2127 1913 1003 +3 2337 2127 1240 +3 2127 2337 1913 +3 1254 2789 2923 +3 532 2789 1003 +3 2789 532 2923 +3 2462 1462 1251 +3 1462 732 1251 +3 732 1462 1658 +3 1462 1304 1658 +3 1304 1462 2462 +3 2081 2462 1251 +3 2789 2081 1251 +3 2081 2789 1254 +3 2844 1970 2463 +3 1970 599 2463 +3 2432 1970 2538 +3 599 1970 2432 +3 2463 2413 1876 +3 2413 2783 1876 +3 2783 2413 1762 +3 544 1533 1885 +3 2073 1533 1884 +3 1533 699 1885 +3 1533 2073 699 +3 1614 1134 537 +3 2415 1134 1614 +3 2935 1134 1129 +3 1134 2935 537 +3 1134 2415 888 +3 1310 1533 544 +3 1310 544 2908 +3 2976 1310 2908 +3 170 2078 1686 +3 1138 1878 1884 +3 2382 1390 2908 +3 2382 2945 1216 +3 1390 2382 1216 +3 1736 1009 703 +3 1628 2635 1994 +3 2635 2880 1994 +3 2285 2173 2428 +3 1491 2173 2285 +3 2173 2019 1586 +3 2173 1491 2019 +3 1399 580 699 +3 2245 800 170 +3 800 2245 1884 +3 2245 2073 1884 +3 1183 2293 1353 +3 1632 2113 959 +3 2207 2777 1689 +3 2207 1632 2777 +3 2207 2113 1632 +3 2780 975 748 +3 975 2780 1521 +3 748 975 1650 +3 975 1521 1650 +3 2814 106 107 +3 105 106 2814 +3 1326 1841 993 +3 966 1841 1326 +3 858 966 1509 +3 1549 697 23 +3 697 1549 2771 +3 24 1549 23 +3 1841 2625 993 +3 2625 1732 993 +3 1732 2625 2771 +3 2625 697 2771 +3 21 2655 1722 +3 22 2655 21 +3 2655 22 697 +3 1722 2655 1544 +3 2655 1841 1544 +3 2655 2625 1841 +3 2828 1756 2910 +3 2667 2828 2910 +3 2828 1549 24 +3 2828 2667 2771 +3 1549 2828 2771 +3 549 2186 1163 +3 2186 549 1116 +3 1756 549 1950 +3 549 1756 28 +3 549 1892 1950 +3 549 1163 2825 +3 1892 549 2825 +3 1226 546 63 +3 1226 1306 2381 +3 546 1226 2381 +3 1219 1836 1635 +3 1836 1219 562 +3 1836 2294 1635 +3 2294 1836 562 +3 1326 1694 1509 +3 1168 1326 1714 +3 2294 1168 1714 +3 727 1168 2294 +3 1168 1694 1326 +3 1694 1168 727 +3 780 2612 1753 +3 1729 780 1575 +3 2346 2612 1886 +3 2612 2346 1753 +3 13 2346 1886 +3 2346 13 14 +3 16 780 1753 +3 16 17 1575 +3 780 16 1575 +3 2612 1531 1886 +3 1531 13 1886 +3 1531 713 12 +3 13 1531 12 +3 944 562 1677 +3 1226 2164 1306 +3 2164 1226 64 +3 947 2420 2786 +3 947 2786 2044 +3 76 77 2860 +3 75 76 2860 +3 79 556 78 +3 79 80 556 +3 556 83 1329 +3 737 1573 1550 +3 737 2689 2341 +3 2689 737 1550 +3 1561 2122 1401 +3 1550 2122 2730 +3 2122 1561 2730 +3 2103 1870 2291 +3 110 111 1538 +3 2834 2539 1644 +3 2029 2662 1133 +3 2029 2766 2662 +3 2834 2029 1133 +3 2766 2029 2834 +3 1494 2052 1946 +3 2052 1494 2066 +3 2052 2539 2834 +3 123 1934 552 +3 2931 1472 979 +3 2931 1149 1472 +3 1149 2931 961 +3 961 2931 639 +3 798 2931 979 +3 2931 798 639 +3 634 1066 2670 +3 1066 634 1029 +3 634 1889 1029 +3 719 634 2670 +3 634 719 1889 +3 772 2699 830 +3 1066 772 830 +3 772 654 1061 +3 2699 772 1061 +3 1177 679 2459 +3 1177 2584 2670 +3 2584 1177 2459 +3 830 1177 2670 +3 679 1177 830 +3 572 1838 950 +3 2480 1826 950 +3 2480 1698 1826 +3 125 1289 1050 +3 125 126 1289 +3 1713 1256 572 +3 1293 1256 1689 +3 1893 1838 572 +3 1838 1893 2739 +3 1893 2885 2739 +3 2885 1293 1689 +3 2885 1893 1293 +3 2829 554 2250 +3 639 2829 2250 +3 2885 2829 2739 +3 2829 639 2430 +3 2739 2829 2430 +3 1698 2378 2430 +3 2378 2739 2430 +3 2378 1838 2739 +3 2716 2217 936 +3 2421 2217 1923 +3 936 2217 2421 +3 2217 2341 1923 +3 2217 737 2341 +3 2217 2716 878 +3 1573 2217 878 +3 737 2217 1573 +3 2331 2421 1923 +3 2662 2331 1923 +3 2766 2331 2662 +3 2331 2766 1417 +3 1422 2331 1417 +3 2874 1422 2203 +3 1186 2874 2203 +3 2874 1186 2769 +3 1992 2874 2769 +3 2331 2874 2421 +3 2874 2331 1422 +3 2874 936 2421 +3 936 2874 1992 +3 2057 2460 1929 +3 1289 2057 1050 +3 2057 1929 1050 +3 2057 1289 950 +3 2460 2057 950 +3 2204 2283 2180 +3 2283 1813 2180 +3 2283 2204 878 +3 2283 878 1348 +3 1813 2283 1348 +3 50 2448 49 +3 56 57 590 +3 57 58 590 +3 58 59 1450 +3 2745 1580 2609 +3 2666 2441 1450 +3 803 2176 1543 +3 2176 803 60 +3 2543 1160 1866 +3 1160 1111 1866 +3 1160 2543 2606 +3 1090 1160 2606 +3 1111 1160 1090 +3 2907 1090 2157 +3 2907 1111 1090 +3 2907 1656 2701 +3 1656 2907 2157 +3 810 1925 2393 +3 2393 1925 1440 +3 2436 2604 503 +3 2604 2436 1016 +3 2826 733 1840 +3 733 1366 1840 +3 733 2826 2841 +3 1366 733 2841 +3 643 670 908 +3 643 1998 670 +3 1840 643 908 +3 1366 643 1840 +3 1998 643 1366 +3 1583 1518 2550 +3 2815 1583 2550 +3 1518 1037 1674 +3 1037 2379 1674 +3 2379 1037 1750 +3 1145 612 925 +3 1145 2194 612 +3 2194 1145 1305 +3 2704 689 658 +3 2704 2393 1440 +3 2704 810 2393 +3 2704 658 545 +3 810 2704 545 +3 1333 2030 2585 +3 1333 922 2030 +3 2557 2194 1305 +3 2959 1699 813 +3 1266 594 1071 +3 813 1266 1334 +3 1266 1071 1334 +3 1699 1266 813 +3 1266 1699 594 +3 626 967 503 +3 967 626 1096 +3 1096 626 2424 +3 626 2604 2424 +3 2604 626 503 +3 1468 2367 1025 +3 2367 1468 967 +3 1468 1025 503 +3 967 1468 503 +3 1515 2367 2401 +3 1632 1695 2777 +3 2889 2251 612 +3 760 754 1329 +3 754 760 538 +3 754 538 1718 +3 1058 754 1718 +3 754 556 1329 +3 556 754 1058 +3 2998 300 301 +3 2692 2998 1822 +3 2692 300 2998 +3 510 1406 1482 +3 2242 891 1940 +3 891 2242 1707 +3 891 2275 1940 +3 902 1470 2580 +3 2377 1080 958 +3 2377 793 1080 +3 535 1279 1661 +3 815 535 1661 +3 1279 535 740 +3 535 815 740 +3 1664 2132 2327 +3 2132 1664 1922 +3 2132 1922 555 +3 632 2918 2327 +3 2918 2148 2388 +3 2388 2148 1611 +3 2148 567 1611 +3 567 2148 2273 +3 2711 632 2284 +3 1388 2002 1646 +3 1388 2711 2002 +3 2599 1478 571 +3 249 576 248 +3 576 247 248 +3 576 249 250 +3 2246 576 250 +3 2979 576 2246 +3 845 1395 1846 +3 845 2979 2246 +3 281 1415 575 +3 320 321 629 +3 319 320 629 +3 1228 1660 2523 +3 1228 2767 1660 +3 1228 2523 1453 +3 317 1228 1453 +3 318 1228 317 +3 2767 1228 318 +3 1157 2608 2656 +3 2608 665 2656 +3 2608 1157 640 +3 2857 2608 640 +3 665 2608 2857 +3 364 365 2262 +3 365 366 2262 +3 1012 2172 2174 +3 2172 355 2174 +3 2172 354 355 +3 354 2172 353 +3 351 2100 350 +3 2417 1792 1829 +3 2417 2505 1000 +3 2505 2417 1829 +3 745 2238 1302 +3 1691 745 1302 +3 745 2505 2007 +3 2238 745 2007 +3 630 701 640 +3 630 2354 701 +3 2640 630 640 +3 1393 1519 1481 +3 909 1195 716 +3 909 2536 1195 +3 909 716 1152 +3 2536 909 1152 +3 1393 587 970 +3 587 1165 970 +3 587 1393 1481 +3 1311 1165 1764 +3 970 1492 1540 +3 1165 1492 970 +3 1492 2832 1540 +3 1492 1311 2832 +3 1311 1492 1165 +3 2229 2835 2948 +3 2229 997 2835 +3 1359 2070 1516 +3 1261 1359 1516 +3 1359 1261 2305 +3 2070 1359 1271 +3 1359 2014 1271 +3 1359 1105 2014 +3 1105 1359 1387 +3 1359 1036 1387 +3 1359 2305 862 +3 1036 1359 862 +3 327 328 2956 +3 2316 328 1804 +3 328 2316 2956 +3 2316 890 2956 +3 2200 1232 903 +3 890 1232 2200 +3 1232 1478 903 +3 1478 1232 571 +3 1461 2599 571 +3 2242 615 1984 +3 1984 615 752 +3 615 765 752 +3 615 2242 2633 +3 765 615 2633 +3 2958 2871 2673 +3 2871 1244 2279 +3 1244 2871 2958 +3 2532 864 2348 +3 864 2532 1476 +3 592 2146 1156 +3 2332 592 1156 +3 592 2332 2619 +3 971 1476 2619 +3 2332 971 2619 +3 1144 971 2329 +3 971 2332 2329 +3 1528 2166 1645 +3 2887 1528 1645 +3 2166 1528 2036 +3 1528 2887 2508 +3 910 1771 870 +3 930 1562 2488 +3 1562 2008 2488 +3 910 1562 930 +3 1562 910 870 +3 2239 1562 870 +3 2008 1562 2239 +3 1687 2166 2036 +3 2166 1687 965 +3 1687 1883 965 +3 805 2008 2239 +3 1637 1375 1218 +3 1637 1977 1375 +3 2182 2129 2076 +3 2129 2288 2076 +3 2288 2129 2630 +3 2530 1652 1218 +3 1652 2485 1218 +3 2485 1652 2715 +3 1773 1020 941 +3 1773 1559 1020 +3 1602 2917 2736 +3 1638 1137 1527 +3 1137 2385 1527 +3 1137 1638 1347 +3 2521 1137 1347 +3 2385 1603 1602 +3 1603 2917 1602 +3 2917 1603 823 +3 2443 930 589 +3 1455 1602 2736 +3 2301 1273 941 +3 1331 1273 2301 +3 2761 569 499 +3 2761 1915 1439 +3 1301 1915 499 +3 1915 2761 499 +3 1222 2233 607 +3 2705 548 2649 +3 569 2705 2649 +3 2761 2705 569 +3 2705 2761 1439 +3 548 698 1181 +3 1915 698 1439 +3 698 2705 1439 +3 2705 698 548 +3 1844 548 1181 +3 1844 2277 2744 +3 548 1844 2744 +3 1844 2407 2098 +3 2407 1844 1181 +3 2668 1844 2098 +3 2277 1844 2668 +3 955 1465 2941 +3 1465 955 863 +3 1962 955 2941 +3 863 955 1308 +3 955 1962 1308 +3 1920 536 1312 +3 1767 536 1030 +3 1030 536 1300 +3 536 1920 1300 +3 1312 536 1167 +3 536 1767 1167 +3 1402 1263 839 +3 759 1263 1402 +3 1263 1122 839 +3 1122 1263 1341 +3 1341 1263 2744 +3 2369 1920 1312 +3 759 2369 1312 +3 2369 759 1402 +3 2334 2369 1402 +3 1920 2369 2334 +3 1717 1563 1167 +3 994 2725 2280 +3 2725 1356 1501 +3 1797 2725 1501 +3 2725 1797 2552 +3 2280 2725 2552 +3 1362 1132 2567 +3 1132 1854 2567 +3 1854 1132 1489 +3 1132 1770 1489 +3 476 1336 2552 +3 1336 2342 2552 +3 2272 2280 2552 +3 2342 2272 2552 +3 2272 994 2280 +3 1700 2839 1709 +3 2342 1700 1709 +3 1700 2342 617 +3 2897 1700 617 +3 2839 1700 2897 +3 2723 1085 2423 +3 1854 2723 2423 +3 2723 1487 1085 +3 1487 2723 1854 +3 2096 919 817 +3 919 2096 1291 +3 2096 817 512 +3 1291 2096 512 +3 2184 856 1918 +3 712 856 2184 +3 856 712 2347 +3 856 1806 1918 +3 856 2347 1806 +3 1370 761 1815 +3 1815 761 1857 +3 761 1370 2890 +3 1560 911 609 +3 627 911 2879 +3 911 627 609 +3 911 1560 2145 +3 1227 911 2145 +3 911 1952 2879 +3 911 1227 1952 +3 1086 2868 816 +3 2868 1086 1780 +3 723 1086 816 +3 1086 723 1780 +3 2473 2690 1780 +3 2690 2473 1488 +3 2473 1780 1010 +3 1488 2473 1010 +3 1404 2470 1048 +3 1863 1404 1048 +3 1404 1863 1316 +3 1404 1316 1363 +3 2470 1404 1363 +3 1903 2984 1282 +3 1529 2984 948 +3 1282 2984 1529 +3 1945 1523 1093 +3 1523 1945 2011 +3 2134 1523 2011 +3 1523 2114 2773 +3 2114 1523 2134 +3 2985 1065 1093 +3 2985 2629 1065 +3 2629 2985 1903 +3 1523 2985 1093 +3 2985 1523 1903 +3 2940 1173 1155 +3 937 2092 2661 +3 2032 2092 1093 +3 2092 937 1093 +3 1675 2099 586 +3 2099 1675 2395 +3 2395 1675 2438 +3 1675 586 1674 +3 593 2890 2400 +3 1953 2827 2591 +3 1384 2211 2591 +3 2211 995 2591 +3 2663 1507 1793 +3 1507 2663 1857 +3 761 1507 1857 +3 2824 2700 2843 +3 2700 1723 2843 +3 791 2188 1024 +3 2188 1723 1024 +3 881 2188 1299 +3 2188 1597 1299 +3 1597 2188 1442 +3 2188 791 1442 +3 1260 1706 690 +3 2842 850 2252 +3 2842 2824 850 +3 1035 1128 2932 +3 1871 1128 1035 +3 2842 1128 1871 +3 1128 2842 2252 +3 954 1128 2252 +3 1128 954 987 +3 1636 785 1835 +3 785 1636 1576 +3 1636 1835 2756 +3 1576 1636 2756 +3 1475 2374 2039 +3 1816 1475 2039 +3 1847 1475 1816 +3 1241 2454 1215 +3 1241 1816 2039 +3 1241 1215 1816 +3 768 1241 2039 +3 2454 1241 768 +3 1584 2290 2433 +3 2290 976 2433 +3 2290 1584 1654 +3 976 2290 1654 +3 1072 976 1654 +3 2075 1072 1654 +3 2603 1072 2921 +3 976 1072 2603 +3 1072 725 2921 +3 1072 2075 725 +3 2594 840 2909 +3 2631 2594 2909 +3 2594 2631 840 +3 2631 2370 1144 +3 2370 971 1144 +3 971 2370 1476 +3 2370 2631 1360 +3 2412 1665 2120 +3 1665 2412 2726 +3 799 2412 2120 +3 2412 799 2726 +3 2147 1277 1570 +3 2147 500 1277 +3 923 2147 1270 +3 2147 1570 1270 +3 2147 923 2569 +3 2534 1953 1083 +3 2292 2402 2389 +3 2402 2993 2389 +3 2993 2534 1083 +3 2534 2993 2402 +3 1074 1670 2050 +3 1074 1506 1670 +3 1225 1778 1420 +3 2870 1225 1420 +3 1225 2870 2090 +3 1778 707 1420 +3 707 1770 1420 +3 707 819 1770 +3 2757 2831 1983 +3 2757 595 2831 +3 2914 707 1778 +3 707 2914 819 +3 1281 1426 1800 +3 1281 1981 1426 +3 939 1281 1800 +3 1868 2318 728 +3 2318 2445 728 +3 2831 2318 1868 +3 595 2318 2831 +3 2967 1258 995 +3 2065 2967 995 +3 2967 2343 1083 +3 1258 2967 1083 +3 495 1158 494 +3 1158 496 2852 +3 1158 495 496 +3 735 493 494 +3 607 2396 2852 +3 486 487 2090 +3 1225 487 2411 +3 487 1225 2090 +3 1206 2663 1793 +3 2243 1206 1793 +3 1630 1206 2243 +3 2663 1206 1857 +3 1857 1206 2972 +3 1206 1630 2972 +3 1630 852 2971 +3 852 2243 1999 +3 785 1464 1835 +3 796 1464 785 +3 1464 796 2965 +3 1835 1464 2329 +3 1464 1144 2329 +3 1144 1464 1642 +3 1464 1555 1642 +3 1464 2965 1555 +3 611 1845 1865 +3 619 1845 2051 +3 2267 1668 1865 +3 1668 2267 838 +3 2932 2267 1865 +3 838 2267 987 +3 2267 1128 987 +3 1128 2267 2932 +3 2474 2117 2832 +3 2117 2474 2862 +3 1311 2474 2832 +3 2862 2474 1764 +3 2474 1311 1764 +3 588 832 787 +3 1249 588 787 +3 2059 588 1764 +3 588 2059 832 +3 588 2862 1764 +3 588 1249 2862 +3 374 1483 880 +3 1504 2691 2724 +3 1504 2025 2691 +3 1262 1504 2724 +3 2025 1504 511 +3 1504 1262 511 +3 1842 2178 2616 +3 1842 1141 1075 +3 1141 1842 2616 +3 2187 1842 1075 +3 2178 1842 2187 +3 1143 693 371 +3 1143 2933 693 +3 2933 1143 2660 +3 1143 1891 2660 +3 1775 2903 2376 +3 2376 2903 880 +3 2903 372 880 +3 372 2903 371 +3 429 430 661 +3 430 431 661 +3 804 1410 935 +3 1410 804 1210 +3 935 1410 1320 +3 1320 1410 1795 +3 1410 1210 1795 +3 2105 2747 2282 +3 2105 804 2747 +3 2232 2105 2282 +3 2105 2232 1598 +3 1210 1548 1001 +3 2878 2476 2676 +3 2476 602 1738 +3 2836 2476 1738 +3 2676 2476 2836 +3 2391 2476 2902 +3 2476 2391 602 +3 2391 2618 376 +3 2618 2391 2902 +3 426 1985 1001 +3 1985 426 427 +3 377 1411 376 +3 504 378 602 +3 2391 504 602 +3 377 504 1411 +3 504 377 378 +3 1411 504 376 +3 504 2391 376 +3 2270 2317 814 +3 2317 619 865 +3 385 2317 865 +3 2320 1912 814 +3 2107 1990 729 +3 1990 2939 1856 +3 1990 1856 2618 +3 1990 1008 729 +3 1008 1990 2618 +3 2939 769 1737 +3 1607 769 2107 +3 769 1990 2107 +3 1990 769 2939 +3 769 1639 2254 +3 769 1607 1639 +3 1379 2353 1737 +3 2353 1379 1891 +3 1379 1608 1891 +3 1035 2924 1536 +3 2924 1035 1865 +3 1845 2924 1865 +3 2924 1845 2442 +3 943 625 2878 +3 2476 625 2902 +3 625 2476 2878 +3 625 1008 2902 +3 625 943 1008 +3 2597 2038 912 +3 2597 1730 2038 +3 1275 2597 912 +3 1730 2597 1275 +3 193 194 2428 +3 714 2774 563 +3 2774 714 1832 +3 1556 2813 1728 +3 2813 1556 570 +3 1622 2813 570 +3 1556 1485 1745 +3 1485 1905 1745 +3 1485 608 1905 +3 1485 1556 1728 +3 1827 2010 687 +3 2983 1827 687 +3 836 1827 1627 +3 2010 1827 836 +3 1754 711 730 +3 711 1754 1159 +3 1754 730 2905 +3 1159 1754 2905 +3 711 2227 730 +3 2227 711 1606 +3 2227 1924 730 +3 1819 918 1606 +3 711 1819 1606 +3 1819 711 905 +3 918 541 1832 +3 541 1616 2428 +3 194 541 2428 +3 541 1819 1616 +3 1819 541 918 +3 1924 686 683 +3 683 686 2455 +3 686 563 2455 +3 686 714 563 +3 2447 1765 2624 +3 2720 2447 1937 +3 2447 2720 1765 +3 1704 2285 1616 +3 1704 1491 2285 +3 1704 2937 1491 +3 2728 2937 905 +3 1159 2728 905 +3 2851 2728 1937 +3 2728 2851 2624 +3 2937 2728 2624 +3 2762 2021 637 +3 2021 2762 2713 +3 637 2021 1346 +3 2021 2179 1346 +3 1743 2582 2399 +3 2387 1743 1927 +3 1743 2387 2582 +3 1338 557 2796 +3 141 2337 2888 +3 141 2888 140 +3 1749 2241 1541 +3 1605 2311 2624 +3 2311 1552 2624 +3 2311 1605 2142 +3 1552 2311 2142 +3 1610 1864 2053 +3 1864 1610 2883 +3 2053 1864 2408 +3 1490 1568 1413 +3 1568 1490 2499 +3 2009 1568 2499 +3 1568 1688 1413 +3 1688 1568 1988 +3 1568 2009 1988 +3 2999 1454 2130 +3 1454 2999 2548 +3 1454 2467 2130 +3 2467 1454 2548 +3 945 717 2006 +3 945 2817 717 +3 983 945 2006 +3 2801 2883 680 +3 2742 2801 680 +3 2801 2742 1701 +3 2801 1864 2883 +3 604 2801 1701 +3 2801 604 2408 +3 1864 2801 2408 +3 2742 653 1577 +3 653 528 1577 +3 653 2742 680 +3 528 653 680 +3 2850 1355 1500 +3 1500 1355 786 +3 2728 721 1937 +3 721 2728 1159 +3 1355 2886 786 +3 2529 1807 561 +3 1807 2531 561 +3 38 2672 37 +3 2672 2390 37 +3 39 2672 38 +3 2672 39 2531 +3 2390 2672 738 +3 2672 1807 738 +3 1807 2672 2531 +3 2390 36 37 +3 36 2390 1267 +3 35 36 1267 +3 1441 2677 40 +3 1441 40 678 +3 719 1441 678 +3 1441 719 2584 +3 2604 1848 2424 +3 1848 2459 2424 +3 1848 1314 2459 +3 934 1402 839 +3 1635 934 839 +3 1205 934 1635 +3 934 2643 1402 +3 2643 934 1205 +3 1511 2294 1714 +3 2643 1511 1714 +3 1511 2643 1205 +3 2294 1511 1635 +3 1511 1205 1635 +3 860 2177 2652 +3 2177 860 2992 +3 2268 2177 2992 +3 2060 1113 2482 +3 1113 2268 2482 +3 1113 2060 2768 +3 1113 2177 2268 +3 2482 1590 2423 +3 1854 1590 1709 +3 1590 1854 2423 +3 2033 919 2440 +3 2033 2792 919 +3 994 2033 2440 +3 2033 994 1709 +3 1590 2033 1709 +3 2792 2033 2268 +3 2268 2033 2482 +3 2033 1590 2482 +3 1919 2397 1596 +3 1919 742 2247 +3 742 1919 1596 +3 2397 1919 1968 +3 1919 2046 1968 +3 2046 1919 2247 +3 2155 742 2257 +3 742 2155 2247 +3 2155 1539 2247 +3 2155 1597 1442 +3 1597 2155 2257 +3 449 2845 448 +3 449 450 2845 +3 596 2139 2477 +3 596 1274 2139 +3 2042 596 2477 +3 596 2042 2231 +3 1274 596 2231 +3 2946 2042 1469 +3 1772 2946 1469 +3 2042 2946 2231 +3 2946 1033 2231 +3 2946 1772 1033 +3 2373 2380 848 +3 2380 2373 2949 +3 848 2380 2623 +3 2380 2084 2623 +3 2380 2271 2084 +3 2380 2949 1572 +3 2271 2380 1572 +3 2373 1357 2410 +3 2628 1357 2559 +3 2410 1357 2628 +3 1357 2821 2559 +3 1357 2558 2821 +3 1629 2749 2988 +3 2749 2853 2988 +3 2749 1629 2709 +3 676 1486 2988 +3 2853 676 2988 +3 676 845 1846 +3 845 676 2979 +3 1148 2572 1626 +3 1803 1405 258 +3 1405 1803 1936 +3 1803 258 259 +3 1140 1803 259 +3 1803 1140 1936 +3 980 1242 983 +3 1242 945 983 +3 945 1242 2817 +3 1242 980 2444 +3 1688 1242 2444 +3 1242 1688 1988 +3 2817 1242 1988 +3 1673 980 1200 +3 1673 853 1062 +3 853 1673 1200 +3 2444 1673 1062 +3 980 1673 2444 +3 581 2613 1477 +3 2613 581 1810 +3 581 853 1810 +3 581 1477 1554 +3 853 581 1062 +3 1332 2309 834 +3 2309 1332 1859 +3 1332 834 1810 +3 1859 1332 1810 +3 1942 2784 2444 +3 1942 2444 1062 +3 581 1942 1062 +3 1942 581 2810 +3 2858 691 591 +3 1109 1679 978 +3 1679 2355 978 +3 2106 1708 540 +3 676 1708 1486 +3 1708 2271 1486 +3 1708 1148 540 +3 2271 1708 2084 +3 1708 2106 2084 +3 171 2245 170 +3 2600 560 2565 +3 560 2605 2565 +3 2605 560 1757 +3 1757 560 1296 +3 560 2600 1296 +3 2605 1532 201 +3 1532 2605 1757 +3 1532 200 201 +3 2175 1532 1757 +3 1532 2175 199 +3 200 1532 199 +3 522 650 2137 +3 650 522 2559 +3 2821 650 2559 +3 1212 650 2821 +3 149 674 148 +3 674 149 2727 +3 674 2727 1553 +3 1825 674 1553 +3 1448 2923 147 +3 2785 2713 1240 +3 2127 2785 1240 +3 2785 2127 2713 +3 1522 2789 1251 +3 664 1522 1251 +3 1522 664 917 +3 2524 1522 917 +3 1017 1304 2462 +3 2081 1017 2462 +3 1017 2081 1254 +3 1017 1448 1304 +3 1017 1254 2923 +3 1448 1017 2923 +3 2898 2844 1614 +3 2898 1970 2844 +3 2898 1614 2538 +3 1970 2898 2538 +3 872 1310 2976 +3 872 1759 1884 +3 872 2976 1759 +3 1533 872 1884 +3 1310 872 1533 +3 1204 800 1884 +3 1878 1204 1884 +3 800 1204 170 +3 1204 2078 170 +3 2224 1138 1216 +3 2224 1046 1686 +3 2078 2224 1686 +3 1537 2224 1216 +3 2224 1537 1046 +3 2913 2140 2945 +3 2382 2913 2945 +3 2913 2382 829 +3 1009 2913 829 +3 2913 1736 2140 +3 2913 1009 1736 +3 2880 1319 1994 +3 1994 1319 1131 +3 1319 599 1131 +3 599 1319 2463 +3 2382 1779 829 +3 1762 1779 2908 +3 1779 2382 2908 +3 1009 526 703 +3 526 953 703 +3 953 526 1628 +3 526 2635 1628 +3 2735 1808 788 +3 2735 2173 1586 +3 2173 2735 788 +3 1969 2735 1586 +3 2735 2551 1808 +3 176 2996 175 +3 130 1183 129 +3 130 2293 1183 +3 2293 2847 2154 +3 1338 2847 2888 +3 2847 1338 2796 +3 694 2847 2796 +3 2847 694 2154 +3 813 694 2796 +3 694 2207 2154 +3 2207 694 2113 +3 1928 2293 2154 +3 2207 1928 2154 +3 2293 1928 1353 +3 1928 2207 1689 +3 1526 858 2781 +3 1526 1729 1544 +3 858 2212 966 +3 1841 2212 1544 +3 2212 1841 966 +3 2212 1526 1544 +3 1526 2212 858 +3 2625 2734 697 +3 2734 2655 697 +3 2655 2734 2625 +3 25 2828 24 +3 2828 1194 1756 +3 1756 1194 28 +3 1194 27 28 +3 25 1194 2828 +3 64 2068 63 +3 2068 1226 63 +3 1226 2068 64 +3 2561 1015 547 +3 2561 1458 1015 +3 2561 547 1306 +3 1458 2561 1306 +3 1696 727 562 +3 1696 1694 727 +3 1694 1696 1509 +3 2781 1696 1315 +3 1696 858 1509 +3 858 1696 2781 +3 780 1002 2612 +3 2811 1002 1315 +3 1002 2811 2451 +3 1374 2781 1315 +3 1002 1374 1315 +3 1374 1002 780 +3 1374 1526 2781 +3 1374 780 1729 +3 1526 1374 1729 +3 2346 15 1753 +3 15 2346 14 +3 15 16 1753 +3 1791 73 74 +3 72 73 1791 +3 1980 6 7 +3 2414 2104 8 +3 713 2104 2414 +3 2104 1531 2612 +3 1531 2104 713 +3 1094 944 1677 +3 944 1594 2512 +3 947 1979 2420 +3 1979 947 2017 +3 2420 1979 70 +3 1979 69 70 +3 69 1979 68 +3 2164 1979 2017 +3 1458 1545 1015 +3 1015 1545 2486 +3 1545 1666 2486 +3 1666 1545 1407 +3 1545 2044 1032 +3 1407 1545 1032 +3 947 977 2017 +3 977 1458 1306 +3 977 1545 1458 +3 2164 977 1306 +3 977 2164 2017 +3 977 947 2044 +3 1545 977 2044 +3 82 83 556 +3 83 84 1329 +3 1479 2122 1550 +3 1479 2204 1401 +3 2204 1479 1550 +3 1551 2066 2795 +3 1551 1870 2066 +3 1843 1551 2795 +3 1551 1843 2291 +3 1870 1551 2291 +3 109 1538 108 +3 109 110 1538 +3 2658 1592 1837 +3 2052 1895 2539 +3 1895 2052 2066 +3 2052 1394 1946 +3 1394 2052 2834 +3 1394 1133 1946 +3 1394 2834 1133 +3 1179 123 124 +3 1179 1934 123 +3 1934 1179 1050 +3 1179 125 1050 +3 125 1179 124 +3 844 1186 552 +3 1934 844 552 +3 1186 844 1050 +3 844 1934 1050 +3 772 2000 654 +3 2000 772 1066 +3 654 2000 1412 +3 2000 1066 1029 +3 2000 2745 1412 +3 2745 2000 1029 +3 1256 1972 572 +3 1972 1256 1293 +3 1972 1893 572 +3 1893 1972 1293 +3 1716 1713 1353 +3 1716 1256 1713 +3 1928 1716 1353 +3 1256 1716 1689 +3 1716 1928 1689 +3 1084 2885 1689 +3 554 1084 2583 +3 2777 1084 1689 +3 2829 1049 554 +3 1049 2829 2885 +3 1049 1084 554 +3 1084 1049 2885 +3 1838 2287 950 +3 2378 2287 1838 +3 2287 2480 950 +3 2480 2287 1698 +3 2287 2378 1698 +3 29 30 1116 +3 29 549 28 +3 549 29 1116 +3 1833 2666 1450 +3 59 1833 1450 +3 1833 59 60 +3 803 1833 60 +3 1833 803 2666 +3 1580 946 2609 +3 946 2848 2609 +3 1558 1580 2745 +3 1558 51 52 +3 53 1558 52 +3 51 1558 50 +3 2249 1939 590 +3 1939 946 1580 +3 1939 2249 2269 +3 946 1939 2269 +3 2607 1023 635 +3 1023 2441 635 +3 2441 1023 2269 +3 1023 2607 1634 +3 2848 1023 1634 +3 946 1023 2848 +3 1023 946 2269 +3 2249 1683 2269 +3 1683 2441 2269 +3 2441 1683 1450 +3 1450 1683 590 +3 1683 2249 590 +3 1613 803 1543 +3 1613 1067 635 +3 1067 1613 1543 +3 2441 1613 635 +3 1613 2441 2666 +3 803 1613 2666 +3 1111 2431 2362 +3 2907 2431 1111 +3 2362 2431 1346 +3 2431 637 1346 +3 637 2431 2701 +3 2431 2907 2701 +3 1037 1237 1750 +3 1237 1037 1518 +3 1428 2637 774 +3 2867 2637 1428 +3 2504 1428 2936 +3 2557 2504 2936 +3 2504 2557 1305 +3 2867 1269 1380 +3 1269 2312 1380 +3 1269 2867 1428 +3 2504 1269 1428 +3 1623 2704 1440 +3 2704 1623 689 +3 594 2295 2339 +3 1699 2295 594 +3 2295 1699 2959 +3 2295 781 2339 +3 2295 2959 781 +3 2152 1632 959 +3 2152 1695 1632 +3 2152 1955 1695 +3 1695 2772 2777 +3 2772 1084 2777 +3 1084 2772 2583 +3 2593 1515 1904 +3 2367 2593 2657 +3 1515 2593 2367 +3 2593 969 2657 +3 2593 757 969 +3 1643 2593 1904 +3 2593 1643 757 +3 631 551 2936 +3 257 1405 256 +3 1405 257 258 +3 2564 516 577 +3 516 2564 1097 +3 2564 1822 1097 +3 2564 2692 1822 +3 2692 1076 300 +3 1406 1176 1482 +3 1406 2086 565 +3 2086 1406 510 +3 252 558 251 +3 254 558 253 +3 558 2246 251 +3 558 845 2246 +3 845 558 1395 +3 2759 1984 752 +3 1771 1502 1280 +3 910 1502 1771 +3 2275 1052 2026 +3 1052 2275 891 +3 1080 2758 958 +3 1763 2758 2755 +3 1470 2694 952 +3 902 2694 1470 +3 2694 991 952 +3 1456 2377 958 +3 2377 1456 510 +3 1456 573 510 +3 2035 510 1482 +3 2035 2377 510 +3 793 2035 1482 +3 2035 793 2377 +3 815 1397 740 +3 2171 2711 2284 +3 2171 815 1661 +3 2711 2171 2002 +3 2171 1661 1976 +3 2002 2171 1976 +3 2123 1646 2273 +3 2123 1388 1646 +3 2148 2123 2273 +3 2123 2148 2918 +3 632 2123 2918 +3 2711 2123 632 +3 1388 2123 2711 +3 244 1377 243 +3 700 1947 2437 +3 1947 741 2437 +3 2439 2646 2627 +3 1947 2646 741 +3 2646 1947 2627 +3 2646 2439 1742 +3 1593 1785 741 +3 741 1785 1190 +3 1292 1785 2963 +3 1785 1292 1190 +3 1091 1593 901 +3 2521 1091 575 +3 1091 281 575 +3 1091 2521 2963 +3 1785 1091 2963 +3 1091 1785 1593 +3 2697 2823 262 +3 2823 2260 2296 +3 1936 2823 2296 +3 1140 2823 1936 +3 2260 2823 700 +3 2823 2697 700 +3 260 1140 259 +3 2349 285 286 +3 287 2349 286 +3 1742 1135 272 +3 1135 2439 2514 +3 2439 1135 1742 +3 263 2697 262 +3 275 276 901 +3 2100 2427 1012 +3 2427 2172 1012 +3 351 2427 2100 +3 2172 352 353 +3 2427 352 2172 +3 352 2427 351 +3 2083 2417 1000 +3 2083 343 344 +3 1792 2083 344 +3 2417 2083 1792 +3 343 2083 2398 +3 2083 1691 2398 +3 1691 2083 1000 +3 1640 1691 1000 +3 1640 745 1691 +3 2505 1640 1000 +3 745 1640 2505 +3 1337 630 2640 +3 630 1337 2354 +3 2731 1337 2640 +3 2354 1337 2731 +3 519 2453 2650 +3 519 2650 2223 +3 329 519 2223 +3 2830 332 333 +3 1604 2733 1459 +3 1604 1459 1481 +3 1519 1604 1481 +3 2830 1604 1519 +3 2733 1604 336 +3 1719 1393 1956 +3 1719 1519 1393 +3 1165 2206 716 +3 587 2206 1165 +3 2206 587 1481 +3 2566 2206 1481 +3 2206 2566 716 +3 1463 1261 1516 +3 2229 1463 997 +3 1261 1463 2948 +3 1463 2229 2948 +3 904 1463 1516 +3 997 1463 904 +3 326 2956 325 +3 326 327 2956 +3 2650 1996 1804 +3 1996 2316 1804 +3 1232 2682 571 +3 2682 1461 571 +3 2275 1733 1940 +3 1461 1733 2599 +3 1733 2275 2026 +3 2599 1733 2026 +3 2453 2325 2650 +3 519 2325 2453 +3 2325 519 2562 +3 2626 1107 2279 +3 1107 2871 2279 +3 1107 2626 2673 +3 2871 1107 2673 +3 1396 2958 2361 +3 1244 1862 2279 +3 1476 1451 2619 +3 2532 1451 1476 +3 1451 592 2619 +3 1451 2532 2146 +3 592 1451 2146 +3 1101 2532 2348 +3 2239 1101 2348 +3 1101 2239 2279 +3 2532 1101 2146 +3 1862 1101 2279 +3 1101 1862 2146 +3 2809 1687 2036 +3 1294 2809 1297 +3 864 1398 2239 +3 1398 805 2239 +3 1398 864 1883 +3 2008 1514 2488 +3 805 1514 2008 +3 1514 1294 2488 +3 1064 2182 2076 +3 1064 1637 2182 +3 1211 1064 2076 +3 1977 1064 1211 +3 1637 1064 1977 +3 2129 2150 2630 +3 2150 2887 2630 +3 2887 2150 2508 +3 2535 1652 2530 +3 2535 1610 2053 +3 1559 2535 2053 +3 1610 2535 2693 +3 1652 2535 2715 +3 2535 1375 2693 +3 2535 2530 1375 +3 2535 1344 2715 +3 1344 2535 1559 +3 1503 2485 2715 +3 1344 1503 2715 +3 1773 1503 1559 +3 1503 1344 1559 +3 1137 2576 2385 +3 2576 1603 2385 +3 2576 2521 575 +3 2576 1137 2521 +3 938 2045 2141 +3 1528 2555 2036 +3 2555 2809 2036 +3 2809 2555 1297 +3 2385 1978 1527 +3 1978 2385 1602 +3 2626 2299 2673 +3 2299 915 2673 +3 2299 2626 720 +3 2115 2299 720 +3 2299 2115 1280 +3 915 801 1648 +3 2407 2779 1301 +3 2779 1915 1301 +3 2779 698 1915 +3 2779 2407 1181 +3 698 2779 1181 +3 1429 607 2852 +3 1429 1222 607 +3 2162 1429 2852 +3 789 1429 2162 +3 1429 789 2746 +3 1725 1429 2746 +3 1222 1429 1725 +3 2743 1725 2778 +3 2743 1222 1725 +3 1222 2743 2233 +3 2743 863 2233 +3 2743 2778 2744 +3 863 2743 2744 +3 2554 1263 759 +3 1563 2554 759 +3 1263 2554 2744 +3 2554 1465 2744 +3 2554 1717 1465 +3 2554 1563 1717 +3 2934 759 1312 +3 2934 1563 759 +3 2934 1312 1167 +3 1563 2934 1167 +3 2725 638 1356 +3 638 2725 994 +3 1356 638 2440 +3 638 994 2440 +3 2899 1132 1362 +3 2899 482 483 +3 2899 1362 482 +3 2899 483 2108 +3 2870 2899 2108 +3 1770 2899 2870 +3 1132 2899 1770 +3 1690 1336 476 +3 1336 1690 553 +3 1690 476 477 +3 553 1690 477 +3 2342 762 617 +3 1336 762 2342 +3 762 553 617 +3 762 1336 553 +3 2654 2342 1709 +3 2654 2272 2342 +3 994 2654 1709 +3 2272 2654 994 +3 2776 2984 1903 +3 2776 1523 2773 +3 1523 2776 1903 +3 2984 2776 948 +3 2490 2776 2773 +3 2776 2490 948 +3 2940 2527 2438 +3 2527 2940 1155 +3 2527 2134 2438 +3 2134 2527 1155 +3 2729 2065 2661 +3 2092 2729 2661 +3 2729 750 2065 +3 2518 2729 2892 +3 750 2729 2518 +3 2678 2940 2438 +3 1675 2678 2438 +3 2940 2678 1173 +3 1173 2678 1674 +3 2678 1675 1674 +3 2253 1014 1361 +3 1014 2943 1361 +3 1276 984 2328 +3 1445 2011 1361 +3 2943 1445 1361 +3 1445 2708 2011 +3 1507 1493 1793 +3 1793 1493 1999 +3 968 2211 1384 +3 968 984 2253 +3 1882 2065 995 +3 2211 1882 995 +3 1882 1444 2661 +3 2065 1882 2661 +3 1444 1882 1615 +3 1882 2253 1615 +3 1882 968 2253 +3 968 1882 2211 +3 1323 968 1384 +3 1323 761 2328 +3 1323 1507 761 +3 1493 1323 1384 +3 1323 1493 1507 +3 984 1323 2328 +3 968 1323 984 +3 1723 2386 2404 +3 2700 2386 1723 +3 2386 2700 2824 +3 2386 1871 2404 +3 2842 2386 2824 +3 2386 2842 1871 +3 1723 1220 1419 +3 2188 1220 1723 +3 1220 2188 881 +3 1220 722 1419 +3 1220 881 722 +3 755 1099 850 +3 755 1268 1419 +3 1268 755 850 +3 1099 1328 2307 +3 755 1328 1099 +3 1328 755 1419 +3 1328 1858 1954 +3 722 1328 1419 +3 1328 722 1858 +3 1099 2752 850 +3 850 2752 2252 +3 2752 954 2252 +3 954 2752 2289 +3 2752 1099 2307 +3 1260 2752 2307 +3 2374 1146 886 +3 1475 1146 2374 +3 886 1146 2909 +3 1146 1847 2909 +3 1146 1475 1847 +3 1897 2370 1360 +3 1847 1897 1360 +3 1897 1847 1620 +3 1476 1897 1620 +3 2370 1897 1476 +3 1902 2147 2569 +3 2147 1902 500 +3 1902 768 1600 +3 768 1902 2569 +3 1787 1902 1600 +3 500 1902 1787 +3 2534 2263 1953 +3 709 852 1999 +3 2916 2534 2402 +3 2292 2916 2402 +3 2916 2263 2534 +3 2653 2292 2389 +3 2653 2914 1778 +3 2993 2371 2389 +3 2371 1944 2389 +3 1506 1100 1083 +3 1100 2993 1083 +3 2371 1100 1506 +3 1100 2371 2993 +3 819 2947 2952 +3 2914 2947 819 +3 2947 939 2952 +3 2653 2947 2914 +3 1281 1011 1981 +3 1981 1011 1983 +3 1011 2757 1983 +3 2757 2368 595 +3 1011 2368 2757 +3 2368 1011 1281 +3 2368 1281 939 +3 2947 2368 939 +3 2368 2947 2653 +3 1944 2506 2389 +3 1074 1391 1506 +3 1391 2371 1506 +3 2371 1391 1944 +3 1391 1074 2050 +3 2445 1391 2050 +3 2506 1391 2445 +3 1391 2506 1944 +3 750 2308 2065 +3 2308 2967 2065 +3 2308 750 2518 +3 2308 2518 2343 +3 2967 2308 2343 +3 1158 1045 494 +3 1045 735 494 +3 1045 1158 1238 +3 2118 1045 1238 +3 1045 2118 735 +3 1158 2982 1238 +3 2982 2396 1238 +3 2982 1158 2852 +3 2396 2982 2852 +3 2118 2849 2202 +3 2849 723 2202 +3 723 2849 606 +3 2394 1027 2202 +3 1027 2118 2202 +3 1027 2394 2972 +3 2971 1027 2972 +3 2261 2396 607 +3 2396 2261 1238 +3 2261 2118 1238 +3 487 488 2411 +3 488 1443 2411 +3 490 491 2971 +3 493 2056 492 +3 735 2056 493 +3 2056 491 492 +3 491 2056 982 +3 2167 490 2971 +3 852 2167 2971 +3 2509 1630 2243 +3 852 2509 2243 +3 2509 852 1630 +3 542 1845 611 +3 542 611 1651 +3 542 2865 2051 +3 1845 542 2051 +3 929 1856 1378 +3 2618 824 375 +3 824 374 375 +3 824 1483 374 +3 574 2903 1775 +3 574 1775 1891 +3 1143 574 1891 +3 574 1143 371 +3 2903 574 371 +3 804 2570 1210 +3 2570 1548 1210 +3 1548 2364 1001 +3 2570 2364 1548 +3 2317 386 387 +3 386 2317 385 +3 1899 2317 2270 +3 1899 2924 2442 +3 1899 2270 1536 +3 2924 1899 1536 +3 2317 1286 619 +3 1286 1845 619 +3 1845 1286 2442 +3 1286 1899 2442 +3 1899 1286 2317 +3 769 749 1737 +3 749 1379 1737 +3 1379 749 1608 +3 1608 749 1069 +3 1069 749 2254 +3 749 769 2254 +3 1808 521 788 +3 521 182 788 +3 196 2774 1832 +3 1130 2813 1622 +3 1130 1622 1619 +3 1130 1044 1728 +3 2813 1130 1728 +3 1130 1619 867 +3 2645 1130 867 +3 1044 1130 2645 +3 2013 2983 608 +3 1485 2013 608 +3 2013 1485 1728 +3 2013 1761 1423 +3 1761 2013 1728 +3 2227 2861 1924 +3 2861 686 1924 +3 686 2861 714 +3 2851 582 2624 +3 582 2447 2624 +3 582 2851 1937 +3 2447 582 1937 +3 2937 1820 905 +3 1704 1820 2937 +3 1820 1704 1616 +3 1820 1819 905 +3 1819 1820 1616 +3 1191 2021 2713 +3 2021 1191 2179 +3 2846 1191 2713 +3 1338 1703 557 +3 1703 2888 2062 +3 1703 1338 2888 +3 2337 142 143 +3 141 142 2337 +3 2751 1749 1541 +3 2241 2359 1744 +3 1749 2359 2241 +3 1906 2524 917 +3 664 1906 917 +3 1906 664 610 +3 2524 1906 1003 +3 1906 2127 1003 +3 1744 859 610 +3 859 2846 610 +3 2359 859 1744 +3 859 2359 1749 +3 2886 2840 1789 +3 2840 2886 1355 +3 2615 721 1159 +3 2615 1159 2905 +3 2345 2615 2905 +3 1053 2720 1937 +3 721 1053 1937 +3 2467 543 2754 +3 543 2886 2754 +3 543 2467 786 +3 2886 543 786 +3 2248 2529 1806 +3 2248 1807 2529 +3 738 2248 1806 +3 1807 2248 738 +3 1441 1117 2677 +3 1848 1117 1314 +3 2529 1117 2841 +3 2677 1117 2529 +3 1117 1016 2841 +3 1314 1117 2584 +3 1117 1441 2584 +3 1117 2604 1016 +3 1117 1848 2604 +3 1851 2360 2768 +3 2360 1113 2768 +3 1113 2360 2177 +3 2177 2360 2652 +3 2360 2220 2652 +3 2220 2360 1851 +3 2155 1021 1539 +3 1539 1021 2282 +3 1021 2232 2282 +3 1021 2155 1442 +3 2581 2373 848 +3 2581 1357 2373 +3 2558 2581 848 +3 1357 2581 2558 +3 540 651 2732 +3 1148 651 540 +3 651 1148 1626 +3 2586 651 1626 +3 651 2586 1400 +3 2732 651 1400 +3 2858 2350 691 +3 691 2350 1554 +3 2350 2858 591 +3 2350 581 1554 +3 581 2350 2810 +3 2350 1942 2810 +3 2784 2350 591 +3 1942 2350 2784 +3 2192 1679 1109 +3 199 2192 198 +3 2192 1109 198 +3 2355 2116 2598 +3 1679 2116 2355 +3 2598 2116 1437 +3 2192 2116 1679 +3 1766 1708 676 +3 1708 1766 1148 +3 1766 676 1846 +3 1395 1766 1846 +3 2572 1766 1395 +3 1148 1766 2572 +3 650 2588 2137 +3 2588 201 2137 +3 2588 2605 201 +3 1304 628 1825 +3 628 674 1825 +3 2789 2213 1003 +3 1522 2213 2789 +3 2213 2524 1003 +3 2213 1522 2524 +3 1582 2224 2078 +3 1204 1582 2078 +3 1582 1204 1878 +3 1582 1878 1138 +3 2224 1582 1138 +3 2413 1416 1762 +3 1416 1779 1762 +3 2153 526 1009 +3 2635 2153 2880 +3 526 2153 2635 +3 2173 190 2428 +3 187 2173 788 +3 187 188 2173 +3 1214 1969 1927 +3 1214 2735 1969 +3 1214 2551 2735 +3 179 2047 178 +3 2047 179 180 +3 2502 174 175 +3 2996 2502 175 +3 132 2847 2293 +3 2621 813 1334 +3 2621 694 813 +3 2113 2621 1334 +3 694 2621 2113 +3 1194 26 27 +3 26 1194 25 +3 614 1696 562 +3 944 614 562 +3 614 944 2512 +3 614 598 1696 +3 1909 1980 7 +3 1909 2104 2315 +3 8 1909 7 +3 2104 1909 8 +3 2800 1909 2315 +3 1909 2800 1980 +3 1980 2800 6 +3 2541 1705 1301 +3 1094 1705 2541 +3 1301 1705 2098 +3 2098 1705 1677 +3 1705 1094 1677 +3 2104 2525 2315 +3 2525 2104 2612 +3 1869 5 6 +3 656 1869 1860 +3 2800 1869 6 +3 1869 2800 1860 +3 66 67 2164 +3 1979 67 68 +3 67 1979 2164 +3 65 2164 64 +3 65 66 2164 +3 80 81 556 +3 81 82 556 +3 84 85 1329 +3 2122 1070 1401 +3 1070 1479 1401 +3 1479 1070 2122 +3 1592 718 1837 +3 718 1424 1837 +3 1424 718 767 +3 2539 2158 1644 +3 1424 2158 2539 +3 1644 2158 1417 +3 1417 2158 767 +3 2158 1424 767 +3 121 122 767 +3 718 121 767 +3 2658 113 114 +3 2658 2620 1824 +3 2620 2658 1837 +3 2620 2103 1824 +3 2620 1895 2066 +3 1870 2620 2066 +3 2620 1870 2103 +3 578 1424 2539 +3 1895 578 2539 +3 2620 578 1895 +3 1424 578 1837 +3 578 2620 1837 +3 2448 1961 2745 +3 1961 1558 2745 +3 50 1961 2448 +3 1558 1961 50 +3 523 1558 53 +3 1558 523 1580 +3 1939 523 590 +3 523 1939 1580 +3 523 56 590 +3 523 55 56 +3 1237 2151 1669 +3 2151 1237 1518 +3 1583 2151 1518 +3 2151 1583 2815 +3 657 1237 1669 +3 2770 657 1669 +3 988 671 2867 +3 671 2637 2867 +3 671 1998 774 +3 2637 671 774 +3 2978 2815 670 +3 2978 671 988 +3 1998 2978 670 +3 671 2978 1998 +3 2925 2770 1669 +3 2770 2925 1380 +3 2151 2925 1669 +3 2925 2151 2815 +3 1623 2111 689 +3 1724 2111 1440 +3 2111 1623 1440 +3 1269 1530 2312 +3 1530 1269 2504 +3 1530 2504 1305 +3 1530 2111 1724 +3 2111 1530 689 +3 1145 1530 1305 +3 1530 1145 689 +3 2264 900 1333 +3 1872 2264 2585 +3 2264 1333 2585 +3 1031 2264 1872 +3 900 2264 1031 +3 907 2152 959 +3 907 2113 1334 +3 2113 907 959 +3 2087 1515 2401 +3 1149 2087 2401 +3 2087 1149 2583 +3 1955 1581 1695 +3 1581 2772 1695 +3 1581 1955 1904 +3 1515 1581 1904 +3 2087 1581 1515 +3 2772 1581 2583 +3 1581 2087 2583 +3 1955 1309 1904 +3 1309 1643 1904 +3 2422 551 631 +3 969 2422 631 +3 757 2422 969 +3 1643 2422 757 +3 1982 2564 577 +3 2221 1982 577 +3 296 1176 1406 +3 1993 2086 510 +3 573 1993 510 +3 1993 573 2449 +3 2340 294 295 +3 294 2340 2449 +3 2340 295 565 +3 2086 2340 565 +3 2340 1993 2449 +3 1993 2340 2086 +3 279 1091 901 +3 2501 294 2449 +3 573 2501 2449 +3 1395 255 256 +3 558 255 1395 +3 255 558 254 +3 253 1381 252 +3 1381 558 252 +3 558 1381 253 +3 2540 891 1707 +3 2540 1052 891 +3 2755 533 2074 +3 1763 2136 573 +3 2694 837 991 +3 837 2694 902 +3 991 837 2930 +3 837 902 2930 +3 855 1763 573 +3 1456 855 573 +3 855 1456 958 +3 2758 855 958 +3 1763 855 2758 +3 1397 1369 2132 +3 632 1369 2284 +3 2132 1369 2327 +3 1369 632 2327 +3 2298 1397 2132 +3 2298 2132 555 +3 1397 2298 740 +3 2298 2256 897 +3 2256 2298 555 +3 649 2298 897 +3 2298 649 740 +3 1786 2171 2284 +3 1369 1786 2284 +3 1786 1369 1397 +3 1786 1397 815 +3 2171 1786 815 +3 245 1377 244 +3 576 1367 247 +3 1367 1377 247 +3 1367 576 2979 +3 676 1367 2979 +3 1367 676 2853 +3 243 1082 2709 +3 1377 1082 243 +3 1082 2749 2709 +3 2749 1082 2853 +3 1082 1367 2853 +3 1367 1082 1377 +3 2110 1947 700 +3 1947 2110 2627 +3 2110 2439 2627 +3 2439 2110 2514 +3 2110 2697 2514 +3 2697 2110 700 +3 2646 963 741 +3 1593 963 901 +3 963 1593 741 +3 260 261 1140 +3 2823 261 262 +3 261 2823 1140 +3 1603 2240 823 +3 2240 2349 823 +3 1421 2240 1603 +3 1135 271 272 +3 263 1005 2697 +3 2697 1005 2514 +3 274 275 901 +3 1801 330 331 +3 330 1801 329 +3 1801 519 329 +3 667 1719 1648 +3 1719 667 1519 +3 1604 335 336 +3 335 1604 2830 +3 1719 992 1648 +3 992 2958 2673 +3 2958 992 2361 +3 915 992 2673 +3 992 915 1648 +3 2361 992 1956 +3 992 1719 1956 +3 2316 2819 890 +3 1996 2819 2316 +3 981 1232 890 +3 981 2682 1232 +3 2819 981 890 +3 2682 981 1461 +3 981 2819 1461 +3 2819 669 1461 +3 669 2819 1996 +3 669 1996 2650 +3 2325 669 2650 +3 2234 2562 1940 +3 2234 2325 2562 +3 1295 1244 2958 +3 1396 1295 2958 +3 763 1396 2361 +3 1396 763 1547 +3 763 2361 1956 +3 1547 763 1956 +3 1687 559 1883 +3 2809 559 1687 +3 559 2809 1294 +3 1514 559 1294 +3 2333 2129 2182 +3 2333 2150 2129 +3 2150 2333 2508 +3 1503 2023 2485 +3 2023 1503 1773 +3 2023 1773 941 +3 282 1415 281 +3 282 283 1415 +3 2349 284 285 +3 283 284 1415 +3 284 2240 1415 +3 2240 284 2349 +3 2443 2492 930 +3 531 2492 2443 +3 2492 910 930 +3 2492 531 910 +3 1917 1502 910 +3 531 1917 910 +3 1297 835 589 +3 2555 835 1297 +3 808 1528 2508 +3 2695 1455 2736 +3 746 2695 2736 +3 2392 2904 1455 +3 2904 2392 879 +3 2392 2974 822 +3 1821 801 752 +3 801 1821 1648 +3 1821 667 1648 +3 765 1821 752 +3 667 1821 765 +3 1142 2092 2032 +3 1142 2729 2092 +3 1142 2032 797 +3 2892 1142 797 +3 2729 1142 2892 +3 2659 593 2400 +3 2659 2400 2461 +3 593 2659 677 +3 2659 1949 677 +3 1949 2893 677 +3 2274 593 677 +3 2274 1276 593 +3 1014 2274 677 +3 1276 2274 984 +3 984 2274 2253 +3 2274 1014 2253 +3 593 2680 2890 +3 1276 2680 593 +3 2680 1276 2328 +3 761 2680 2328 +3 2680 761 2890 +3 2997 2893 1948 +3 2893 2997 677 +3 2997 1948 642 +3 2997 1014 677 +3 2708 2997 642 +3 1445 2997 2708 +3 1014 2997 2943 +3 2997 1445 2943 +3 2717 1493 1384 +3 1493 2717 2827 +3 2717 1384 2591 +3 2827 2717 2591 +3 1921 1260 2307 +3 1328 1921 2307 +3 1260 1921 1706 +3 1706 1921 1954 +3 1921 1328 1954 +3 2752 1873 2289 +3 1873 2752 1260 +3 2289 1873 1446 +3 1873 666 1446 +3 666 1873 690 +3 1873 1260 690 +3 2596 1493 2827 +3 2596 2827 1953 +3 2263 2596 1953 +3 1493 2596 1999 +3 2596 2263 1999 +3 2167 1192 1443 +3 1443 1192 2292 +3 1223 2916 2292 +3 1223 709 1999 +3 2263 1223 1999 +3 2916 1223 2263 +3 2095 2653 1778 +3 2653 2095 2292 +3 1225 2095 1778 +3 2506 1063 2389 +3 1063 2506 2445 +3 766 1027 2971 +3 1027 766 2118 +3 2297 2849 2118 +3 2261 2297 2118 +3 2849 2297 606 +3 606 2297 607 +3 2297 2261 607 +3 488 489 1443 +3 489 2167 1443 +3 2167 489 490 +3 2980 1041 1651 +3 1041 542 1651 +3 2865 1041 2980 +3 542 1041 2865 +3 2376 2357 1378 +3 2357 2376 880 +3 1483 2357 880 +3 843 824 2618 +3 1856 843 2618 +3 929 843 1856 +3 2105 1169 804 +3 1169 2570 804 +3 1169 2105 1598 +3 1169 2364 2570 +3 1585 1169 1598 +3 2364 1169 1585 +3 424 2915 423 +3 421 2915 420 +3 2915 1585 1598 +3 2409 2364 1585 +3 2915 2409 1585 +3 2409 2915 424 +3 2409 424 425 +3 2364 2409 1001 +3 2409 426 1001 +3 426 2409 425 +3 2915 422 423 +3 422 2915 421 +3 384 865 383 +3 384 385 865 +3 1662 418 419 +3 1662 417 418 +3 1662 419 420 +3 2915 1662 420 +3 417 1662 416 +3 394 2320 814 +3 400 401 1912 +3 1589 1740 1808 +3 1740 2365 1808 +3 2365 521 1808 +3 2365 1740 621 +3 2365 2047 180 +3 2047 2365 621 +3 195 541 194 +3 541 195 1832 +3 195 196 1832 +3 196 197 2774 +3 2774 197 563 +3 2601 197 198 +3 197 2601 563 +3 1711 1827 2983 +3 2013 1711 2983 +3 1827 1711 1627 +3 1711 1671 1627 +3 1711 2013 1423 +3 2861 1609 714 +3 1609 2861 2227 +3 1609 2227 1606 +3 918 1609 1606 +3 1609 918 1832 +3 714 1609 1832 +3 1191 1123 2179 +3 1123 2751 1935 +3 2491 1051 506 +3 2782 1641 2764 +3 2782 2764 1927 +3 1743 2782 1927 +3 1123 2869 2179 +3 2869 1123 1935 +3 2179 2957 2399 +3 2869 2957 2179 +3 2957 2497 1641 +3 1828 1703 2062 +3 2337 1828 2062 +3 1828 2337 2762 +3 1828 2762 557 +3 1703 1828 557 +3 2846 2464 610 +3 2464 1906 610 +3 2464 2846 2713 +3 2127 2464 2713 +3 1906 2464 2127 +3 2278 1191 2846 +3 859 2278 2846 +3 2278 1123 1191 +3 1123 2278 2751 +3 2751 2278 1749 +3 2278 859 1749 +3 1028 1053 1789 +3 1053 1028 2720 +3 2840 1028 1789 +3 1028 2840 1355 +3 2720 1028 1657 +3 1028 2850 1657 +3 1028 1355 2850 +3 2615 1042 721 +3 1042 1053 721 +3 1042 2615 2345 +3 1042 2345 2754 +3 2886 1042 2754 +3 1042 2886 1789 +3 1053 1042 1789 +3 2641 1296 1038 +3 1437 2641 1038 +3 2605 659 2255 +3 2588 659 2605 +3 659 1212 2255 +3 628 1680 674 +3 674 1680 148 +3 1680 1448 148 +3 1448 1680 1304 +3 1680 628 1304 +3 1057 1319 2880 +3 2153 1057 2880 +3 1057 2153 1416 +3 1057 1416 2413 +3 1057 2413 2463 +3 1319 1057 2463 +3 2822 1009 829 +3 2822 2153 1009 +3 1416 2822 1779 +3 2153 2822 1416 +3 188 189 2173 +3 189 190 2173 +3 192 193 2428 +3 178 1290 177 +3 2047 1290 178 +3 1290 176 177 +3 2920 1960 2996 +3 130 131 2293 +3 131 132 2293 +3 132 133 2847 +3 2888 139 140 +3 1696 1818 1315 +3 598 1818 1696 +3 1818 2811 1315 +3 2 2276 1 +3 2276 2541 1 +3 2276 1094 2541 +3 1094 2276 944 +3 2276 1594 944 +3 898 2525 2612 +3 1002 898 2612 +3 2525 898 1715 +3 1318 614 2512 +3 1318 598 614 +3 2483 2 3 +3 2483 1869 656 +3 2276 2483 1594 +3 2483 2276 2 +3 1869 4 5 +3 4 2483 3 +3 2483 4 1869 +3 86 87 1329 +3 85 86 1329 +3 120 718 119 +3 120 121 718 +3 2496 718 1592 +3 118 2496 1592 +3 718 2496 119 +3 2496 118 119 +3 111 112 1824 +3 1272 2658 1824 +3 1272 113 2658 +3 112 1272 1824 +3 1272 112 113 +3 54 523 53 +3 523 54 55 +3 2802 1925 810 +3 2802 2379 1750 +3 2802 810 2379 +3 2429 2925 2815 +3 2978 2429 2815 +3 2429 2978 988 +3 2925 2429 1380 +3 2429 2867 1380 +3 2429 988 2867 +3 1530 2487 2312 +3 2487 1530 1724 +3 2312 2487 1380 +3 2487 2770 1380 +3 2770 2487 1440 +3 2487 1724 1440 +3 932 900 1031 +3 900 932 1333 +3 932 1358 1333 +3 1542 1031 658 +3 1542 932 1031 +3 932 1542 1358 +3 689 1542 658 +3 1542 1145 925 +3 1145 1542 689 +3 1358 1702 1333 +3 1333 1702 922 +3 594 1702 1466 +3 1702 594 922 +3 2251 1702 925 +3 1702 2251 1466 +3 1702 1542 925 +3 1542 1702 1358 +3 2889 688 2251 +3 1309 688 2889 +3 688 1071 1466 +3 2251 688 1466 +3 1071 688 1334 +3 688 907 1334 +3 907 688 2152 +3 2152 688 1955 +3 688 1309 1955 +3 2422 826 551 +3 826 2889 612 +3 826 2422 1643 +3 2194 826 612 +3 826 1309 2889 +3 1309 826 1643 +3 2557 826 2194 +3 826 2557 2936 +3 551 826 2936 +3 1473 2758 1080 +3 1794 1473 2580 +3 1473 1794 2758 +3 2564 2944 2692 +3 1982 2944 2564 +3 2218 1406 565 +3 2218 296 1406 +3 295 2218 565 +3 1091 280 281 +3 279 280 1091 +3 278 279 901 +3 2799 2501 573 +3 1957 2226 2759 +3 1957 2759 752 +3 1502 1685 1280 +3 1685 2299 1280 +3 2338 655 811 +3 1943 533 2755 +3 2758 1760 2755 +3 1794 1760 2758 +3 1760 1943 2755 +3 1926 2136 1763 +3 1926 1763 2755 +3 2338 1926 2755 +3 1377 246 247 +3 245 246 1377 +3 1081 2646 1742 +3 1081 963 2646 +3 963 1081 901 +3 1081 274 901 +3 2576 778 1603 +3 778 1421 1603 +3 778 2576 575 +3 731 2240 1421 +3 731 778 575 +3 778 731 1421 +3 1415 731 575 +3 2240 731 1415 +3 264 1005 263 +3 1801 957 519 +3 519 957 2562 +3 660 957 331 +3 957 1801 331 +3 957 2633 2562 +3 957 660 2633 +3 2685 2830 1519 +3 667 2685 1519 +3 2685 660 332 +3 2830 2685 332 +3 334 2830 333 +3 334 335 2830 +3 669 2574 1461 +3 2574 669 2325 +3 2574 1733 1461 +3 1733 2574 1940 +3 2574 2234 1940 +3 2234 2574 2325 +3 2494 1862 1244 +3 1295 2494 1244 +3 2494 1547 1156 +3 2494 1396 1547 +3 2494 1295 1396 +3 2146 2494 1156 +3 1862 2494 2146 +3 1430 1514 805 +3 1430 559 1514 +3 559 1430 1883 +3 1430 1398 1883 +3 1398 1430 805 +3 1916 1495 879 +3 1978 1495 1527 +3 2023 1247 822 +3 1247 1916 879 +3 2392 1247 879 +3 1247 2392 822 +3 1964 2023 941 +3 1964 1247 2023 +3 1247 1964 1916 +3 1917 1284 1502 +3 2045 2519 2141 +3 2519 2045 2977 +3 1166 2333 2182 +3 1637 1166 2182 +3 1166 2519 2977 +3 2519 1166 949 +3 808 1166 2977 +3 1166 1637 1218 +3 949 1166 1218 +3 2333 1166 2508 +3 1166 808 2508 +3 2216 2045 938 +3 1007 2542 2443 +3 1007 2443 589 +3 2216 1007 2045 +3 1007 2216 2542 +3 2954 2555 1528 +3 808 2954 1528 +3 2954 835 2555 +3 2987 2695 746 +3 2695 2987 877 +3 2392 2859 2974 +3 2974 2859 2141 +3 1867 2392 1455 +3 2695 1867 1455 +3 2590 1782 1257 +3 709 2067 852 +3 1192 2067 2292 +3 2067 1223 2292 +3 1223 2067 709 +3 2095 1965 2292 +3 1443 1965 2411 +3 1965 1443 2292 +3 1965 1225 2411 +3 1965 2095 1225 +3 756 2318 595 +3 2318 756 2445 +3 756 1063 2445 +3 756 2653 2389 +3 1063 756 2389 +3 2368 756 595 +3 756 2368 2653 +3 2721 766 2971 +3 491 2721 2971 +3 2721 491 982 +3 2056 2721 982 +3 2721 2056 735 +3 2118 2721 735 +3 766 2721 2118 +3 527 2357 1483 +3 527 929 1378 +3 2357 527 1378 +3 2837 2915 1598 +3 2837 1662 2915 +3 2232 2837 1598 +3 1021 2837 2232 +3 2950 415 416 +3 1662 2950 416 +3 2950 414 415 +3 414 2950 413 +3 2950 412 413 +3 412 2950 411 +3 394 395 2320 +3 2320 399 1912 +3 399 400 1912 +3 398 399 2320 +3 2317 391 814 +3 401 402 1912 +3 1740 1208 621 +3 1589 1208 1740 +3 2551 1208 1808 +3 1208 1589 1808 +3 181 2365 180 +3 2365 181 521 +3 521 181 182 +3 892 2452 1671 +3 1711 892 1671 +3 2452 892 1235 +3 1235 892 1423 +3 892 1711 1423 +3 986 2938 1399 +3 1399 2938 580 +3 580 2938 888 +3 2938 1134 888 +3 1134 2938 1129 +3 2938 2491 1129 +3 2938 1051 2491 +3 2820 1579 2425 +3 2820 2425 506 +3 1051 2820 506 +3 2135 1743 2399 +3 2135 2782 1743 +3 2957 2135 2399 +3 2782 2135 1641 +3 2135 2957 1641 +3 827 2497 1935 +3 2751 827 1935 +3 827 2751 1541 +3 2241 827 1541 +3 827 2241 2425 +3 1579 827 2425 +3 2079 2869 1935 +3 2497 2079 1935 +3 2079 2957 2869 +3 2079 2497 2957 +3 2116 1102 1437 +3 1102 2641 1437 +3 1102 2116 2192 +3 1102 2192 199 +3 2175 1102 199 +3 1102 2175 1296 +3 2641 1102 1296 +3 659 973 1212 +3 973 659 2588 +3 973 650 1212 +3 973 2588 650 +3 1779 1373 829 +3 1373 2822 829 +3 2822 1373 1779 +3 190 191 2428 +3 191 192 2428 +3 183 184 1078 +3 182 183 788 +3 183 1078 788 +3 184 185 1078 +3 2820 1178 2791 +3 724 2920 2996 +3 724 1178 986 +3 869 986 1399 +3 869 1960 2920 +3 869 724 986 +3 724 869 2920 +3 1364 2502 2996 +3 1960 1364 2996 +3 2502 1364 174 +3 174 1364 173 +3 1364 1960 173 +3 996 172 173 +3 1960 996 173 +3 996 1960 2073 +3 172 996 171 +3 2245 996 2073 +3 171 996 2245 +3 135 136 2847 +3 2847 138 2888 +3 138 139 2888 +3 566 1818 598 +3 2811 566 2451 +3 1818 566 2811 +3 501 2579 1715 +3 501 656 1860 +3 2579 501 1860 +3 2703 2525 1715 +3 2579 2703 1715 +3 2525 2703 2315 +3 1777 1002 2451 +3 1777 898 1002 +3 898 1777 1715 +3 1777 501 1715 +3 117 118 1592 +3 116 117 1592 +3 2658 115 1592 +3 115 116 1592 +3 115 2658 114 +3 657 874 1237 +3 1237 874 1750 +3 874 2802 1750 +3 2802 874 1925 +3 874 657 2770 +3 1925 874 1440 +3 874 2770 1440 +3 1618 902 2580 +3 1473 1618 2580 +3 685 1076 2692 +3 1176 1571 1482 +3 2944 783 2692 +3 783 685 2692 +3 296 1790 1114 +3 297 1790 296 +3 276 277 901 +3 277 278 901 +3 2501 293 294 +3 292 293 2501 +3 508 1926 2338 +3 1054 1685 1957 +3 2299 1054 915 +3 1685 1054 2299 +3 1957 1887 2226 +3 1685 1887 1957 +3 655 2900 811 +3 533 2304 2074 +3 2540 2304 1052 +3 2304 533 1052 +3 2602 2599 2026 +3 1478 2602 2863 +3 2599 2602 1478 +3 1943 2912 533 +3 1052 2912 2026 +3 533 2912 1052 +3 2912 2602 2026 +3 2602 2912 1943 +3 539 2580 736 +3 539 1794 2580 +3 539 2602 1943 +3 273 1081 1742 +3 1081 273 274 +3 273 1742 272 +3 270 271 1135 +3 269 270 1135 +3 268 1135 2514 +3 268 269 1135 +3 1005 268 2514 +3 268 1005 267 +3 264 265 1005 +3 2929 2685 667 +3 2929 765 2633 +3 2929 667 765 +3 660 2929 2633 +3 2685 2929 660 +3 956 2904 879 +3 1495 956 879 +3 956 1495 1978 +3 956 1978 1602 +3 1455 956 1602 +3 2904 956 1455 +3 1162 1331 1527 +3 1495 1162 1527 +3 1162 1273 1331 +3 1162 1495 1916 +3 1964 1162 1916 +3 1273 1162 941 +3 1162 1964 941 +3 681 1685 1502 +3 1284 681 1502 +3 681 1887 1685 +3 2226 681 2435 +3 1887 681 2226 +3 1259 1917 531 +3 1259 531 2443 +3 2542 1259 2443 +3 668 1284 1917 +3 1259 668 1917 +3 668 1259 1233 +3 668 1776 1284 +3 1776 668 1233 +3 2519 1746 2141 +3 1746 2519 949 +3 2485 1746 1218 +3 1746 949 1218 +3 1746 2974 2141 +3 2974 1746 822 +3 2023 1746 2485 +3 1746 2023 822 +3 835 2403 589 +3 2403 1007 589 +3 1007 2403 2045 +3 841 2695 877 +3 841 1867 2695 +3 2244 2859 2392 +3 1867 2244 2392 +3 2244 938 2141 +3 2859 2244 2141 +3 2214 2893 1949 +3 2893 2214 1948 +3 2214 2590 1948 +3 2214 1782 2590 +3 2067 2807 852 +3 2807 2067 1192 +3 2807 2167 852 +3 2807 1192 2167 +3 824 529 1483 +3 843 529 824 +3 2975 843 929 +3 527 2975 929 +3 2975 529 843 +3 2975 527 1483 +3 529 2975 1483 +3 2119 1021 1442 +3 2119 405 406 +3 410 2119 409 +3 1024 2119 1442 +3 2119 1024 502 +3 405 2119 404 +3 2119 410 411 +3 2950 2119 411 +3 1912 2119 502 +3 2837 1213 1662 +3 1213 2950 1662 +3 1213 2837 1021 +3 2119 1213 1021 +3 1213 2119 2950 +3 395 396 2320 +3 391 392 814 +3 402 403 1912 +3 403 2119 1912 +3 2119 403 404 +3 390 391 2317 +3 1285 2210 2522 +3 2210 2791 621 +3 1208 2210 621 +3 1106 1208 2551 +3 1214 1106 2551 +3 2210 1106 2522 +3 1106 2210 1208 +3 1106 1285 2522 +3 1106 1214 1927 +3 2764 1106 1927 +3 1285 1106 2764 +3 2938 734 1051 +3 734 2938 986 +3 1239 827 1579 +3 827 1239 2497 +3 2497 1239 1641 +3 1078 186 788 +3 185 186 1078 +3 186 187 788 +3 1834 1290 2047 +3 724 1834 2047 +3 1834 724 2996 +3 1834 2996 176 +3 1290 1834 176 +3 1178 2049 2791 +3 724 2049 1178 +3 2791 2049 621 +3 2049 2047 621 +3 2049 724 2047 +3 2544 869 1399 +3 869 2544 1960 +3 1960 2544 2073 +3 2073 2544 699 +3 2544 1399 699 +3 133 134 2847 +3 134 135 2847 +3 136 137 2847 +3 137 138 2847 +3 1060 566 598 +3 566 1060 2451 +3 2560 2579 1860 +3 2560 2703 2579 +3 2800 2560 1860 +3 2560 2800 2315 +3 2703 2560 2315 +3 685 2651 1076 +3 2651 298 1076 +3 298 2651 297 +3 2651 1790 297 +3 2651 685 1114 +3 1790 2651 1114 +3 2507 1571 1176 +3 2507 296 1114 +3 296 2507 1176 +3 685 2507 1114 +3 1734 793 1482 +3 793 1734 1080 +3 1734 1473 1080 +3 783 2024 985 +3 1076 299 300 +3 298 299 1076 +3 1926 2001 2136 +3 2001 2719 2136 +3 2719 2001 2864 +3 2001 508 2864 +3 508 2001 1926 +3 2384 2338 811 +3 2384 508 2338 +3 2710 1054 1957 +3 801 2710 752 +3 2710 1957 752 +3 2710 801 915 +3 1054 2710 915 +3 2900 1525 811 +3 1951 655 2338 +3 2304 1951 2074 +3 1760 597 1943 +3 597 539 1943 +3 597 1760 1794 +3 539 597 1794 +3 1967 539 736 +3 539 1967 2602 +3 2863 1967 736 +3 2602 1967 2863 +3 1005 266 267 +3 265 266 1005 +3 2547 681 1284 +3 1776 2547 1284 +3 2547 1712 2435 +3 681 2547 2435 +3 1712 2547 1989 +3 1259 2922 1233 +3 2987 2922 877 +3 2922 2987 1233 +3 2027 1525 1989 +3 811 2027 882 +3 1525 2027 811 +3 2987 1125 1233 +3 1125 1776 1233 +3 1125 2027 1776 +3 2027 1125 882 +3 2045 1317 2977 +3 2403 1317 2045 +3 1317 2403 835 +3 2954 1317 835 +3 1317 808 2977 +3 1317 2954 808 +3 1667 2216 938 +3 841 747 1867 +3 747 2244 1867 +3 1667 747 841 +3 2244 747 938 +3 747 1667 938 +3 2895 2214 1949 +3 2214 2895 1782 +3 2895 2659 2461 +3 2659 2895 1949 +3 2895 2461 1257 +3 1782 2895 1257 +3 2119 408 409 +3 397 398 2320 +3 396 397 2320 +3 393 394 814 +3 392 393 814 +3 389 390 2317 +3 2503 1285 2764 +3 1641 2503 2764 +3 1414 2210 1285 +3 2503 1414 1285 +3 2210 1414 2791 +3 1414 1239 1579 +3 2820 1414 1579 +3 1414 2820 2791 +3 1239 1414 1641 +3 1414 2503 1641 +3 2195 2820 1051 +3 734 2195 1051 +3 2195 1178 2820 +3 1178 2195 986 +3 2195 734 986 +3 501 1059 656 +3 1318 1059 598 +3 1059 1060 598 +3 1777 1059 501 +3 1059 1777 2451 +3 1060 1059 2451 +3 2507 1172 1571 +3 1172 783 985 +3 783 1172 685 +3 1172 2507 685 +3 1734 1172 985 +3 1571 1172 1482 +3 1172 1734 1482 +3 1655 783 2944 +3 1655 2024 783 +3 1655 2944 1982 +3 1655 2798 2930 +3 1655 2221 2798 +3 1655 1982 2221 +3 2793 1734 985 +3 2024 2793 985 +3 1734 2793 1473 +3 2793 1618 1473 +3 902 2793 2930 +3 1618 2793 902 +3 291 1484 290 +3 1484 289 290 +3 1484 291 292 +3 1484 292 2501 +3 1735 1484 2501 +3 2799 1345 2501 +3 1345 1735 2501 +3 2201 1712 1989 +3 1525 2201 1989 +3 1712 2201 2435 +3 1941 1321 655 +3 1951 1941 655 +3 1941 1951 2304 +3 1941 2304 2540 +3 1321 1941 2540 +3 2741 2540 1707 +3 2741 1321 2540 +3 1984 2741 1707 +3 2759 2741 1984 +3 2226 2741 2759 +3 2741 2226 2435 +3 2201 2741 2435 +3 1951 605 2074 +3 605 1951 2338 +3 605 2755 2074 +3 605 2338 2755 +3 1692 841 877 +3 2922 1692 877 +3 2216 1692 2542 +3 1692 1259 2542 +3 1692 2922 1259 +3 1667 1692 2216 +3 1692 1667 841 +3 2664 2547 1776 +3 2027 2664 1776 +3 2547 2664 1989 +3 2664 2027 1989 +3 530 2987 746 +3 530 1125 2987 +3 1252 530 746 +3 530 1252 882 +3 1125 530 882 +3 407 2119 406 +3 407 408 2119 +3 388 2317 387 +3 388 389 2317 +3 1059 2614 656 +3 2614 1059 1318 +3 2614 2483 656 +3 2483 2614 1594 +3 1594 2614 2512 +3 2614 1318 2512 +3 1118 1655 2930 +3 2793 1118 2930 +3 289 2797 288 +3 1484 2797 289 +3 288 2797 287 +3 2797 2917 823 +3 2349 2797 823 +3 2797 2349 287 +3 2236 2797 1484 +3 2797 2236 2917 +3 2236 746 2736 +3 2917 2236 2736 +3 2384 600 508 +3 508 600 2864 +3 600 2719 2864 +3 2719 600 2136 +3 2136 600 573 +3 600 2799 573 +3 1321 2198 655 +3 2741 2198 1321 +3 2198 2741 2201 +3 1655 913 2024 +3 1118 913 1655 +3 913 2793 2024 +3 913 1118 2793 +3 600 2794 2799 +3 2794 2191 2587 +3 2191 600 2384 +3 2191 2794 600 +3 682 2587 1252 +3 682 1252 746 +3 2236 682 746 +3 682 1484 1735 +3 682 2236 1484 +3 2794 682 1735 +3 682 2794 2587 +3 2696 2900 655 +3 2198 2696 655 +3 2696 1525 2900 +3 2696 2201 1525 +3 2696 2198 2201 +3 1201 1345 2799 +3 2794 1201 2799 +3 1345 1201 1735 +3 1201 2794 1735 +3 2077 2384 811 +3 2077 2191 2384 +3 2077 811 882 +3 2191 2077 2587 +3 1252 2077 882 +3 2587 2077 1252 diff --git a/docs/assets/images/example_geodesics.png b/docs/assets/images/example_geodesics.png index 82751cb2..3ee3cf56 100644 Binary files a/docs/assets/images/example_geodesics.png and b/docs/assets/images/example_geodesics.png differ diff --git a/src/compas_cgal/geodesics.py b/src/compas_cgal/geodesics.py index dcab545a..654c8e52 100644 --- a/src/compas_cgal/geodesics.py +++ b/src/compas_cgal/geodesics.py @@ -1,34 +1,64 @@ -"""Geodesic distance computation using CGAL heat method.""" +"""Geodesic distance computation using the heat method.""" from typing import List +from typing import Tuple +from typing import Union +from typing import overload import numpy as np +from compas.datastructures import Mesh from numpy.typing import NDArray from compas_cgal import _types_std # noqa: F401 # Load vector type bindings +from compas_cgal._geodesics import HeatGeodesicSolver as _HeatGeodesicSolver from compas_cgal._geodesics import geodesic_isolines as _geodesic_isolines from compas_cgal._geodesics import geodesic_isolines_split as _geodesic_isolines_split from compas_cgal._geodesics import heat_geodesic_distances as _heat_geodesic_distances -from compas_cgal._geodesics import HeatGeodesicSolver as _HeatGeodesicSolver from compas_cgal.types import PolylinesNumpy from compas_cgal.types import VerticesFaces from compas_cgal.types import VerticesFacesNumpy __all__ = ["heat_geodesic_distances", "HeatGeodesicSolver", "geodesic_isolines_split", "geodesic_isolines"] +MeshInput = Union[Mesh, VerticesFaces] +"""A triangulated mesh, accepted either as a :class:`compas.datastructures.Mesh` +or as a :attr:`compas_cgal.types.VerticesFaces` tuple of vertices and faces.""" -def heat_geodesic_distances(mesh: VerticesFaces, sources: List[int]) -> NDArray: - """Compute geodesic distances from source vertices using CGAL heat method. - Uses CGAL's Heat_method_3 with intrinsic Delaunay triangulation for - accurate geodesic distance computation. +def _as_vertices_faces(mesh: MeshInput) -> Tuple[NDArray, NDArray]: + """Coerce a mesh (compas ``Mesh`` or ``(V, F)`` tuple) to CGAL-ready arrays. + + Single marshalling seam for every geodesics entry point: vertices as a + C-contiguous ``float64`` Nx3 array, faces as a C-contiguous ``int32`` Fx3 + array. The mesh must be triangulated. + """ + if isinstance(mesh, Mesh): + V, F = mesh.to_vertices_and_faces() + else: + V, F = mesh + V = np.asarray(V, dtype=np.float64, order="C") + F = np.asarray(F, dtype=np.int32, order="C") + return V, F + + +@overload +def heat_geodesic_distances(mesh: Mesh, sources: List[int]) -> NDArray: ... +@overload +def heat_geodesic_distances(mesh: VerticesFaces, sources: List[int]) -> NDArray: ... +def heat_geodesic_distances(mesh: MeshInput, sources: List[int]) -> NDArray: + """Compute geodesic distances from source vertices using the heat method. + + Heat method (Crane et al. 2017) with a Dirichlet-constrained Poisson step: + the distance is exactly 0 at every source vertex and remains accurate for + multi-vertex source sets (e.g. all boundary vertices of an open mesh). Parameters ---------- - mesh : :attr:`compas_cgal.types.VerticesFaces` - A triangulated mesh as a tuple of vertices and faces. + mesh : :attr:`compas_cgal.geodesics.MeshInput` + A triangulated mesh, either a :class:`compas.datastructures.Mesh` + or a :attr:`compas_cgal.types.VerticesFaces` tuple of vertices and faces. sources : List[int] - Source vertex indices. + Source vertex indices (at least one; out-of-range indices are ignored). Returns ------- @@ -36,6 +66,13 @@ def heat_geodesic_distances(mesh: VerticesFaces, sources: List[int]) -> NDArray: Geodesic distances from the nearest source to each vertex. Shape is (n_vertices,). + Raises + ------ + ValueError + If no valid source vertex index is given. + RuntimeError + If a connected component of the mesh contains no source vertex. + Examples -------- >>> from compas.geometry import Box @@ -45,10 +82,7 @@ def heat_geodesic_distances(mesh: VerticesFaces, sources: List[int]) -> NDArray: >>> distances = heat_geodesic_distances(mesh, [0]) # distances from vertex 0 """ - V, F = mesh - V = np.asarray(V, dtype=np.float64, order="C") - F = np.asarray(F, dtype=np.int32, order="C") - + V, F = _as_vertices_faces(mesh) result = _heat_geodesic_distances(V, F, sources) return result.flatten() @@ -63,8 +97,9 @@ class HeatGeodesicSolver: Parameters ---------- - mesh : :attr:`compas_cgal.types.VerticesFaces` - A triangulated mesh as a tuple of vertices and faces. + mesh : :attr:`compas_cgal.geodesics.MeshInput` + A triangulated mesh, either a :class:`compas.datastructures.Mesh` + or a :attr:`compas_cgal.types.VerticesFaces` tuple of vertices and faces. Examples -------- @@ -78,10 +113,12 @@ class HeatGeodesicSolver: """ - def __init__(self, mesh: VerticesFaces) -> None: - V, F = mesh - V = np.asarray(V, dtype=np.float64, order="C") - F = np.asarray(F, dtype=np.int32, order="C") + @overload + def __init__(self, mesh: Mesh) -> None: ... + @overload + def __init__(self, mesh: VerticesFaces) -> None: ... + def __init__(self, mesh: MeshInput) -> None: + V, F = _as_vertices_faces(mesh) self._solver = _HeatGeodesicSolver(V, F) def solve(self, sources: List[int]) -> NDArray: @@ -108,11 +145,11 @@ def num_vertices(self) -> int: return self._solver.num_vertices -def geodesic_isolines_split( - mesh: VerticesFaces, - sources: List[int], - isovalues: List[float], -) -> List[VerticesFacesNumpy]: +@overload +def geodesic_isolines_split(mesh: Mesh, sources: List[int], isovalues: List[float]) -> List[VerticesFacesNumpy]: ... +@overload +def geodesic_isolines_split(mesh: VerticesFaces, sources: List[int], isovalues: List[float]) -> List[VerticesFacesNumpy]: ... +def geodesic_isolines_split(mesh: MeshInput, sources: List[int], isovalues: List[float]) -> List[VerticesFacesNumpy]: """Split mesh into components along geodesic isolines. Computes geodesic distances from sources, refines the mesh along @@ -120,8 +157,9 @@ def geodesic_isolines_split( Parameters ---------- - mesh : :attr:`compas_cgal.types.VerticesFaces` - A triangulated mesh as a tuple of vertices and faces. + mesh : :attr:`compas_cgal.geodesics.MeshInput` + A triangulated mesh, either a :class:`compas.datastructures.Mesh` + or a :attr:`compas_cgal.types.VerticesFaces` tuple of vertices and faces. sources : List[int] Source vertex indices for geodesic distance computation. isovalues : List[float] @@ -144,27 +182,25 @@ def geodesic_isolines_split( >>> len(components) # Number of mesh strips """ - V, F = mesh - V = np.asarray(V, dtype=np.float64, order="C") - F = np.asarray(F, dtype=np.int32, order="C") - + V, F = _as_vertices_faces(mesh) vertices_list, faces_list = _geodesic_isolines_split(V, F, sources, isovalues) return list(zip(vertices_list, faces_list)) -def geodesic_isolines( - mesh: VerticesFaces, - sources: List[int], - isovalues: List[float], -) -> PolylinesNumpy: +@overload +def geodesic_isolines(mesh: Mesh, sources: List[int], isovalues: List[float]) -> PolylinesNumpy: ... +@overload +def geodesic_isolines(mesh: VerticesFaces, sources: List[int], isovalues: List[float]) -> PolylinesNumpy: ... +def geodesic_isolines(mesh: MeshInput, sources: List[int], isovalues: List[float]) -> PolylinesNumpy: """Extract isoline polylines from geodesic distance field. Computes geodesic distances and extracts polylines along specified isovalues. Parameters ---------- - mesh : :attr:`compas_cgal.types.VerticesFaces` - A triangulated mesh as a tuple of vertices and faces. + mesh : :attr:`compas_cgal.geodesics.MeshInput` + A triangulated mesh, either a :class:`compas.datastructures.Mesh` + or a :attr:`compas_cgal.types.VerticesFaces` tuple of vertices and faces. sources : List[int] Source vertex indices for geodesic distance computation. isovalues : List[float] @@ -176,8 +212,5 @@ def geodesic_isolines( List of polyline segments as Nx3 arrays of points. """ - V, F = mesh - V = np.asarray(V, dtype=np.float64, order="C") - F = np.asarray(F, dtype=np.int32, order="C") - + V, F = _as_vertices_faces(mesh) return list(_geodesic_isolines(V, F, sources, isovalues)) diff --git a/src/geodesics.cpp b/src/geodesics.cpp index d9149b4d..49a51010 100644 --- a/src/geodesics.cpp +++ b/src/geodesics.cpp @@ -2,102 +2,356 @@ #include #include -#include #include #include -// Type definitions for heat method -using HeatMethod = CGAL::Heat_method_3::Surface_mesh_geodesic_distances_3; +#include +#include +#include + +#include +#include +#include +#include + using vertex_descriptor = boost::graph_traits::vertex_descriptor; +namespace { + +// ---------------------------------------------------------------------- heat method +// +// Own implementation of the heat method (Crane, Weischedel & Wardetzky 2017: one +// backward-Euler heat step -> normalized gradient field -> Poisson step), with the +// Poisson step Dirichlet-CONSTRAINED: phi is removed from the unknowns and pinned to +// 0 at every source vertex. +// +// This replaces CGAL::Heat_method_3 here because of that class's source-set +// normalization (`value_at_source_set`), which maps the Poisson potential phi through +// +// d(i) = min over sources s of |phi(i) - phi(s)| +// +// i.e. the 1-D distance from the VALUE phi(i) to the SET of source values. phi is +// recovered only up to one additive constant and is not constant across a +// multi-vertex source set, so every vertex whose phi lands inside the source-value +// spread collapses toward 0, and the far field is shifted by the maximum source value +// instead of a proper constant. Single-source is unaffected (the rule degenerates to +// the correct shift); every multi-source call is affected, and the error grows with +// the spread. Measured against exact polyhedral (MMP) geodesics on +// data/flat_star_disk_irregular_rim.off with all 508 boundary vertices as sources +// (flat mesh: euclidean distance to the nearest source is the exact truth in the +// near band): +// +// CGAL 6.1.1 fold: band ratio 0.54, 83% of band vertices BELOW the euclidean +// lower bound; +// this solver: band ratio 0.98, ~1%. +// +// Pinning phi at the sources makes the distance exactly 0 on the source set (the +// contract documented by the Python API and its tests) and is correct for arbitrary +// source sets, including solid source regions. + +// Cotan-matrix diagonal regularization, same value CGAL Heat_method_3 uses. +constexpr double kDiagRegularization = 1e-8; +// Pure 0/0 guard for degenerate face normals / vanishing far-field gradients +// (a numerical floor, not a comparison tolerance). +constexpr double kDenomFloor = 1e-300; + +using SpMat = Eigen::SparseMatrix; +using Triplet = Eigen::Triplet; + +struct HeatContext +{ + int n = 0; // vertices + int m = 0; // faces + compas::RowMatrixXd V; // own copies: the solver outlives numpy refs + compas::RowMatrixXi F; + Eigen::VectorXd cot_i, cot_j, cot_k; // cotangent of the corner angle per face + Eigen::MatrixXd normal; // unnormalized face normals (|.| = 2 * area) + Eigen::VectorXd double_area; + SpMat L; // PSD cotan Laplacian + kDiagRegularization + Eigen::VectorXd mass; // barycentric vertex areas (area / 3) + double t = 0.0; // (mean edge length)^2 + Eigen::SimplicialLDLT heat; // factorization of (M + t L) + std::vector> adjacency; // vertex adjacency over unique edges + + // Assembles everything source-independent; SimplicialLDLT is neither copyable + // nor movable, so the context is built in place. + HeatContext( + Eigen::Ref vertices, + Eigen::Ref faces); +}; -compas::RowMatrixXd -pmp_heat_geodesic_distances( +HeatContext::HeatContext( Eigen::Ref vertices, - Eigen::Ref faces, - const std::vector& sources) + Eigen::Ref faces) { - // Convert input to CGAL mesh - compas::Mesh mesh = compas::mesh_from_vertices_and_faces(vertices, faces); + HeatContext& ctx = *this; + ctx.V = vertices; + ctx.F = faces; + ctx.n = static_cast(ctx.V.rows()); + ctx.m = static_cast(ctx.F.rows()); + + ctx.cot_i.resize(ctx.m); + ctx.cot_j.resize(ctx.m); + ctx.cot_k.resize(ctx.m); + ctx.normal.resize(ctx.m, 3); + ctx.double_area.resize(ctx.m); + + std::vector trip; + trip.reserve(15 * ctx.m); + ctx.mass = Eigen::VectorXd::Zero(ctx.n); + + // unique undirected edges (for the time step and the adjacency) + std::vector> edges; + edges.reserve(3 * ctx.m); + + for (int f = 0; f < ctx.m; f++) { + const int i = ctx.F(f, 0); + const int j = ctx.F(f, 1); + const int k = ctx.F(f, 2); + const Eigen::Vector3d pi = ctx.V.row(i); + const Eigen::Vector3d pj = ctx.V.row(j); + const Eigen::Vector3d pk = ctx.V.row(k); + const Eigen::Vector3d e_ij = pj - pi; + const Eigen::Vector3d e_ik = pk - pi; + const Eigen::Vector3d e_jk = pk - pj; + + const Eigen::Vector3d nrm = e_ij.cross(e_ik); + const double dbl = nrm.norm(); // = 2 * face area (any edge pair of the face) + ctx.normal.row(f) = nrm; + ctx.double_area(f) = dbl; + const double denom = std::max(dbl, kDenomFloor); + + // cotangent of the interior angle at each corner + const double ci = e_ij.dot(e_ik) / denom; + const double cj = (-e_ij).dot(e_jk) / denom; + const double ck = (-e_ik).dot(-e_jk) / denom; + ctx.cot_i(f) = ci; + ctx.cot_j(f) = cj; + ctx.cot_k(f) = ck; + + // PSD cotan Laplacian: L(a,b) -= w, L(a,a) += w with w = cot(opposite)/2 + const int a[3] = {j, i, i}; + const int b[3] = {k, k, j}; + const double c[3] = {ci, cj, ck}; + for (int e = 0; e < 3; e++) { + const double w = 0.5 * c[e]; + trip.emplace_back(a[e], b[e], -w); + trip.emplace_back(b[e], a[e], -w); + trip.emplace_back(a[e], a[e], w); + trip.emplace_back(b[e], b[e], w); + } + for (int corner = 0; corner < 3; corner++) { + trip.emplace_back(ctx.F(f, corner), ctx.F(f, corner), kDiagRegularization); + } - int n_vertices = mesh.number_of_vertices(); + // barycentric lumped mass: area / 3 per corner + const double third_area = dbl / 6.0; + ctx.mass(i) += third_area; + ctx.mass(j) += third_area; + ctx.mass(k) += third_area; - // Create property map for distances - auto distance_pmap = mesh.add_property_map( - "v:distance", 0.0).first; + edges.emplace_back(std::min(i, j), std::max(i, j)); + edges.emplace_back(std::min(j, k), std::max(j, k)); + edges.emplace_back(std::min(i, k), std::max(i, k)); + } - // Create heat method solver (precomputation happens here) - HeatMethod hm(mesh); + ctx.L.resize(ctx.n, ctx.n); + ctx.L.setFromTriplets(trip.begin(), trip.end()); + + std::sort(edges.begin(), edges.end()); + edges.erase(std::unique(edges.begin(), edges.end()), edges.end()); + double mean_edge = 0.0; + ctx.adjacency.assign(ctx.n, {}); + for (const auto& e : edges) { + mean_edge += (ctx.V.row(e.first) - ctx.V.row(e.second)).norm(); + ctx.adjacency[e.first].push_back(e.second); + ctx.adjacency[e.second].push_back(e.first); + } + mean_edge /= static_cast(edges.size()); + ctx.t = mean_edge * mean_edge; + + SpMat heat_op = ctx.t * ctx.L; + for (int i = 0; i < ctx.n; i++) { + heat_op.coeffRef(i, i) += ctx.mass(i); // diagonal exists structurally (regularization) + } + ctx.heat.compute(heat_op); + if (ctx.heat.info() != Eigen::Success) { + throw std::runtime_error("heat geodesics: factorization of the heat operator failed"); + } +} - // Add all sources - for (int src : sources) { - if (src >= 0 && src < n_vertices) { - vertex_descriptor vd = vertex_descriptor(src); - hm.add_source(vd); +compas::RowMatrixXd +heat_geodesic_solve(const HeatContext& ctx, const std::vector& sources) +{ + // validate + dedupe the source set (out-of-range indices are ignored, as before) + std::vector is_source(ctx.n, 0); + std::vector srcs; + for (int s : sources) { + if (s >= 0 && s < ctx.n && !is_source[s]) { + is_source[s] = 1; + srcs.push_back(s); } } + if (srcs.empty()) { + throw std::invalid_argument( + "heat geodesics: at least one valid source vertex index is required"); + } - // Compute geodesic distances - hm.estimate_geodesic_distances(distance_pmap); + // every vertex must be reachable from the source set, or its distance is + // undefined (a disconnected component without sources) — fail loudly + std::vector reached(ctx.n, 0); + std::queue queue; + for (int s : srcs) { + reached[s] = 1; + queue.push(s); + } + int n_reached = static_cast(srcs.size()); + while (!queue.empty()) { + const int v = queue.front(); + queue.pop(); + for (int w : ctx.adjacency[v]) { + if (!reached[w]) { + reached[w] = 1; + n_reached++; + queue.push(w); + } + } + } + if (n_reached != ctx.n) { + throw std::runtime_error( + "heat geodesics: " + std::to_string(ctx.n - n_reached) + + " vertices are unreachable from the source set (disconnected component)"); + } - // Copy results to output matrix - compas::RowMatrixXd result(n_vertices, 1); - for (vertex_descriptor vd : mesh.vertices()) { - result(vd.idx(), 0) = get(distance_pmap, vd); + // heat step: (M + t L) u = u0, u0 = source indicator + Eigen::VectorXd u0 = Eigen::VectorXd::Zero(ctx.n); + for (int s : srcs) { + u0(s) = 1.0; + } + const Eigen::VectorXd u = ctx.heat.solve(u0); + + // normalized per-face gradient of u, and its integrated divergence + Eigen::VectorXd div = Eigen::VectorXd::Zero(ctx.n); + for (int f = 0; f < ctx.m; f++) { + const int i = ctx.F(f, 0); + const int j = ctx.F(f, 1); + const int k = ctx.F(f, 2); + const Eigen::Vector3d pi = ctx.V.row(i); + const Eigen::Vector3d pj = ctx.V.row(j); + const Eigen::Vector3d pk = ctx.V.row(k); + const Eigen::Vector3d e_ij = pj - pi; + const Eigen::Vector3d e_ik = pk - pi; + const Eigen::Vector3d e_jk = pk - pj; + + const Eigen::Vector3d nrm = + ctx.normal.row(f) / std::max(ctx.double_area(f), kDenomFloor); + Eigen::Vector3d g = u(k) * nrm.cross(e_ij) // corner value times opposite edge + + u(i) * nrm.cross(e_jk) + + u(j) * nrm.cross(pi - pk); + const Eigen::Vector3d X = g / std::max(g.norm(), kDenomFloor); + + div(i) += 0.5 * (X.dot(e_ij) * ctx.cot_k(f) + X.dot(e_ik) * ctx.cot_j(f)); + div(j) += 0.5 * (X.dot(e_jk) * ctx.cot_i(f) + X.dot(-e_ij) * ctx.cot_k(f)); + div(k) += 0.5 * (X.dot(-e_ik) * ctx.cot_j(f) + X.dot(-e_jk) * ctx.cot_i(f)); + } + + // Poisson step with Dirichlet pin phi = 0 on the source set: solve only the + // interior block L_II phi_I = div_I (source columns vanish with a 0 pin) + const int n_int = ctx.n - static_cast(srcs.size()); + Eigen::VectorXd d = Eigen::VectorXd::Zero(ctx.n); + if (n_int > 0) { + std::vector interior_index(ctx.n, -1); + int idx = 0; + for (int v = 0; v < ctx.n; v++) { + if (!is_source[v]) { + interior_index[v] = idx++; + } + } + std::vector trip; + trip.reserve(ctx.L.nonZeros()); + for (int col = 0; col < ctx.L.outerSize(); col++) { + if (is_source[col]) continue; + for (SpMat::InnerIterator it(ctx.L, col); it; ++it) { + if (is_source[it.row()]) continue; + trip.emplace_back(interior_index[it.row()], interior_index[col], it.value()); + } + } + SpMat L_II(n_int, n_int); + L_II.setFromTriplets(trip.begin(), trip.end()); + + Eigen::VectorXd rhs(n_int); + for (int v = 0; v < ctx.n; v++) { + if (!is_source[v]) { + rhs(interior_index[v]) = div(v); + } + } + + Eigen::SimplicialLDLT poisson(L_II); + if (poisson.info() != Eigen::Success) { + throw std::runtime_error("heat geodesics: Poisson factorization failed"); + } + const Eigen::VectorXd phi = poisson.solve(rhs); + if (!phi.allFinite()) { + throw std::runtime_error("heat geodesics: Poisson solve produced non-finite values"); + } + for (int v = 0; v < ctx.n; v++) { + if (!is_source[v]) { + d(v) = phi(interior_index[v]); + } + } + } + + // A consistently clockwise-wound mesh negates the gradient field and therefore + // phi EXACTLY (the Laplacian is winding-invariant); recover the field. + if (d.mean() < 0.0) { + d = -d; } + // Distances are non-negative by contract; discretization can leave a few + // interior values marginally below 0 near the sources (sub-edge-length noise). + d = d.cwiseMax(0.0); + compas::RowMatrixXd result(ctx.n, 1); + result.col(0) = d; return result; } +} // namespace + + +compas::RowMatrixXd +pmp_heat_geodesic_distances( + Eigen::Ref vertices, + Eigen::Ref faces, + const std::vector& sources) +{ + const HeatContext ctx(vertices, faces); + return heat_geodesic_solve(ctx, sources); +} + /** * @brief Heat method solver with precomputation for repeated queries. * - * This class stores the mesh and precomputed data to allow efficient - * repeated geodesic distance computations from different source vertices. + * Stores the assembled operators (Laplacian, mass, factorized heat operator) so + * repeated geodesic distance computations from different source sets reuse them. + * Only the source-dependent Poisson block is re-factorized per solve. */ class HeatGeodesicSolver { public: HeatGeodesicSolver( Eigen::Ref vertices, Eigen::Ref faces) - : mesh_(compas::mesh_from_vertices_and_faces(vertices, faces)), - n_vertices_(mesh_.number_of_vertices()), - distance_pmap_(mesh_.add_property_map("v:distance", 0.0).first), - hm_(mesh_) + : ctx_(vertices, faces) {} compas::RowMatrixXd solve(const std::vector& sources) { - // Clear previous sources - hm_.clear_sources(); - - // Add all sources - for (int src : sources) { - if (src >= 0 && src < n_vertices_) { - vertex_descriptor vd = vertex_descriptor(src); - hm_.add_source(vd); - } - } - - // Compute geodesic distances - hm_.estimate_geodesic_distances(distance_pmap_); - - // Copy results to output matrix - compas::RowMatrixXd result(n_vertices_, 1); - for (vertex_descriptor vd : mesh_.vertices()) { - result(vd.idx(), 0) = get(distance_pmap_, vd); - } - - return result; + return heat_geodesic_solve(ctx_, sources); } - int num_vertices() const { return n_vertices_; } + int num_vertices() const { return ctx_.n; } private: - compas::Mesh mesh_; - int n_vertices_; - compas::Mesh::Property_map distance_pmap_; - HeatMethod hm_; + HeatContext ctx_; }; @@ -108,24 +362,19 @@ pmp_geodesic_isolines_split( const std::vector& sources, const std::vector& isovalues) { - using vertex_descriptor = boost::graph_traits::vertex_descriptor; using edge_descriptor = boost::graph_traits::edge_descriptor; - // Convert input to CGAL mesh - compas::Mesh mesh = compas::mesh_from_vertices_and_faces(vertices, faces); - int n_vertices = mesh.number_of_vertices(); + // geodesic distances from the source set (own heat method, see above) + const HeatContext ctx(vertices, faces); + const compas::RowMatrixXd distances = heat_geodesic_solve(ctx, sources); - // Create property map for distances + // CGAL mesh for the refinement/splitting; vertex indices match the input rows + // (mesh_from_vertices_and_faces adds vertices in order) + compas::Mesh mesh = compas::mesh_from_vertices_and_faces(vertices, faces); auto distance_pmap = mesh.add_property_map("v:distance", 0.0).first; - - // Create heat method solver and compute geodesic distances - HeatMethod hm(mesh); - for (int src : sources) { - if (src >= 0 && src < n_vertices) { - hm.add_source(vertex_descriptor(src)); - } + for (vertex_descriptor vd : mesh.vertices()) { + put(distance_pmap, vd, distances(vd.idx(), 0)); } - hm.estimate_geodesic_distances(distance_pmap); // Create edge constraint map to mark isoline edges auto ecm = mesh.add_property_map("e:is_constrained", false).first; @@ -199,21 +448,16 @@ pmp_geodesic_isolines( const std::vector& sources, const std::vector& isovalues) { - using vertex_descriptor = boost::graph_traits::vertex_descriptor; using edge_descriptor = boost::graph_traits::edge_descriptor; - compas::Mesh mesh = compas::mesh_from_vertices_and_faces(vertices, faces); - int n_vertices = mesh.number_of_vertices(); + const HeatContext ctx(vertices, faces); + const compas::RowMatrixXd distances = heat_geodesic_solve(ctx, sources); + compas::Mesh mesh = compas::mesh_from_vertices_and_faces(vertices, faces); auto distance_pmap = mesh.add_property_map("v:distance", 0.0).first; - - HeatMethod hm(mesh); - for (int src : sources) { - if (src >= 0 && src < n_vertices) { - hm.add_source(vertex_descriptor(src)); - } + for (vertex_descriptor vd : mesh.vertices()) { + put(distance_pmap, vd, distances(vd.idx(), 0)); } - hm.estimate_geodesic_distances(distance_pmap); auto ecm = mesh.add_property_map("e:is_constrained", false).first; @@ -293,7 +537,7 @@ NB_MODULE(_geodesics, m) { m.def( "heat_geodesic_distances", &pmp_heat_geodesic_distances, - "Compute geodesic distances using CGAL heat method.", + "Compute geodesic distances from a source set using the heat method.", "vertices"_a, "faces"_a, "sources"_a); nanobind::class_(m, "HeatGeodesicSolver", diff --git a/src/geodesics.h b/src/geodesics.h index 3de7b3f3..91e87899 100644 --- a/src/geodesics.h +++ b/src/geodesics.h @@ -2,13 +2,16 @@ #include "compas.h" -// CGAL Heat Method for geodesic distances -#include #include #include /** - * @brief Compute geodesic distances from source vertices using CGAL heat method. + * @brief Compute geodesic distances from source vertices with the heat method. + * + * Heat method (Crane et al. 2017) with a Dirichlet-constrained Poisson step: + * distances are exactly 0 on the source set and correct for multi-vertex + * source sets (see the note in geodesics.cpp on why CGAL::Heat_method_3 is + * not used here). * * @param vertices Matrix of vertex positions as Nx3 matrix (float64) * @param faces Matrix of face indices as Mx3 matrix (int32) diff --git a/tests/test_geodesics.py b/tests/test_geodesics.py index f65fa6e2..605661bf 100644 --- a/tests/test_geodesics.py +++ b/tests/test_geodesics.py @@ -1,3 +1,5 @@ +from pathlib import Path + import pytest import numpy as np @@ -8,6 +10,8 @@ from compas_cgal.geodesics import heat_geodesic_distances from compas_cgal.geodesics import HeatGeodesicSolver +IFILE = Path(__file__).parent.parent / "data" / "flat_star_disk_irregular_rim.off" + @pytest.fixture def sphere_mesh(): @@ -175,3 +179,77 @@ def test_geodesic_isolines_empty(sphere_mesh): # Should return empty list assert isinstance(isolines, list) assert len(isolines) == 0 + + +def test_heat_geodesic_multisource_boundary_sources(): + """Multi-source accuracy regression: all boundary vertices as the source set. + + The fixture is a FLAT star-shaped disk (z = 0) with irregular, variable-density + boundary sampling. Because the mesh is flat, the exact geodesic distance to the + source set in the near-boundary band EQUALS the euclidean distance to the + nearest source (verified against exact polyhedral geodesics, agreement ~1e-15, + when the fixture was generated) — the test needs no external oracle, and the + euclidean distance is a hard LOWER bound everywhere. + + CGAL's ``Heat_method_3`` (backend up to compas_cgal 0.9.4) collapses here: its + source-set normalization ``min_s |phi(i) - phi(s)|`` folds every vertex whose + Poisson potential lands inside the source-value spread. Measured on this + fixture (band = 2h..6h of euclidean distance to the source set): + + - CGAL fold: band mean ratio 0.54, with 83% of band vertices BELOW the + euclidean lower bound (impossible for a distance). + - Dirichlet-pinned heat method (this backend): ratio ~0.98, ~1% marginal + violations, exactly 0 at every source. + """ + mesh = Mesh.from_off(IFILE) + V, F = mesh.to_vertices_and_faces() + V = np.asarray(V, dtype=np.float64) + F = np.asarray(F, dtype=np.int64) + sources = sorted({int(v) for v in mesh.vertices_on_boundary()}) # set: compas repeats the loop start + assert len(sources) == 508 # fixture integrity + + d = heat_geodesic_distances(mesh, sources) # compas Mesh input (see overload) + + assert np.all(np.isfinite(d)) + assert np.all(d >= 0) + assert np.allclose(d[sources], 0.0, atol=1e-12) + + # euclidean distance to the nearest source (exact truth in the near band) + eu = np.sqrt(((V[:, None, :2] - V[sources, :2][None, :, :]) ** 2).sum(-1)).min(axis=1) + + E = np.unique(np.sort(np.concatenate([F[:, [0, 1]], F[:, [1, 2]], F[:, [2, 0]]]), axis=1), axis=0) + h = float(np.linalg.norm(V[E[:, 0]] - V[E[:, 1]], axis=1).mean()) + band = (eu > 2 * h) & (eu < 6 * h) + assert band.sum() > 1000 + + ratio = float(np.mean(d[band] / eu[band])) + assert 0.85 < ratio < 1.3, f"near-band mean ratio {ratio:.3f} (the CGAL fold reads ~0.54)" + + lb_violations = float(np.mean(d[band] < 0.75 * eu[band])) + assert lb_violations < 0.10, f"{lb_violations:.0%} of band vertices below the euclidean lower bound (the CGAL fold reads ~83%)" + + +def test_mesh_input_matches_tuple_input(sphere_mesh): + """Contract: the compas ``Mesh`` overload agrees with the ``(V, F)`` tuple form. + + Every geodesics entry point accepts either shape; both must coerce through + ``_as_vertices_faces`` to the same arrays and return identical results. + """ + V, F = sphere_mesh + mesh = Mesh.from_vertices_and_faces(V, F) # key order 0..n-1 preserves source indices + sources = [0, 10] + isovalues = [1.0, 2.0] + + assert np.allclose( + heat_geodesic_distances(mesh, sources), + heat_geodesic_distances((V, F), sources), + ) + + assert np.allclose( + HeatGeodesicSolver(mesh).solve(sources), + HeatGeodesicSolver((V, F)).solve(sources), + ) + + assert len(geodesic_isolines_split(mesh, sources, isovalues)) == len(geodesic_isolines_split((V, F), sources, isovalues)) + + assert len(geodesic_isolines(mesh, sources, isovalues)) == len(geodesic_isolines((V, F), sources, isovalues))