From 2683fedf7d06242c1ea17e994ae2e5eb4a06fdcb Mon Sep 17 00:00:00 2001 From: Luca Colagrande Date: Wed, 12 Jun 2024 15:48:35 +0200 Subject: [PATCH] dot: Various changes --- sw/blas/blas.h | 2 +- sw/blas/{dotp => dot}/Makefile | 4 +- sw/blas/dot/data/data.h | 8211 +++++++++++++++++ sw/blas/{dotp => dot}/data/params.json | 2 +- sw/blas/{dotp => dot}/scripts/datagen.py | 10 +- sw/blas/{dotp => dot}/scripts/verify.py | 15 +- sw/blas/{dotp/src/dotp.h => dot/src/dot.h} | 82 +- sw/blas/dot/src/main.c | 28 + sw/blas/dotp/src/main.c | 110 - target/snitch_cluster/sw.mk | 2 +- .../sw/apps/blas/{dotp => dot}/Makefile | 2 +- target/snitch_cluster/sw/run.yaml | 2 + util/sim/data_utils.py | 10 + 13 files changed, 8339 insertions(+), 141 deletions(-) rename sw/blas/{dotp => dot}/Makefile (91%) create mode 100644 sw/blas/dot/data/data.h rename sw/blas/{dotp => dot}/data/params.json (70%) rename sw/blas/{dotp => dot}/scripts/datagen.py (84%) rename sw/blas/{dotp => dot}/scripts/verify.py (63%) rename sw/blas/{dotp/src/dotp.h => dot/src/dot.h} (52%) create mode 100644 sw/blas/dot/src/main.c delete mode 100644 sw/blas/dotp/src/main.c rename target/snitch_cluster/sw/apps/blas/{dotp => dot}/Makefile (84%) diff --git a/sw/blas/blas.h b/sw/blas/blas.h index 9207bf6f74..f4698cdfb2 100644 --- a/sw/blas/blas.h +++ b/sw/blas/blas.h @@ -6,4 +6,4 @@ #include "axpy/src/axpy.h" #include "gemm/src/gemm.h" -#include "dotp/src/dotp.h" +#include "dot/src/dot.h" diff --git a/sw/blas/dotp/Makefile b/sw/blas/dot/Makefile similarity index 91% rename from sw/blas/dotp/Makefile rename to sw/blas/dot/Makefile index 49ff75b883..cee16bb92f 100644 --- a/sw/blas/dotp/Makefile +++ b/sw/blas/dot/Makefile @@ -1,4 +1,4 @@ -# Copyright 2023 ETH Zurich and University of Bologna. +# Copyright 2024 ETH Zurich and University of Bologna. # Licensed under the Apache License, Version 2.0, see LICENSE for details. # SPDX-License-Identifier: Apache-2.0 @@ -10,7 +10,7 @@ SRC_DIR := $(realpath $(MK_DIR)/src) DATA_CFG ?= $(DATA_DIR)/params.json SECTION ?= -APP ?= dotp +APP ?= dot SRCS ?= $(realpath $(SRC_DIR)/main.c) INCDIRS ?= $(dir $(DATA_H)) $(SRC_DIR) diff --git a/sw/blas/dot/data/data.h b/sw/blas/dot/data/data.h new file mode 100644 index 0000000000..b8c50a8521 --- /dev/null +++ b/sw/blas/dot/data/data.h @@ -0,0 +1,8211 @@ +// Copyright 2024 ETH Zurich and University of Bologna. +// Licensed under the Apache License, Version 2.0, see LICENSE for details. +// SPDX-License-Identifier: Apache-2.0 + + +const uint32_t n = 4096; + +double x[4096] __attribute__ ((aligned (4096))) = { + -43.58857377641414, + 876.6123442942255, + -96.7995531808989, + -766.7010531191003, + -528.8903649466185, + -899.2011353584794, + -601.8874967884553, + 716.9541336885102, + 195.10249626008203, + -991.3225414179232, + 79.94666299799474, + 818.3350379811425, + 653.4583855445478, + -60.256038177107826, + -304.0695893548216, + 272.04807301697565, + 455.50437636277684, + 125.49573360600198, + 75.69821789606931, + -690.6291581357618, + 258.52821314475864, + -509.4086950508989, + 708.2825148999773, + -43.92296123239521, + -352.63379072599264, + 732.8185557833119, + 826.327379113359, + -12.99047390219846, + -971.5110093812496, + -396.87416782467585, + 989.926197015656, + 328.6005625822452, + -485.1849983465926, + 996.1938163330383, + 384.42784017094687, + 585.6439898065848, + 327.1004000497644, + -53.125622717246756, + -527.3420846562642, + 681.4253480527611, + 356.8057333744482, + 15.620410811000738, + 523.9166436447679, + 683.6490247190875, + -857.3933480717866, + -561.2845451074917, + 930.9384434788376, + -956.4618014949571, + -525.3707241432146, + 543.6988074922353, + 206.30287788593296, + -781.2180675322371, + 255.4444044494312, + -887.878795692972, + 413.64048350082794, + -487.26954482545557, + 190.5767109254839, + -502.000107797824, + -340.0176923021237, + 876.2835797414243, + 49.03508817506395, + 715.6442975727427, + -50.369724581171226, + -997.9795843373822, + 583.0809287687077, + -374.8648314782679, + -37.768579582808, + -666.9948430310988, + 140.72165544476138, + 934.1051532439849, + 224.05929957937406, + -282.9008782142404, + 604.982331083447, + -811.7009159280857, + 261.598190370838, + -611.265598573226, + 596.5117302939352, + 106.81155186507158, + 798.775324445859, + -89.23982630429657, + 187.94526512229936, + 117.54359497774567, + 507.5864921408295, + 510.9399758045786, + -879.70104985636, + 115.2305235974568, + -781.0189193094615, + -406.2625059603499, + -213.197892513258, + -631.1597278794254, + -563.8207275569158, + -608.0041323500297, + -75.36796758522723, + -701.5616007642066, + -314.9989813020617, + -535.5576304957934, + 867.8862859052267, + 863.6023290345008, + 495.0591621160843, + 506.361235283797, + 85.15529929855143, + 469.7354553281248, + 155.70266312997364, + 632.5333888346295, + 53.639694919204885, + 370.80836051759275, + -83.65554452371521, + -658.0251057041237, + -190.09002999806148, + -490.2256830325078, + 953.741090956597, + 355.6351634509317, + -472.73179363418967, + 77.37317917528026, + -650.9884962562833, + -402.0720125095463, + -341.8213909382905, + -543.3435001503069, + -445.9024790392008, + -471.8339867531654, + -164.3046668586619, + -662.6724953596081, + 783.6567051870272, + -628.5177273876111, + -345.6294935450237, + -794.7141247200244, + -730.0518419684845, + -498.1757962215618, + 231.3181399630896, + -916.632655302563, + -395.0982593184542, + -628.372806383835, + 882.2927613790123, + -499.2066686681469, + -205.90784867584546, + 268.1310890873592, + -803.308062136574, + -859.701946525206, + -829.189689623217, + -836.8364765359875, + -866.2698364651524, + -191.16079565032783, + 723.6122285032507, + 609.4690277553912, + -475.5280507752426, + 349.16975183300497, + -206.53622002210886, + 656.2814562415376, + 314.2872321919699, + 435.70201669776566, + -950.5940333373309, + 226.04046061434406, + -667.4099170377278, + 760.5560575239756, + -284.5595945347212, + -472.4333852089426, + 578.7459955683235, + 567.2798376141154, + -874.4411831835693, + -473.6176853069172, + 204.88472347764582, + -82.40610608524571, + -11.3646545636459, + -531.4827715022097, + 285.51858753597844, + 130.6418115059464, + 0.8189136034577587, + 994.1821251299896, + -115.40515500461265, + 258.8307057208747, + 964.7653242796559, + 442.1895589996966, + 275.5452458551715, + 238.21508076882674, + -587.958423682367, + -0.5658213516929891, + -854.4430552129021, + 319.85667061674576, + 168.5430392143644, + -409.0589416700352, + -636.6404533626855, + -594.9826294238421, + 273.20155635126343, + 263.9705375498045, + 26.78194194804837, + 731.9889658542374, + 709.4723212483977, + -287.4702771865334, + 394.4905926305378, + 949.8572685091287, + -523.9269828842441, + -716.9164774032974, + 449.6384577653978, + -66.74119177983687, + -489.15384830427166, + -23.864148987207386, + 601.0092112472666, + -530.9289403846608, + -751.8299416140444, + 25.345695502519902, + 610.1893667120939, + 302.7277574329362, + -504.3591463815347, + 363.2072942795767, + -175.07744191760128, + 297.7655790578897, + -237.8562341090991, + -247.59364889037533, + -107.81155747523803, + 645.398231746203, + 838.7826495251841, + 535.7349097180247, + -371.7355723855005, + -746.2379430190529, + -625.122847601699, + -879.9246587932435, + 218.85875393127685, + -704.0256749462594, + 494.7407309303296, + 464.9199292186611, + 149.95610365192124, + 649.8256894061028, + 375.859186720573, + 427.1148905247419, + -38.714575491219534, + 348.11706826604814, + -447.80361454408046, + 333.57956041673174, + 493.4277763241464, + 404.28924294289936, + -353.8717999001459, + -231.56451858509342, + 876.9815756820085, + 389.07853610606526, + -946.7821036423665, + -326.8903017205946, + -137.94270716056565, + 159.12601214288043, + -701.7057444442114, + 811.7300281794692, + 978.9656988449187, + -439.2818300265884, + -488.35906525163807, + 305.66954347038563, + 706.0826246365111, + -852.5809342934605, + -363.8889350749346, + 85.94506537026905, + -719.0597113378825, + -25.437674466787257, + -574.3439289440071, + 749.1251440526476, + -633.9001274303471, + 844.1582276595241, + 459.96610188534237, + -180.46410126964156, + 328.0510209533086, + 955.7345361808068, + 92.14064048144064, + -1.1300503083795093, + 83.18774102768566, + 986.5605755175823, + 774.3052182799756, + 102.5335477897288, + 682.3941862808172, + 420.82226163286873, + -829.4223396029889, + 670.1191388309994, + -963.8942895306069, + -273.6386607776416, + 215.34681421257505, + -203.4894102225278, + 23.44598888194207, + 490.15606247865503, + 274.46416137670167, + -126.51897345936504, + 220.59868436505667, + -528.3188142027204, + -712.5426918401772, + 942.1829849963035, + 794.8555849255822, + 766.7179905508206, + 684.5598816222398, + -237.52802723403101, + 467.89380700985885, + 663.641933999093, + 816.0169733488299, + 456.66077165507954, + -134.72396851541873, + 35.422221115502, + -567.4203668095847, + 972.9791983406478, + -176.23048013516132, + -456.5877376392002, + 820.7187044509346, + -680.4058202672738, + 902.1461844100386, + 358.45506565278106, + 490.2814302248653, + -50.43458832154647, + -210.7731152594872, + -595.852982968549, + -494.9165453259523, + -378.5691014362402, + 663.9903505830537, + -662.8089208678092, + -931.806721949099, + 870.0659706174508, + 874.2487799075882, + 545.3139865173737, + -449.9433313609045, + 705.5667640861827, + -203.43137952718916, + 348.2491729045332, + 689.5719364239012, + -779.3417569462683, + 299.65662226951395, + 327.7368645744916, + -841.2126282610297, + 94.8438087474567, + -207.13724978957782, + -177.35546036339906, + -8.58223612921654, + -751.107832952946, + 693.4504938814246, + 711.3700834725973, + -698.9555536962331, + -598.8141173912959, + 220.73923525308646, + -951.5772298944543, + 766.2352022542693, + -537.9306269629609, + -468.7531558512969, + 700.6055293169131, + -112.17082208684758, + -382.6475937850937, + 919.5493458294495, + 836.0844801786907, + -368.3543816226962, + -168.32415361736923, + 170.57425250814117, + -917.219761315242, + -918.2101945812185, + 451.972352894129, + 639.394466778765, + 619.7396440947227, + 367.9282404913947, + 58.50603457277862, + 169.12697756757711, + 584.7527259738608, + -286.40516727364, + -27.911144276746995, + 412.5292836430324, + -886.1231417677502, + 124.63115532060465, + -244.03816830874246, + -113.11361060129707, + 317.49428766797973, + -933.871636746872, + -628.6637384902956, + -456.3340423379259, + 939.5724323613972, + -235.6990264781516, + 679.8042233442534, + -916.6442077141496, + 824.2956925875512, + -64.2798120977692, + -214.7440824212057, + -80.936332597356, + 217.12271470185328, + 604.2370817615288, + -698.6917115731601, + -301.0951295914949, + -871.488278295307, + -59.30246907549508, + 205.67323149501135, + 650.2837314438605, + -416.23077288848447, + 20.303441161143155, + -289.7125994170617, + -538.5434036652122, + 923.0793743773086, + 495.07010271875106, + 289.95732599413896, + 240.50107611002113, + 426.0712427645326, + 64.78740027153799, + -543.4018673803664, + 360.08634720104624, + -722.695452653707, + 351.79520333388723, + 450.85357911838605, + 590.34868849277, + 327.451890576496, + -253.33626098280513, + -129.47326067392487, + 72.22107458131836, + 817.061161654156, + 721.8229338517842, + -781.2679756260603, + -685.8665260341372, + -895.2543368874137, + -370.22647432546216, + -256.08038237645655, + -730.4173667747735, + -255.5104402078365, + -437.18776328752847, + -209.24591970555878, + -287.71123985752433, + 567.5365713926312, + -624.0772933562309, + -967.370574463156, + 222.37478506139792, + 833.0455386250412, + -676.2648598031524, + -458.1650804725243, + -296.6202305471421, + -438.63176990082354, + -9.5498815304245, + -743.8071840390428, + 917.0865171939461, + 100.2435866604485, + 361.2942783002545, + -401.58524150238236, + 87.45436806614839, + -56.42596439787064, + -554.5717164834105, + 52.986713830232475, + 904.809158243939, + 443.9893856037779, + 91.69363968578432, + 909.2342971662033, + 615.3382026671179, + -548.2227072573864, + -56.6847002593895, + -211.78196688573348, + -373.48621805627965, + -754.6009795741238, + -645.8825098491347, + 905.2382039516676, + 681.0579626172284, + 929.9663838045128, + 492.1863686262709, + 499.17559858604477, + -451.0231001097891, + 244.97871159073748, + -917.3184087950088, + -526.2286707374135, + -455.92824955328683, + -805.3748558026579, + -822.0503250495708, + 101.0212288664809, + 862.1141579097587, + -628.6825859842418, + -164.19595917350603, + 957.045970301245, + 98.87179381046872, + -286.18606824629114, + -977.4636990792252, + -603.9627495515127, + 741.4489711644369, + -202.4345176268181, + 631.0854592959197, + -64.68792213000893, + 46.463928029977524, + -280.1652087906266, + -695.9722948757627, + 827.1871090449763, + -524.3295360023972, + 8.115177706536201, + -149.30430054557405, + 492.1500815174695, + 814.3669248138078, + -747.4896164136235, + -582.2541554890477, + 799.6750063060722, + 719.6592442398287, + -538.8964878367458, + -807.6606523508145, + -176.7392225846802, + -955.931789531969, + -237.69175497353467, + -95.75296760560013, + -752.7165076249431, + 775.1541480835965, + 576.0203282134839, + 327.7872641236895, + -604.5618110133317, + 826.0736625043653, + -582.1236857118647, + 753.88421910424, + 229.77662787418012, + -948.2715644290096, + 317.57951632265576, + -441.96710311009804, + 563.5419283055066, + -50.975098728658395, + -643.6789404722039, + 679.4077104292144, + -938.4379135430116, + 276.3027126933039, + 622.8754240574924, + 256.3986222575754, + 392.61183521232533, + -275.56033253961095, + 869.5836726108253, + -68.85018546772835, + -912.1505430677875, + -911.5225790967392, + -992.3666234714439, + -447.1452331921788, + -805.507888683941, + -689.7561597175135, + -836.220405480993, + -613.4099740912742, + -480.62603686766715, + 218.89471023700867, + -451.1272250551755, + 751.8877101759645, + 425.15299390381097, + -684.3332711018193, + 951.7492241920947, + -605.3689175253634, + 788.3844350936811, + 718.079397443872, + -613.326410468708, + 31.47107845579285, + -929.6176320893687, + 539.4946500631418, + -159.2720551011338, + -399.534684144891, + -319.2725901526545, + 711.7274835801804, + -694.2626983087368, + 564.9014963175437, + -264.49413989221364, + -853.505179402966, + -853.1448814600094, + 884.8019953330997, + -326.60267707048774, + 273.9055381655901, + -774.7622781032451, + -170.58842917260233, + -613.4302003731482, + -123.31332665988293, + -115.66363630204376, + 670.4039248697313, + 631.1944074930257, + -512.5237356608848, + -655.6849180585882, + 355.82773413709197, + -535.4209129580045, + -478.65972488382533, + -843.5233990838074, + -391.91419785037533, + -158.04873356759288, + -953.6585006590836, + 457.23421492766147, + 354.7182702978307, + 517.3450226896002, + -402.08431810641287, + 953.8754351749346, + 505.1273130777538, + 654.9940517607968, + -745.4549479335515, + -430.94641544447484, + 326.8235228493968, + -647.9477505531523, + 990.3269443419665, + -172.12907130194628, + 884.411742865796, + -285.1853471842927, + 824.7784657800046, + 806.9183079755712, + 952.7338092615171, + -793.0904848640432, + -584.7603644435302, + -669.4942982426332, + 970.1632600730943, + -774.7682658740127, + 958.9325341161086, + -131.0297329324044, + -918.1997229073147, + -991.9303403830339, + 249.1876543400308, + -382.9832720248594, + 630.8577850244108, + -898.780027949871, + -119.60602014285439, + 290.8293856621988, + 644.6536983504197, + 677.3995664721826, + -916.2300597612355, + -729.4214457392047, + -619.9489809976249, + -221.95121311278695, + -564.8270100431356, + 24.11797511537725, + 262.51748121288824, + 151.34384078366088, + 127.93401699926562, + 508.0316710475038, + -409.0555164727281, + 258.10377578944554, + -618.7222469098792, + -124.59113154747388, + 491.3622812181686, + 610.2999476693799, + -450.0918334397812, + -190.78944110217287, + 905.331801041149, + -887.7658813367404, + 869.547521777353, + -437.5281349239284, + 97.09736192745868, + -671.0707601630736, + -461.63466582673254, + -895.8368644237313, + -723.2248132431409, + 122.35121377561222, + -521.0316537174876, + 147.3009458527847, + -62.85412208346622, + 79.30705078817596, + -150.05072981434614, + -747.7464246582981, + 894.0016061919807, + -746.4058990954832, + -399.35431753004184, + 826.8545316507757, + -430.8622471570278, + -998.8587879474942, + 494.2721525102504, + 762.4043967043244, + 126.0083883858747, + -277.24503607349345, + 844.662926302414, + 334.2166541998888, + -655.1244518405138, + -12.404295061282824, + -260.3602934857605, + 635.1260079370129, + -872.9059072163045, + -895.0116815504614, + 227.33785946255034, + 586.3389285891192, + -734.5863104523778, + 825.8734140995045, + 465.47486950508437, + -100.96496453979182, + 546.4223936710025, + 659.5865935386978, + 769.3303808076255, + -79.67498085747036, + 217.94544505411454, + 361.63682391696443, + 955.2431571001423, + 130.77279139390976, + 392.9219193791646, + 383.9080797072422, + 23.937420890677913, + 137.45507919327179, + 750.1471855287857, + -747.5833869489845, + -405.97287553944534, + -906.6586343113358, + -266.2196426869592, + -396.90487694753097, + 168.82487617144875, + -176.45559348854454, + 742.1875777810988, + 218.84904211800608, + -973.3447714201577, + -864.0200563635048, + 905.9258451601049, + -563.5400350416062, + -368.5592384758405, + 932.4564113498968, + -512.528531858263, + 290.0520077407243, + -348.5918459068778, + -926.7597367656184, + 66.08561798022333, + -817.6388341042934, + 529.4766568752948, + 681.1679126076681, + -789.7379346417912, + 987.4579280459727, + 838.257654450671, + -192.78415352831075, + -661.1364357651719, + -284.8845989442814, + -978.1912064847797, + -347.41135660951363, + -657.2093591566324, + -181.29673162930794, + -666.3402512522348, + -694.168078123714, + 188.6905457006976, + 330.63136124121274, + 558.4004334836952, + 689.4458651961781, + 145.59168358291777, + 284.20034164312415, + -288.7873354412162, + 798.8927510966103, + 15.599704279167781, + 388.8121248462635, + -990.5646070717345, + -386.65837962930925, + 8.725978323028244, + 896.497325699798, + -475.9458818310401, + 12.642759403804803, + 994.1100258463443, + 45.54929064228986, + -332.9626195858873, + 324.55723370938836, + 655.6206167181954, + -612.9714664978927, + 255.9290992475337, + -132.51467289766651, + -34.995788256602054, + -87.42715844323266, + -5.844770120387466, + -407.16120170163856, + 669.2451216222325, + 342.806521818334, + 218.24124831882023, + 92.31114603099559, + 150.2974065124713, + -223.6332629047497, + -751.6346333732242, + -969.8126906544371, + -16.481609834452684, + -356.3500848896608, + -420.43437151072465, + -256.35102002739666, + 881.5249502898989, + -46.54648226105883, + -150.47244418438254, + -470.1168746218956, + -762.5843734986672, + -772.50601009298, + 864.4611166297884, + 797.0111227312398, + 115.67279620683098, + -888.4317627282862, + 297.91510764811164, + 298.4018375510659, + 670.3310601404103, + 455.4437008184707, + -441.46905221944996, + 150.85560288053375, + -741.7747265730668, + 122.08937410502631, + -289.1282409433327, + 57.5570827460333, + 113.30117969684329, + -246.86115183942286, + 818.3474738830982, + 831.062073459992, + 382.415947106507, + 353.1568274711942, + -397.075514220351, + 330.0308371405547, + -380.6494265624498, + 929.8400236516704, + 456.27650934635267, + 528.781878282507, + -316.4820549365787, + 603.4630801305093, + -826.1656316047328, + -444.3264791757888, + 770.7936582413258, + -576.0930944290283, + 726.9821268453327, + -259.3050225088773, + -114.01049133172944, + 665.7628680949942, + -284.4365583383501, + 359.0163955067253, + -900.1662573708111, + 755.0159761155385, + -28.727599981989556, + 165.10120686107916, + -860.1481519800358, + -71.81106795436756, + 620.6649133590761, + -921.3469110436321, + -221.39332986452303, + -640.0629029908707, + -624.3289684544893, + -339.8757893069353, + 855.8764965280031, + 689.3237820191848, + 462.5457134946282, + -39.37647493297436, + 775.3572623339362, + 4.094156917683563, + 926.6911433116961, + 210.50482699662257, + 932.0390826139912, + 583.3601457869488, + 971.4596812607756, + 390.10724311794297, + 400.2037531529386, + -203.71815184695754, + 620.7314616691963, + 320.98286020587443, + -635.180478903178, + -599.5208479820055, + 98.9283191934594, + 991.0007091111668, + -749.1495934065331, + -107.36510211854488, + -79.97598722354041, + 118.92048121837252, + -322.17741612413556, + 319.2263736840532, + -693.5835031077163, + -198.1106086481974, + -99.78819008423727, + -966.8579087970368, + -120.07802528690206, + 886.900282220058, + -976.290119749125, + -533.8586072527235, + 497.4492965983511, + -50.12653881385518, + 973.7529048980593, + 608.5297548794524, + -94.67505127828474, + 338.66725241604604, + -106.01445593553535, + 620.9181845571229, + -213.5191659410276, + -787.8516904335006, + 970.6253086126424, + -602.7571375614456, + 139.13590488591763, + -206.97242469648393, + -73.72887869749809, + 679.8468665683706, + -984.3472410337874, + -305.47043591735417, + -616.7922290500949, + 267.5922576455273, + 258.91415497995104, + -249.07214889913848, + -828.8280681780269, + 378.36845400727566, + 256.4336233758945, + -939.9480920901029, + 784.2142496432296, + 992.8250250561459, + 76.19483643745184, + 196.1396273016735, + -560.7166139020037, + -171.21066313591427, + -970.8763538230473, + 651.9905677303204, + 763.9833149480985, + -386.61555064627714, + -979.8412424493073, + 439.6764842065768, + -648.4514704165942, + 440.65251503466175, + -995.0404117515142, + 858.2804533459903, + -399.4979148958564, + -630.6333509193264, + -519.0259347878094, + 315.2732089883575, + -920.0868585850181, + 904.9123348765092, + 806.6923394635608, + -629.1789288072545, + -823.6130565362678, + 896.7515944939842, + 516.394696934362, + 866.5439193411762, + -226.52933530817006, + -239.34487898194652, + 607.3564001372231, + 395.10370414920953, + -327.6758927226158, + -754.3972616175698, + 406.6484533496573, + -787.409336026052, + 875.1858387707421, + -443.5709657401759, + 737.9434504392034, + -786.8708847180135, + 582.2331659424656, + -187.22715306212945, + -719.5906890416384, + -871.8100661143502, + -752.0496230656937, + -284.6124600776709, + -837.2689796187626, + 503.9104951932445, + -233.9716733019901, + 450.1907384079409, + -484.8794202891984, + -377.81506350613995, + -284.1293243785283, + -740.6191670180908, + -356.0519763070929, + -361.48598254875935, + -659.4402719237828, + -607.558690804583, + 396.290622226541, + -484.08744066536235, + -756.0317500832292, + -476.45622133078416, + 731.9067767562908, + -248.32274602629752, + -653.6713897214408, + 292.82808914377574, + 887.6515530787478, + 447.8415979616102, + -938.1842236538738, + -612.7002946935114, + 937.8485236168879, + 548.7938070633759, + 867.7056789386052, + -6.746507359070279, + 441.79734901136544, + -260.20163537893495, + -401.1050611561906, + -750.4323597532409, + -736.0428088796353, + 521.3692710942069, + 663.499794290949, + 785.3435441276458, + 454.980378633717, + 970.8798739193921, + -375.01595444757993, + -718.4917230997444, + 159.40096445646031, + -169.16579722005645, + -506.67195790072594, + -335.3945577751358, + 893.5937274982089, + -137.33134284715948, + -933.8372099701826, + 204.8556611474719, + 944.8159690104953, + -186.71620589227086, + 862.3592385430497, + -574.6565919949369, + -438.85752149694656, + -741.2936664521466, + -782.4579559178551, + -134.36088332150644, + -278.55242454820916, + 65.38357812474987, + 973.0490583309552, + -728.444970503807, + -578.0167512938632, + -101.88247752002553, + 805.4115108193016, + -313.7293370039706, + -740.2549986063367, + 940.7217022159944, + -695.0671160100079, + 880.9667525286511, + 463.9268849120449, + 72.11419517856166, + -633.1919754489363, + -218.8187056358472, + 359.29758798600005, + 863.4726781451391, + 848.5479934674993, + -349.7225819635288, + -794.5702340094076, + -693.1095099298805, + 658.4849720320572, + 638.9618619001644, + -935.4740503536523, + 887.1929724809609, + -977.201661361784, + 879.2070995421186, + 857.9464084790047, + -825.7916939071424, + 604.4093747829966, + -689.4390905605554, + -546.3357498420933, + -704.5954709429127, + -379.596908849245, + -893.850637037531, + -202.99743916561135, + 573.4227639754047, + -287.0311662971541, + 783.1638918678102, + -404.7809328973975, + -308.87749522981653, + 944.8461764712426, + -220.63585028000102, + -163.11207397658302, + 985.9175791248945, + -65.21656476177702, + -197.79257601800236, + 90.54290509625753, + 49.544978263019175, + 635.2281280020566, + -481.2353219440662, + 133.59374134043833, + 141.55687416397814, + 890.3107254312661, + 723.9785623097716, + 965.1180685451707, + -953.5260201959654, + 719.0986605716282, + -369.8065999682814, + -375.49626611632084, + 709.9423132575971, + -948.2590284838999, + -43.669673057703335, + 991.9213004308758, + -914.959219622731, + -195.1711502006117, + 333.3605818112801, + -984.9202076649846, + 637.5698624290349, + -51.20427418747454, + -694.1586652933083, + 818.941582392302, + 120.08183676232647, + -532.5193974993512, + 895.6257748283322, + 610.0114255364153, + 50.25380826212722, + 490.8902946511528, + -90.63770080481822, + 380.41675667542563, + -13.657379647122866, + 706.9619693511975, + 299.32304144329123, + -23.754966470364025, + 59.012394835974646, + -304.63483202869577, + -285.67329783470495, + -932.8881529593523, + -312.56660482316965, + 534.2439904062494, + 783.0195693954872, + 315.5203784342807, + -529.5177121323278, + -936.2457505094291, + 786.8125105751819, + -189.472015670985, + -928.1066561270579, + 159.4093112429032, + 290.8977431347994, + -886.4658364261873, + -786.570810025212, + -471.3617541079493, + 54.801448851765144, + -59.828545124644506, + -238.33057942994867, + 662.0821067698487, + 225.47687373708823, + 362.9721681127089, + 401.25321902763676, + 683.0399808648506, + 746.6228003535768, + 918.3385376958563, + -961.0796019797083, + -886.2338464596191, + 761.1485459197293, + -942.6791136843431, + 138.6722306891536, + 550.8567198205733, + 991.6226449527651, + -976.266787422954, + 896.2619466683736, + 312.269933431975, + -791.892953586799, + 773.8698946799573, + -407.5162112700192, + -698.4234640576348, + -519.1080796412031, + -863.4565654777828, + 26.68376403523257, + -233.50461994081866, + 786.708281353948, + 554.4056354856359, + 979.5965824745224, + 144.72549513897525, + -250.31298430705613, + 311.20157215817676, + -799.6927560749634, + -506.1030388740282, + -386.252606991623, + 771.2298378476628, + -359.7340246015641, + 870.663732828677, + 199.06949986992845, + 199.34880877614114, + -734.8974973058093, + -320.97748675847095, + 907.4241357354347, + 385.6474692908628, + -683.8113245139534, + 846.5035988265324, + 160.18524480108636, + 950.6669539283157, + 631.5771796347951, + 959.9445360896725, + -884.6358317487209, + 231.06162970338664, + -82.07754571574856, + -539.8969209133551, + 473.2008177163618, + 237.61216592875553, + 341.4373198645203, + 831.2732617947067, + 551.7156678348927, + 209.8475046674066, + -984.4265403662005, + -398.15709445631956, + -899.0619436373926, + 133.0474321119998, + 708.3216541253196, + 509.55760373430576, + 540.891145721504, + -823.6194756918143, + 34.85077774645788, + 351.1332446548179, + -468.4918059945047, + 991.5070485369588, + 518.3451090106437, + 252.9084580424394, + -187.32736084069995, + 218.78861753300635, + -440.88534096923615, + 731.897324081001, + -848.6741865744847, + -121.81952522103506, + -44.64100620046224, + 697.5100896570382, + -123.03726356898585, + -251.18996387381242, + -822.5261571015145, + 482.2271708518972, + -787.9592867800054, + -756.3910081581515, + 216.34563269117393, + 93.97547174288388, + -608.8550926286116, + -561.8005090725773, + -563.2607992549097, + 229.76690483204152, + 229.94025377103662, + -870.432704613258, + -327.2493254858497, + 875.4636425753254, + 153.63855290313813, + 574.360763390222, + 874.2928986442039, + 968.3687617194191, + -545.8017134547324, + 108.8765258656747, + -920.4271301764202, + -864.4808627247054, + -526.0562078319666, + 128.49020747887107, + -662.6006244709017, + -822.6548800024185, + 345.02197314134287, + -445.8734820188872, + -723.8868956297382, + 129.54493417869685, + -470.19162431887014, + 670.0547893000453, + -154.9668400492352, + -140.97794160503565, + -928.4219729694014, + 368.9587958924674, + -206.2025607583613, + -218.877104636563, + 240.16312697649187, + 696.6095105841894, + -573.7165162669914, + -161.36284182761233, + 159.12684964370828, + -988.6432635780085, + -323.8818415318325, + 918.3141380427548, + 358.37297170177476, + -745.7405561540194, + -651.9846142474946, + 970.5153760627916, + -446.18751619243733, + -582.2081142368272, + 171.80395618104876, + -82.26210460936056, + -892.2811284950693, + -322.764720027497, + 145.4613159892142, + 567.5927404435599, + -163.41325227805805, + -408.17490386126747, + 910.4289323532626, + -209.6643722102491, + 348.68884052291764, + -878.9063923451467, + 691.3233337301112, + -287.25281372150334, + 615.7019201151195, + 954.1601246061189, + 616.899011363945, + -821.2592732167534, + -970.5170333812558, + 761.5030252803731, + 394.5467209002604, + -879.7201392052083, + 77.27439838616078, + -949.5771920326388, + -495.98536168809073, + -280.7755891799968, + -261.77364372560066, + 715.6071385795374, + 869.6716729570874, + 370.23060167651556, + -927.6390644120156, + 710.2997740305016, + -137.30541998382023, + -241.08301367326226, + -860.9079986932533, + -616.0197829595566, + 863.7641371458872, + -940.2127231179453, + 120.98771940377151, + -471.8044109814772, + 192.49051563259036, + 450.7477360701837, + 250.70801182219725, + -962.0563257843912, + 305.028098812792, + -748.7646216886246, + -621.6939110706226, + -6.058174962488806, + -429.855795456293, + -447.5959680678907, + 58.15169276954771, + 10.104694747938424, + -996.5274938844464, + -791.2287524539519, + -957.6476032779826, + 983.3040568120955, + 307.70082699897785, + -184.8513969563062, + -527.1022905774698, + 448.3738894742951, + -934.9081102919314, + 707.7726319577203, + 178.23741867973467, + -178.2796311804367, + 896.0371480783897, + -783.7109186932857, + -232.78171484895438, + 973.9584252101135, + -417.28584126920714, + 949.5741974209109, + 575.7034156519235, + 399.8015076549807, + -741.006220725191, + -599.4620099139274, + 432.5750601129257, + 361.1529593451762, + -343.63670393888174, + -470.10509032477194, + -258.2845677223322, + 834.3870962455046, + -223.6566181373165, + -53.92801770163305, + -229.24852456422525, + 778.4705207188267, + 46.53496757400694, + 725.3509635878008, + -979.7031435173376, + -505.87540807179823, + 470.7451820217368, + 191.7186610313713, + -65.12221900272118, + -966.8571718001879, + -198.40038596036868, + -828.6888898537109, + -129.94562433147541, + 239.22355020831242, + -626.411548210305, + -960.6506668923216, + -369.04315415697124, + 17.533461750702145, + 172.0436633524473, + -475.73528996728066, + -61.353446511199536, + 987.5070312366906, + 926.3197791148675, + 330.02127343278516, + 387.87094517644823, + -317.4439834135352, + -833.0735041702637, + 526.1189661130147, + 354.2662577340004, + 520.7243664516961, + -10.531926923408491, + -269.5964377934497, + -973.4025257537564, + -563.6504731918117, + 516.7025691775552, + 566.5275054422823, + 316.77209434576025, + 118.36995856764361, + -720.1355399406884, + 418.5269700140234, + 216.36791711944397, + -303.7944527472582, + 316.40403556423803, + 885.9907012225653, + 123.44667975697234, + 207.19865169097693, + 764.8346273215823, + 147.36041080251994, + -804.5603963473826, + 399.2571758094384, + 910.2287158998834, + -29.069126349267776, + 833.3704670532516, + 702.0049699326364, + -345.5891192391156, + -342.8174395899089, + 168.6147414394784, + -318.7284938079172, + -748.3902777665328, + -508.7832129580705, + -243.9555671647489, + 999.7194568507648, + -494.3400935957274, + -422.57907372425075, + -555.1168507920556, + -952.4184038503982, + -674.8936672869896, + 369.9962755488184, + 702.5605155170156, + 224.11869137851, + -46.835691390225065, + -624.6226521738414, + -450.08833587997674, + 234.85274455421836, + -259.5778305250784, + -634.2494461156475, + -98.07727499950533, + -578.5573428526343, + 121.45561420845547, + 765.9476256002933, + -649.0604660631263, + 217.23259637992624, + 725.3993365595404, + 431.7458089951913, + -808.9013588101627, + -227.7032134664554, + -404.9044852252681, + 866.5203822837873, + -452.2440652613002, + -280.3275653815389, + -772.3012714066517, + 97.34611279487353, + 465.87910821406786, + 993.9434322992975, + 708.7285109972784, + -896.8718018267565, + 524.3773621381374, + -652.5398690101731, + 221.2253952270712, + -414.70550029521894, + 459.867077125831, + -800.0706384700327, + -853.83280495479, + -671.1430147766287, + -566.3414746762827, + -169.3816414475349, + 563.7474478320057, + 663.6338916132327, + -361.4613638654496, + 748.5827290329728, + 768.5756085297053, + -294.0948995702553, + 82.76964811133598, + 42.86470680874572, + -947.7070932311786, + -818.6509555446146, + 966.1263181863135, + -572.4954770570769, + 171.32684123825607, + -850.5426629762594, + -128.23055030723413, + -854.9589467175942, + 436.5284801813989, + 350.93231270016213, + -982.1395429562693, + -365.73502412081575, + 778.587494226937, + -613.9317396929627, + -835.2120295169984, + 467.85983282962206, + -166.880628565419, + 554.4539139285894, + 746.1164440322532, + -948.5345005937322, + 657.1217035395102, + -889.7346157699664, + -170.36345715020707, + -806.8699985823171, + 877.6785649414389, + 744.0832340020202, + 718.9725353120139, + -582.0107506137451, + -709.9659719252529, + -923.1619300843439, + 263.06599391484883, + 163.5993059442892, + -836.617006542189, + -409.07983655893315, + -687.7100843384911, + 389.95260965052944, + 261.07881905130307, + 332.415278437021, + 201.1969474853197, + 799.4167708355378, + -27.90994407734115, + 797.3232655803681, + -161.4891390999644, + -966.2946980347533, + 550.6983870518447, + -769.7219108108235, + -555.9656771441686, + 173.09253361004562, + -364.2472940821224, + -956.3286650087385, + -737.2623070210147, + 760.4843631766025, + -255.32982458698905, + 261.31871816496664, + 803.8689031338822, + 828.2014693582723, + -683.1534319563377, + 850.8908567382712, + 608.4313823201396, + 976.8577427638429, + -867.777163778834, + 624.288877990316, + -943.9005600239751, + -407.4902823008297, + -766.1153537613774, + 215.8034588435928, + 695.3580318384049, + 546.5364626715709, + 964.2613901930013, + 76.44492553061423, + -814.685672006944, + 514.9512519197337, + 294.78736091783776, + -512.2421642616275, + 169.61123783577182, + -641.8303450428398, + -8.434319989918663, + 840.9159520140906, + 694.6973076930242, + 440.9126617134523, + 246.52094940319853, + 873.5525860777659, + -98.02158518233762, + -467.2342596928138, + 225.59119966989988, + 312.94357877357925, + -736.1781138230319, + -973.2357940937763, + 494.5438096390758, + -622.7640126827698, + -80.17028572645677, + 586.473703744744, + 429.35408913724586, + 875.6405082504366, + -262.5256609948707, + 401.61139783748695, + -695.8338344384761, + 84.47590188086451, + -979.7933473918432, + -36.096291417908105, + -680.4116846422305, + -432.40980651357313, + -982.895109443336, + -738.3325225862243, + 625.0263598195331, + -384.91212285981715, + -109.57014765394456, + 44.841420431210736, + 629.6715517148532, + -462.02881675873493, + 526.9980865000903, + 978.3602282898898, + -929.2481452094829, + 562.7449516350819, + -593.6366574299427, + 559.6438020853823, + 157.71264913284745, + -664.712835806728, + -232.8369493949516, + -145.115265283368, + 848.2717423870256, + 935.8411394661568, + 90.2948150730806, + 199.64602790269282, + -185.92364322474043, + -102.92487128891639, + 210.08009298679008, + -559.0194126742686, + -835.5229580650962, + 834.6064679875208, + -5.655602888938347, + -619.0492050622668, + -441.00738969518045, + -393.58111064230127, + 716.1160820404907, + -45.47910149056247, + -376.43504212346636, + 956.1026468620237, + 832.4651130342625, + 543.6411336700312, + 71.78842966698812, + 10.627443579821943, + -404.90418353420534, + -690.4704975411271, + 538.3365076417872, + 447.9278478057913, + -361.57163797197734, + 420.6822858668188, + 333.5622084790689, + -710.8200166301397, + 768.6844782285646, + 421.10688387250593, + -456.0688674718143, + 660.8621171400293, + 706.1134842769575, + 609.0104354302941, + -845.2079241239079, + -981.2218329806179, + 772.8588146971922, + 67.25058250583834, + 481.75143784637294, + 449.43102676303715, + -321.2368624965753, + -745.738412541344, + -605.4757924215974, + -727.1941532339215, + -641.3171479313198, + -812.7937698072236, + -788.5804294932732, + -32.34850899673859, + 915.6494433634609, + 676.7999793886311, + -89.70778717530675, + -542.016621359093, + -391.47451833434025, + -624.8853912404236, + -516.2075825518957, + -194.28026819739716, + -304.8237550936965, + -153.0558004201108, + -827.5957339204311, + -553.939312810938, + 966.883477272698, + 593.7388078988076, + 851.1792761261077, + -63.55779636735929, + 791.7375827322285, + -548.8082444313077, + -157.98010407051777, + 310.95397741281386, + -113.08303498878831, + -404.4858614792046, + 237.56339036599934, + -573.2532973506309, + -232.13561887038577, + 55.209700682039056, + -228.66726340913533, + 712.2463045989844, + -81.94082475943776, + -590.0494911962271, + -963.4951255892022, + 292.3831849713156, + 620.5632982916641, + 104.12878795723145, + 592.9350639152453, + -216.9399945949168, + -618.7361377375706, + 202.30289449691645, + 248.6999510756125, + -645.199887477723, + 836.8340685361163, + -42.919582562743926, + 756.7152522667725, + -245.46260247224666, + -922.659184339611, + -423.4050301384116, + 358.2858596672204, + 202.54476090608546, + 17.22626359112428, + 130.29038836559062, + 673.7257705308218, + 33.89043428669879, + -286.9653478393391, + 954.5997379348137, + -55.910085202803884, + -527.8321015364961, + -365.64872591120934, + -178.42237055058786, + 701.819097486182, + 825.9894832868756, + 861.8181150910723, + 734.8065170261602, + 920.859981679462, + 176.46529438228845, + -673.4306339328915, + -360.86943419767704, + -892.5572724550965, + 454.0876021696913, + 208.8936318501178, + -933.7755311006728, + 206.30616036307424, + 275.9145768152839, + 561.0341937828762, + -314.61100498494625, + -562.5030533930351, + -671.6672957788674, + 840.8651006689438, + 608.5588239134836, + -315.10305636889996, + -389.64753625459275, + -649.9734446280947, + -920.5545292405133, + 428.4194843350583, + -581.6089654103009, + -572.7627571482117, + -863.7245449739917, + 643.1240282139559, + -906.8393568567939, + 107.27759263169628, + 790.2520484398501, + 911.1374975461631, + -863.1518812517116, + 241.83019184540535, + -588.4772434157358, + -768.848381306495, + 879.1933635365367, + -103.36439791442808, + 334.57251130284453, + -90.5796872025968, + -936.3835457340977, + -325.75053417183676, + 446.705813793596, + 700.0530792135296, + 942.250165635158, + 135.92408127443264, + 517.7179648463932, + 187.9016607915778, + 46.666805903516206, + 499.6632209183549, + -26.872075435901934, + 349.02840890169296, + -711.27016704746, + -9.142377695710252, + -424.63328952714744, + 736.788634668671, + 695.1684847972897, + 125.8365888150397, + -975.5754723197203, + 824.5898845258673, + -394.00786984248316, + 345.00995778149036, + -917.3681716872985, + 951.8398838825915, + -711.400854411562, + -305.7647533756192, + -602.5146333455689, + -620.4254584385995, + 902.0465495825706, + -28.158840252577647, + 102.97004411995113, + -980.9502238718981, + 826.1431322536403, + 235.31808561708363, + -659.9806314972645, + -25.169263286159094, + -793.9857614793813, + -66.68827511082395, + 598.5664282861155, + 462.26112459253955, + -851.6663419247976, + 954.7668874252599, + 816.7824793275377, + -253.2066422952712, + 22.314813594856787, + -24.76311239393408, + -774.2281777046729, + 60.166871448000165, + -622.565473846407, + -912.1921121500625, + -641.9104570195959, + -802.5708484818233, + -784.1284428681961, + 742.5388807921097, + -922.9333856759581, + -29.26017150291682, + -807.4281943097005, + -13.885460933181093, + 478.6221031989023, + 810.0511808833226, + 314.63127661973044, + -724.6923191898927, + 269.3004340746222, + 550.8530358397666, + 890.7365279224198, + 268.86707428772297, + 76.90270640071208, + 854.4635316632566, + -188.78316959601295, + -604.7644652481843, + -732.5666920529861, + 4.090177761709924, + -514.8954733630674, + 566.190294756065, + 409.1324417029, + -989.0279695525735, + -536.4821549315384, + 363.2880330237531, + -793.6215052835018, + -416.76314861503647, + 209.4723238574577, + 680.5045574406156, + 420.28967684495456, + -663.9232039795013, + 799.7766424580395, + 708.5834614025864, + 352.51334678693274, + 361.22532360642595, + 86.28576641346262, + 749.9375928164247, + 835.4904642621348, + 99.84244543372688, + 518.0729271714288, + -72.93559924016324, + 31.381298020671466, + -506.92868751412567, + 461.8685173838603, + 911.0966466313987, + 414.2262334842171, + -783.9537936805019, + -325.43374535608075, + 85.90819994787603, + 247.45791274617227, + -131.8498216608142, + -652.5637896262301, + -696.354041475896, + -489.94294731122625, + 384.3177273639744, + -896.8372334801043, + -236.11997396627032, + -585.9819009732043, + -102.58442213057072, + -675.9467431822976, + 101.58224556234995, + -720.5216759459672, + -47.04229520026831, + -13.770779947183087, + -755.1729052242024, + -540.8144103030759, + -871.7260971208773, + -359.1080408894851, + 451.85679587104823, + -797.9683778036961, + 547.6107164101008, + 510.7946328778946, + -100.65608180898096, + -428.2270107116783, + -153.6280094004801, + 904.4977089678614, + 717.6564873946049, + 647.4427562713181, + -309.8451454291164, + 549.169868318316, + 881.2038148939325, + -828.7802602742518, + -978.1275394041276, + 553.9020164244698, + -472.8109081751928, + -499.96896648271985, + -230.85456899539224, + 973.9316760433949, + 848.8901894702324, + 670.4861140899181, + 163.19633740704558, + -473.92508327671453, + 789.8990095992901, + 728.4163675917846, + -715.0226337579898, + 302.15680979896683, + 577.9773824356296, + -698.6138906579431, + 208.61925906363922, + 516.4817554245813, + 194.92189025017979, + 863.1927541431214, + 316.23980582762715, + 529.7123162043965, + 689.1089420326591, + 791.1298804564308, + -63.804959008252354, + -968.0295997966963, + 839.8032928785108, + -154.07007515348585, + 299.5246508345608, + 536.6871525319382, + 281.124884343041, + 198.50970501286793, + 684.7091328521888, + -352.01290875067673, + -66.59011925252628, + 722.9770191960993, + 659.0438139739276, + -44.57744836110919, + 206.84138900141988, + 381.0880481744473, + -868.5645137885301, + -527.1496525637799, + -856.9232017505046, + -135.7429108933161, + -1.5432120317622093, + -70.52937192124853, + -221.62808206995498, + -30.47768015406689, + -399.1609910403615, + 607.6538495492086, + -51.3184976176517, + 190.5188171924599, + -155.23361690455624, + 483.902831502714, + -201.39952856984928, + 443.94182423179586, + -453.6587151993274, + -536.6392469583199, + 465.88074723873115, + 59.91996047103021, + -570.0008847897334, + 607.3445051254091, + 620.8685031190191, + 323.3111811682445, + 707.0229598713597, + 516.5604631105655, + 120.30015609741986, + -392.0002376037495, + -646.9033811024458, + 499.0144863844596, + 893.9592839758263, + -786.4844412160384, + -974.0811684552361, + -95.09132794558604, + 20.131200956799375, + 719.9863389677007, + -675.2070285122609, + -444.1220273060735, + -125.02999867971653, + -226.23691880548574, + -580.7533340936309, + 909.7660787837422, + -166.89231556044842, + 144.0144444459163, + -427.18643283316385, + -287.2503039580158, + 160.85585742834974, + 741.5031497415619, + -664.1139367127503, + 93.23393042065732, + -128.86471293670684, + 830.9036275115673, + 871.7662573008181, + -734.0794048261964, + 926.1355636038693, + 913.6716063929234, + -208.19995563348766, + -816.5471042672182, + 293.5060385111906, + 650.9178916806293, + -284.0202917206493, + -757.2285194758417, + -401.82686821377627, + 898.8393891690312, + -45.230313471630325, + 651.2265509557085, + 805.1327681838875, + -976.736785247164, + -605.3948194212626, + 830.4657691285101, + 586.27262739655, + 64.41288053873791, + 95.26919223795517, + -654.4818613213929, + -766.9005607785027, + -401.30805615963493, + 960.191837742263, + -110.62296840854287, + 694.9483029420308, + -807.7924022688992, + -554.5990260597799, + -395.41382551096535, + -472.9654299708627, + -228.7659700022042, + -449.1580607380465, + -94.79034441526198, + -990.015259588658, + 768.5654949408856, + -134.37912379379122, + 640.0104099217781, + 645.521718019867, + -724.6980267575959, + -564.7738421030082, + -605.4754244738369, + -65.43938160956907, + -999.4242527580535, + -380.655397869117, + 119.65270174652005, + 192.19031374556653, + -591.0433681187362, + -395.68657399420476, + -599.9786648493692, + 319.29634975265617, + 723.2619010212554, + 976.3657790325028, + 588.0407743957574, + 682.662954308752, + -50.186107966798886, + -497.0664549724597, + -715.8170612482395, + 18.20078551353822, + -15.282984672078328, + 445.4870868109424, + -215.29188159664534, + -649.8201327947735, + -767.2050105968756, + -387.63840588214134, + -889.5201623700892, + -316.2136139018021, + -276.54887252733, + -950.553665535653, + -767.3566313744097, + -258.615846283716, + 630.8492990522448, + -535.7136523378479, + -177.41344262210032, + -884.8363181349805, + -658.6806487781789, + -480.03441374398733, + 118.92919418734664, + 877.4695723230159, + 329.71647697225444, + 214.421773780208, + -211.2237887445956, + 716.5143757914482, + 988.0979627389809, + -464.3739684649171, + 754.1238112187748, + -738.1395226331726, + -926.1364316133873, + -317.9124504601043, + -749.1194855227102, + -686.4895516540963, + 417.69014559109746, + -801.2499460856031, + 498.44486680095497, + 439.15826298980073, + 531.5613453880064, + -778.1234395359297, + 628.7606010211362, + 43.93446312439278, + 657.8079006247665, + -610.987454471674, + -394.987950840445, + 529.012423413249, + 568.3036220827955, + -710.6574938297549, + -161.20304485492534, + -654.884878710996, + -578.5674068530757, + 196.8846834006804, + 585.7883908123372, + 200.17615190536458, + 985.4256934136974, + -537.2179800920446, + 934.7267023133459, + -189.23459100021842, + 799.8313174371096, + 339.11327428375216, + -583.2750673268898, + -888.0633650844795, + 434.8403348286538, + -662.5970600386644, + 409.46411936666505, + 390.86111449473424, + -796.1099705162551, + -747.6932199141784, + -618.4719826011271, + -149.92675598059748, + 294.0271532949455, + -325.8078586711189, + 359.4348584138288, + -392.7651569164468, + -148.8194808334007, + -512.9444428936225, + -965.8287059346488, + 101.28826650916426, + -412.75820652323273, + 28.99495259151604, + -443.81244957782485, + -4.1505218489006666, + 476.14360002361695, + 800.1835079778648, + -853.5772191589679, + -433.79371839921043, + 282.9876889898019, + 974.9557867273381, + -389.5881937411076, + 874.700847091698, + 108.54110936210122, + 585.7116544132268, + 120.13377943471937, + -661.8939743038634, + 142.45225318787539, + 548.6329326317491, + 597.3184484275137, + 621.3523517960505, + 503.50683698785633, + 342.60407136730873, + -732.7097185012058, + 253.39880936604095, + -146.43057054275994, + -933.3037908339237, + -977.764337506958, + 917.0756483666869, + 498.729266972045, + 935.968851809633, + -147.37889977932775, + 664.2413726204213, + -832.0574191320432, + -477.53893284279343, + 230.00387481095095, + -124.35221032223478, + -500.5587030036247, + 710.4123031420488, + -686.1882822872385, + -184.0064496490172, + -684.4361762629312, + -298.6583512831784, + 596.3506475950533, + 303.59492274233844, + -709.1478233410376, + -995.6717541410771, + -639.6209421164644, + 415.81788806660484, + -829.7182330639403, + -901.6861567898791, + 191.51328812408087, + 612.0072794933997, + 471.97154466050233, + -346.50804674913775, + -494.57965054610486, + -953.6461885511916, + -899.5134105704088, + 876.764169032306, + -633.358591912058, + 900.415539513423, + -91.06243858208575, + 330.69899279531796, + -876.201504679383, + 158.863222546619, + -721.0923518168504, + -942.1101489763897, + -28.002973691440275, + 421.42207929686924, + 4.539948646419248, + 25.899140987775354, + 269.7900566513124, + -801.3271970615154, + 795.4639667092881, + 956.9585138196117, + -597.2732528534918, + 975.6072315082099, + 733.0238219128119, + -676.6155996896662, + 630.4584374552251, + -21.950567507058622, + -166.55546874636264, + -302.0538921828073, + 827.034607218103, + -718.7346955854048, + 855.8278762702089, + -309.3696824207195, + 931.3528947218217, + -210.62550101793204, + 705.4156691104376, + 871.5087638871951, + -922.8032286067671, + 866.220797357933, + 187.1654029292863, + 144.77928563228602, + 688.0731772665979, + 889.9279143495885, + -864.5998792549274, + 489.7308496159651, + 953.870577731569, + -7.693592820361232, + 534.1439467529276, + 130.06725580404964, + 343.31272812518705, + -133.72123408917446, + 460.4875757465934, + 846.1118355269996, + -516.4640002158991, + -217.22978627833209, + -614.8964903185022, + -853.3574368020103, + -517.0563113002306, + 682.6105536805085, + -291.8251977427859, + 44.560165009163256, + -863.0184197474729, + -738.7260897300223, + -701.6818828642527, + -719.4710681347908, + -20.78631680561307, + -672.4685944214217, + 183.51745015816869, + -283.5909892904165, + 653.625573625555, + -835.9301101862329, + 730.3493476703593, + 773.0103641797496, + 875.4497797756108, + 229.6884927994945, + -96.90675950585899, + -39.86270317138269, + -655.028294358603, + 890.3314595836605, + 205.54586987646553, + 654.8119050471521, + -936.2588855153726, + 116.8084200688495, + -387.4303826488406, + -663.9239958402967, + -368.97811992873164, + 417.3179757100834, + -835.3907273532801, + -60.68259833325885, + -937.7125802472517, + -786.7352381410584, + -828.9330116828341, + -855.9163385730365, + -958.9493991304723, + 938.1856160289572, + -603.3416490022491, + -936.8736806835776, + -315.9325572099958, + 74.7067460526207, + -627.2864319377061, + -311.71451171778824, + -368.11491489033574, + 729.0081918775086, + 234.11564672580084, + 276.47649605403194, + -672.756529807195, + 948.0812072926101, + 506.3632968779532, + 764.7898311818669, + 369.8286206209593, + -876.6320774417698, + 156.54755497933616, + 931.0218703381552, + -607.1100181153935, + -441.69004007613523, + -310.35528937951096, + 577.2370561954306, + -809.4575903844133, + 88.13740681489571, + 20.70466277037201, + 220.66544873482553, + -213.12126552659572, + 91.5762470343036, + -986.4350814629029, + -103.73446194996984, + 394.07308793612015, + 479.6474026787357, + -629.7337219035801, + 60.55359973194163, + 400.7859591646668, + -180.5229333971439, + 78.68466914982696, + -745.9451594577415, + -584.4678225855648, + 607.2754037109767, + 518.7487433325787, + 918.8099265363926, + 296.228150895123, + -776.4391969032422, + 709.6732269891161, + -421.78379970354206, + 909.1429093433414, + -852.1192503424195, + -207.9248670321523, + -913.5836582442356, + 64.34928766625012, + 817.7931691081478, + -811.5475930323593, + -63.835988332867146, + 40.696949087649955, + -820.0691315018264, + 754.5261627842715, + 105.78691930778314, + 1.1703765559918793, + -649.6850201691982, + 928.0661361924101, + -326.43672676365804, + -962.5887770930583, + 869.6680439112788, + -288.24764296659964, + -969.3274294477427, + -660.3851327865431, + 482.611310712123, + 633.5777587602593, + 58.78840076943925, + -40.69036160191388, + -685.3560149944817, + -890.1173321434026, + 953.9848372665899, + -263.2519231027011, + 536.3469046690093, + 594.080123389509, + -120.37264967776434, + -498.4542242264134, + 512.658851774629, + -385.3427077487228, + 959.8049213498743, + -128.91532049891043, + 510.93315668616833, + -561.985781238157, + -432.6641575972485, + -129.11609046777858, + 674.800724348293, + 449.7908342901094, + -51.90666877178262, + 134.3736056504847, + -728.5275897574077, + 954.617382945635, + -444.703734905503, + -294.4127471330145, + 632.4225535713076, + -310.7013329953661, + -588.870342549104, + 780.5717815872003, + 754.4615873942043, + 974.480832728329, + -235.71977229399636, + -719.6593950254712, + 188.1893879263962, + -466.6959027020023, + 726.911612983698, + -809.943572170589, + -684.5132885737139, + -400.7442800142378, + 999.6896744497358, + 966.8465087288273, + -328.9119864352275, + -545.482158957937, + -741.8333461040231, + -15.294074791665025, + -527.5248555407545, + 319.3619903735598, + -454.6502321874193, + 599.4918680386927, + 723.6910657578576, + -609.7101749727831, + -294.23292280818214, + -850.3894625121891, + 180.13960382222353, + 146.16725297819085, + 515.9633275402427, + -900.4221236462201, + -488.17615992600724, + -495.99910893594034, + 395.1752904029179, + 910.5412839577787, + 93.83493839663993, + -812.984672806238, + 829.1840880728003, + -886.3466098932018, + -244.80934283228817, + 227.3369909951416, + -396.89097121374743, + 12.052585472205351, + 112.04753412824653, + 712.347187650453, + 477.6854408503443, + -544.1630330352847, + -961.9405468233124, + -919.1220906657322, + 276.8338433147296, + 932.152689466976, + -100.40094604336969, + -733.3752625990992, + 254.01357596955404, + -265.6720690931445, + -360.8221501494819, + 326.3872472360117, + -195.99416776130045, + -599.3287429614738, + -72.47805153044578, + 67.46654544584135, + 275.88249848391274, + -761.7091134470455, + -611.3504931389161, + 439.286492376709, + -780.8360769096687, + -921.0343058937174, + -619.8414504793875, + -920.6293983127237, + -291.56920142546073, + -801.7723878564316, + -706.2480418483415, + 863.9030148310337, + -830.3055830463604, + -372.0192132996449, + 336.6858956415758, + -389.50509174454635, + -364.5368914093983, + 106.56499276393242, + 983.1597633299616, + 200.35629851205385, + -516.4958482532749, + 676.1331852368221, + 955.4438387107778, + 395.2361112989595, + 469.89685822996876, + 535.5706907806457, + 101.64708923859143, + -411.963063462258, + 789.1940943422005, + 104.74773812916692, + -953.4751968699143, + -389.0348964744305, + 977.791976105076, + 520.8669299969843, + 849.0432225794241, + 874.2908580183894, + 939.3317862730248, + -27.296709772484746, + -895.4841101898296, + 112.6714498636984, + -745.3356030732348, + -20.081192177026537, + 364.1178085540105, + 231.8971442727384, + 181.93994638379922, + 123.02374127698135, + -155.76531606514914, + -849.7302620138363, + -369.923458671646, + 372.8075151433286, + 437.385422110367, + -439.142431764064, + 253.92921320099936, + 933.8532333168148, + -323.08202015053644, + -764.2435400975314, + -596.8109931578647, + 704.8734591409989, + 501.55474566856765, + 774.4861668304923, + 919.4805626423172, + 61.32789700696958, + -909.1301741434361, + 540.6782750578764, + 577.5805025900131, + -582.6283400726062, + 744.2500543436188, + -194.94231566683618, + 422.57314918015186, + 189.3388450606958, + -245.5353459477907, + 889.3670752346718, + -952.2705898672084, + -889.1727471634416, + -59.52004608710729, + -504.947380736898, + -320.2856707933903, + -380.6756847242327, + -461.74914135425865, + 635.1804866307273, + 54.47403040849986, + 724.8703599306743, + -602.7739302226523, + 799.6925204889137, + 792.9046879186453, + 229.87970745484222, + 222.64143584018325, + -68.85104043090485, + -453.64659988229755, + 322.822787979155, + -88.95224539298204, + 302.5672472097435, + 254.45849674444094, + 960.9643075955942, + 892.6367100878365, + 246.23967847391464, + 782.7142860718341, + -459.1759052970534, + -113.50269319965184, + 865.5814573792684, + 217.00743212964744, + -447.0522410529152, + -611.7228962724686, + 205.16596247977486, + -558.5693912675738, + -555.2572039422814, + 967.2671270940273, + 97.29473968443858, + -273.2249988183954, + -465.55917526552264, + -676.4863462633685, + -57.01143608118332, + 300.191928697767, + -671.0785939270454, + -918.7205349064795, + 462.6700830912989, + -948.332350058787, + -603.9451331171613, + 370.4712605838531, + 814.1698636516444, + -541.3606525990899, + 551.1344147295706, + 275.6158285380525, + 403.0500174869321, + 787.6218227143099, + 838.2626988225436, + -421.84199970205816, + -599.0393126472047, + -835.0935041818337, + -854.0606013482534, + 21.394664524319523, + 336.96313367866173, + 113.40526522309733, + 476.4111408980916, + 475.7003161972914, + -360.54613035941554, + 77.37482626036831, + -252.16923327076074, + 664.3452923997966, + -159.31369664658177, + -351.6073695570559, + -390.1329592377256, + 815.2906452959257, + -878.8583643135246, + -954.5990673869264, + 605.4897605532833, + 746.5846474475863, + 333.03796130854494, + 927.1947158318112, + 615.9586850255616, + 348.94344533028493, + -171.46084814249082, + -675.2581173428414, + -916.2037652789708, + -574.4064113065457, + -681.7836849759944, + 626.1462498259614, + -729.9419675530908, + -652.8046630938316, + -618.4120687715736, + 747.8977981738838, + -542.2817205124682, + -761.848439972385, + 434.4044399858508, + -135.33168007258746, + -426.48566958340825, + 490.10943870704614, + -887.9603114652452, + 415.16894476766083, + 193.34892909204495, + 819.602093443294, + -742.0415214112263, + 660.9969318231656, + -443.6964743617657, + 393.0648817325132, + 137.47439236260948, + 265.75884404122826, + -98.69728927350343, + -260.88355293770314, + -658.1127209351454, + -43.677982549335866, + -26.91738800145015, + 666.038854516898, + 506.3772075845809, + -643.7316635710084, + 195.36791492395082, + -72.77041320714943, + 575.4321493968223, + 293.43145276211544, + 929.9418958619817, + 843.9827355103043, + -742.7894925281744, + 444.11826159810244, + 382.8556180459334, + -652.5147018169293, + -914.7993861743348, + 13.888350229574598, + 763.4554992387136, + -868.0702198928963, + -47.96614263627612, + -477.8124140340441, + 433.18833879279896, + -942.5924320448981, + 900.8802210425913, + 969.4486438510869, + -883.9236951161226, + 211.4565941033443, + -497.08421214139366, + -653.1889832252256, + 593.3162120225497, + 421.48487384822533, + 780.7206500774978, + 421.3609068099513, + -311.40694161975136, + -461.141290337662, + -998.6862940943292, + 790.1886634512164, + -753.185462787525, + 824.6507204620873, + 869.3384857762967, + -966.5904559627725, + -841.8475330890726, + -169.04050073179633, + 798.7675354207331, + -821.3341442081914, + 734.2859219420393, + 304.54579344631384, + -706.4110634003789, + -690.5013659710746, + 463.2671408272313, + 108.79189874739382, + 615.5443158406288, + 223.03134375551576, + 897.1884580721623, + 702.295697349701, + -17.037785351995353, + -275.468250982394, + 692.4828102643355, + 354.5730661644434, + 655.1813925165511, + 639.482581754062, + -524.798134266135, + -447.7704264612614, + 441.9035435726016, + -266.8835841256341, + 910.8763707478438, + 85.12365280330482, + 1.8357920830629837, + 319.91880870760156, + 539.7470156147313, + -985.832372703161, + 95.07369277742669, + -415.25295924777765, + 7.588147362531686, + 642.3526588964646, + -38.97523102294099, + -593.6324639706329, + 414.55114454804766, + 285.64837466981135, + -756.418379320643, + -744.1332119630941, + -384.15626566014134, + -834.5057364039181, + -554.833828943559, + 42.23175084518448, + -139.2456626934802, + 102.1490700121733, + -559.4463711770902, + -41.23832961143137, + -111.71302778797872, + 441.7127658171339, + -351.3316153664215, + 837.3266462618767, + -48.19682711001951, + 726.4516571545059, + -648.737112202547, + 104.9559119545429, + -607.9861471909364, + -258.04313043466914, + 83.85620608567046, + 600.5656986874362, + 78.07740661507228, + -387.25939436524027, + 234.98657754088458, + -293.260575242743, + -268.10783889243896, + -24.61482828030512, + -209.7124591380939, + 480.28269639235623, + 371.7677312994274, + -533.3189755240326, + 979.7922521822966, + -543.9776811714787, + 955.5388770964603, + -299.793047991139, + 287.3057383861403, + 879.6320224853407, + 422.28364314525334, + 722.5624106575592, + 899.7728920552975, + -980.0539954165534, + 908.8326173411158, + -34.74168358098689, + -438.65978675614303, + 302.1431573202565, + -269.1795604879461, + -4.204409569836116, + 706.6394380945605, + 604.0085990640816, + 374.53997818740777, + 671.8898775913451, + -815.889075209455, + -206.97926444619497, + -358.334862219299, + 750.772940099251, + 146.05692132143304, + -533.2784080383133, + 43.884523009408895, + 938.5723533459957, + -381.44798599915646, + 459.3640026508258, + -525.9266850885231, + -794.358966657736, + -873.1134560806097, + -745.5051396785834, + 500.8554465658144, + -390.9224116221635, + -622.8766402758083, + 355.2243337301031, + -789.4728615233382, + -68.53606971712247, + -187.7746738577706, + 616.2567624340008, + -797.9190772719709, + -651.4842466729585, + -120.39145766987838, + 799.2638425047157, + -223.68168325648458, + 556.8013010361528, + 368.4357941975543, + -347.7945504808466, + 735.1890479985043, + 468.97723432904627, + 213.13798477378964, + 79.47268238237848, + -966.742895502515, + -209.03665002183743, + -640.1952791977372, + -59.33894666099593, + -396.92123498943, + -897.2900491755829, + 861.5141129081264, + -225.88537750525893, + -87.4774181831483, + -734.1517769142212, + -307.58311783193835, + 272.16725071030555, + -934.0094726756001, + -438.3325856563747, + -111.58490658297353, + -404.3601144633917, + -247.8865343670626, + -929.0337459636169, + 166.00801634752133, + 412.0695950302295, + -369.5952607894417, + -964.6379615900482, + -472.71814866342106, + 82.75746532218432, + 949.9103391377853, + 77.69825512485909, + -754.1653255971943, + -121.30982347471763, + 461.72101311123924, + 242.2950314616528, + 838.0581977456152, + 371.20569304166315, + 185.68689313522418, + -235.1891250509948, + -291.8116227469643, + -118.76049638324764, + 397.9825134841981, + 672.5354200474933, + 795.2461685656126, + -957.8299103089112, + -695.5799346547074, + -135.6152206915051, + -585.5477422935471, + -289.99815100915134, + -89.40065159586834, + 707.7523611477552, + -762.973962280917, + 785.6411441283658, + 609.4768084438354, + 823.9830524629965, + -416.6004876881841, + -949.7245481038319, + -495.0264446619324, + 317.4190776524754, + -817.4899714812229, + -685.5880762172335, + 745.2633508173528, + 578.1094356106978, + 734.3405863275584, + -292.0132587738897, + -520.1260705397247, + 762.3915198235131, + -936.991184264015, + 949.3317236430273, + -728.5923076812476, + -354.6262451750524, + 189.27348446588803, + 947.272236006316, + -65.50083892893088, + 986.3555460228231, + -71.56580306967214, + 231.89797578800926, + 157.5879621557392, + 203.8215142030699, + 688.0203307191036, + 488.6862805887886, + 256.6759174119834, + -628.3251019593772, + 888.6513386941292, + -661.1410642737956, + 128.46639398058983, + 450.29560180136696, + -485.50892062372327, + 192.17562529692486, + 579.548015454729, + 889.4672423832442, + 195.07358655643316, + 702.6542609828, + 551.3308818395594, + 602.5124700944975, + 10.984434612882183, + -268.24057773372465, + -789.4011891857829, + 848.3184821633363, + -947.1642841245426, + 977.6668199773928, + 927.2659547493765, + -933.9488026587796, + -308.4924408697789, + 798.6988270187685, + 541.8072052080554, + 858.364065308552, + 359.4064232743051, + 368.84699580118854, + -136.37128509648312, + 731.7831767847729, + 210.94083936153038, + 13.134497259919272, + 652.9210721726922, + -355.6022446877396, + -891.6754559493343, + 981.6364632813247, + 205.04922320288188, + -714.8823285738852, + 292.4112071199311, + -299.5152720950831, + 536.0197654284227, + 765.8431741384245, + -383.9496513405401, + 168.6359206440975, + 538.382136134061, + -625.246762697227, + 232.47477148384405, + -821.2573316176406, + -698.1402588301409, + -797.5648402136377, + 649.430271836721, + -922.4130793946472, + -714.0515080806426, + 470.2103826108123, + 721.0363574429693, + -199.8900088730686, + 778.4714245375344, + -553.656571022563, + -240.43958046594184, + -969.2697155780994, + 660.6596298771387, + -507.4855967079477, + -49.40276509734747, + 810.8614438510187, + 779.2512866902748, + -88.26507281492809, + 880.9942142407822, + 147.8005443772829, + -357.9342980123073, + 156.57266068982585, + 804.9001231804384, + 958.9694929878374, + -382.9958235784072, + -20.322938590646913, + 819.5874286618046, + -811.6527928021773, + 626.2533389781884, + -584.0320515300818, + 843.1550714404407, + -290.9691173468933, + -823.5525976728812, + -432.0779201706506, + 245.81319172893245, + 535.1540495407287, + -15.040906405783971, + 29.66586413217715, + -227.03304177129576, + -714.1682284780716, + -438.5839665450176, + 301.98446001717207, + -8.001240494037006, + -538.365047504649, + -240.22601886626865, + 62.55118912563921, + 831.0352574013202, + 576.735335352912, + -663.5762820808675, + 679.2378886855022, + -813.54067327267, + 610.7082940257535, + 353.77140649872035, + -79.50414766667643, + -488.29708432415254, + -80.96764598337347, + -823.7126125033583, + 158.0944018394814, + 356.9857938032749, + -600.6272217314977, + 902.4782539382618, + -933.2872498605853, + -935.7955112505693, + -572.1417593101773, + 185.16647594937285, + -969.2990987632597, + 399.62460084763643, + 449.6770158424915, + -246.32220444366146, + 897.0789585926352, + 550.4331468610503, + -392.962478403863, + -434.30534955907206, + -91.29647477736637, + 374.505938085905, + -663.970323137452, + -420.54254787611205, + -242.27182024478088, + -172.09653921831716, + 941.94689273975, + -759.8211389589518, + -383.27032216311795, + 477.75816908191405, + -385.239028188471, + -651.5065186394131, + 407.95339265951793, + 146.36677208147034, + -705.6655051260511, + 598.3121335474727, + 852.5389761306376, + 190.58788851198824, + 870.8600504924884, + 79.72245030093836, + 874.3079353421551, + -743.4902773847882, + -180.08173330416287, + -717.2627805666891, + 991.7392195063067, + 159.53447318459507, + -821.3634091358886, + -49.34166686503397, + -697.6734543365053, + -205.0931391823765, + 629.8904821841463, + 602.3790866421189, + 881.6894601340937, + -779.5737059689194, + 321.6443721962014, + -331.14271102163764, + 745.7258106105869, + 325.10885135636727, + -562.3808665939998, + 986.7243268021057, + 650.5966217981438, + -880.5362077029881, + 515.7805537227421, + 673.123455622946, + -977.301454629997, + -772.7170398411288, + -144.7899937549564, + 315.9551671974489, + -806.400907090612, + -678.3896095277769, + 730.782077627209, + -311.85413195510887, + -754.8613038449705, + 640.2981869548232, + -321.65823129867715, + -219.4405080654724, + 981.099016686316, + 681.0953668308764, + 894.9737539433845, + 645.7392961615501, + 906.2176444960917, + 666.8488182595029, + 935.6807797214956, + -313.12129698476167, + -613.6271602538308, + 281.0021325927071, + -600.2855273005548, + -0.8608358775894658, + -579.8414376919974, + 742.5974864734512, + -988.9969894249133, + 982.3693662017022, + -287.96003574693634, + -857.0796326483683, + -973.5616467464158, + -506.9896205028364, + -758.6485041800136, + 158.07441914448418, + 777.7339392370886, + 708.4605873573009, + 176.4318513757305, + 681.4808501132488, + -774.4153240486238, + 815.2693125430262, + 630.9188291849555, + -868.7511569097553, + -24.07660756788505, + 467.94666391739725, + -363.10526038461853, + -751.1449413404372, + 977.7167711333509, + 962.8265961606805, + 987.5678443286247, + 176.64553195253507, + -268.53908351419034, + -717.7437079624617, + 548.9160812784389, + -281.747275861459, + 59.469613007739554, + -852.3756859736718, + 786.9810899903259, + -102.18316775706523, + 799.9165956427125, + -346.05808844038984, + -471.98043732183373, + -518.8203318714351, + 684.1421956466472, + 418.2689290406438, + -979.5348490369771, + 14.521912230838439, + 422.7556554559915, + -195.67496479733768, + -246.49454050019483, + 659.8193493525455, + 179.2692107736575, + 780.2816511693527, + -805.5883281649925, + -460.35350611531237, + -752.3033619753342, + 615.7924739592117, + -998.7233686612728, + 90.37224823463248, + 295.50667790810803, + 639.4097724685384, + 880.10575262785, + 579.1642632757548, + 476.6462289805595, + -410.7539446758051, + -580.4940908663152, + -400.17818269321515, + -213.69156331020895, + 371.53730211003676, + -207.46730719839218, + 384.6989740003753, + 766.7528605861778, + 450.622859847688, + -354.67781051164593, + 591.0902141660642, + -241.47636390883713, + 658.0029946759043, + 380.4541409571027, + -901.7249646197859, + 133.9993411424075, + 737.3806671616403, + 813.0508898593826, + 75.65364639440713, + 545.9378491027671, + -426.13538682550404, + -295.626146432856, + 109.09254443773648, + -340.58933802562797, + 207.07750842905693, + -104.00707252845916, + 142.95994549312945, + -853.1129639926385, + -189.08527612938417, + 735.8168328002473, + -36.120215623189665, + -616.2499434549961, + -630.7775385830279, + -909.7524728464967, + 621.7096884070393, + 699.876970062724, + 750.9834165251636, + 967.4569816240855, + -720.7620438621223, + -574.5124252254382, + 168.7692818150981, + 613.9656005664915, + -970.4957539677459, + 749.0106008795278, + -873.8966353463484, + 310.32729059458643, + 466.16090451861646, + 26.244178053788573, + 606.473316271597, + 194.29249580549322, + -353.92732637794495, + 571.0359713672428, + -788.5086254249578, + -90.79481135137326, + 454.7533203396333, + 934.8123849219114, + 829.6969988804517, + -408.827121328947, + -622.7201487907621, + -816.9998589549086, + 638.2998285314047, + -68.87153910459222, + -703.4338512064313, + 867.9878634149595, + -967.2147694837489, + 658.4203134157674, + -603.1093727916552, + -369.77519096563265, + -805.0284276907515, + 108.69885631775037, + -185.0264277809856, + 67.44604949721656, + -51.01945018219146, + 248.42760855949405, + 119.47210564014699, + 865.6977128310089, + -659.2955911460365, + -184.6549650852087, + 252.29797569528137, + 524.4514852103835, + 480.7646001482865, + 744.8402371464467, + 410.54043014832496, + 638.495833002828, + 793.6609023061396, + -977.5799948800692, + 938.5532709493559, + 172.51974797587104, + 126.98726025993801, + 420.3797237217093, + 191.03907561238566, + -865.2694342707528, + 555.8909974372705, + -997.215527067035, + -644.1706883437299, + -663.85282200683, + -965.6495664393909, + 747.3260589428171, + 445.8605196359897, + -878.8596011891325, + 83.15333816943712, + -966.5657332807285, + -837.4905006134177, + -930.4335665242907, + 358.99399961914014, + 375.6408226824278, + 242.66651155912723, + 658.6376943276314, + -721.0734521548295, + 193.9381125840016, + -512.8833335046006, + 929.68222643543, + 856.1978514457378, + 323.9371335724661, + 646.6135201664417, + -304.4669649816416, + 175.880911390007, + 303.9719839639465, + -505.8070207932623, + 576.6654316264669, + -979.3821663042451, + 492.3230855246154, + 93.76289409933997, + 33.82608705208668, + 33.04020646094068, + -458.12229285012006, + 421.64885897977365, + -556.4021668718113, + -840.7347440832673, + 385.501377082365, + -442.73465144406794, + -849.0663422067013, + -425.6105824643921, + 571.7440863564123, + 84.83894704211843, + -179.86306409212193, + 409.54150314199387, + -168.9862391187587, + 790.1113301608736, + -210.18278178588344, + -265.5267229368692, + 661.9499732733293, + -246.13190534728574, + 348.75142692085933, + -702.6090075184723, + -433.5775861108291, + -644.3967147099536, + -450.4052100379861, + -616.1093889674953, + 972.7186629146938, + -700.295219932519, + 116.2158647004917, + -894.1077711140531, + -57.061687675187045, + 770.2209904780239, + 228.6030541270245, + -353.283382302199, + -478.6370934352566, + -778.216601847078, + -665.3349701187299, + -458.0535389225075, + 612.7765843417035, + 767.3486578728355, + -819.8687113539702, + 726.0974530937519, + -629.2986483176868, + -688.819236148865, + 897.9890387035462, + 336.49980949848305, + 743.2990102082299, + -131.823536848348, + 208.71600223419478, + -95.21842068355443, + 236.7957314288567, + -826.6714673697528, + 780.5972024283819, + -838.633088833282, + 159.3267482319609, + 314.0177719072317, + -412.0183343933635, + -597.5054362333632, + -861.1452342899127, + 57.17107444218982, + 444.42665577895855, + -529.5039499357883, + -714.5455191385129, + 675.5442725685812, + 339.63666299121314, + -712.5789920369934, + -153.3097177325766, + -456.0576372383724, + -885.2519073311773, + 447.13459054364944, + 22.21508018506381, + -412.6140320264328, + -462.3037352676307, + 120.62672041251312, + -218.477638981778, + 377.56712711587306, + 334.42826301396076, + 484.63739032076546, + -826.1369753331427, + -472.66904256476437, + -917.6545499187916, + 912.8146949441973, + -899.5946067633047, + 467.0211636856577, + -480.0481035450765, + -754.6395158716853, + 477.20925135425114, + -309.05869646383735, + -397.94838760112407, + -164.52429476004602, + -851.0142889853378, + 219.45399012737334, + 748.6314850948659, + -638.3864575172222, + -298.28902912319836, + -366.9511045240665, + 782.8543978668677, + -559.6687787408059, + 865.2963500270987, + -401.55081873024585, + -618.68217201128, + 243.59506454871712, + -336.135046975917, + 128.02367218699305, + -973.2794425246991, + 97.90651636296366, + -758.9266677183628, + 759.1535322759482, + 347.3126735425883, + 990.4514684274491, + -82.47813161635338, + 11.722796747326583, + -597.8174182386417, + 268.5412899002713, + 924.3197492971453, + -350.0734596049841, + -823.487336409126, + 694.892596946969, + -0.5644220317404915, + -953.2797216057764, + 58.91091824169621, + -26.16420961149163, + -163.33700088145292, + 276.0583370099712, + 446.6559810358358, + -234.68827553977417, + -975.8725454080454, + 334.28334841245237, + -922.2824348862126, + -730.0560805300585, + 316.75702327072895, + -886.0612072001519, + -983.8410596857212, + 615.0920004934335, + 605.6866982916385, + -103.13056844568314, + -674.7578946448104, + -386.8289969578598, + 908.4913366591534, + -218.30811455765536, + -654.251955064207, + -287.15977276658293, + 974.6402605616538, + -247.771169191308, + 697.4775691139382, + -905.8141841731426, + 646.7931423854791, + -706.4402054836729, + 675.9801034356965, + -783.2887443550222, + -513.3374438508722, + -131.14907712107902, + -899.8538360609544, + 473.2979096309091, + -870.5522528449847, + 920.6208059291023, + 172.32859326683024, + 273.8381383669014, + -617.5437668378587, + -910.9498268558532, + 606.1447023705084, + 333.9818333886135, + -781.0047963499301, + -914.1795139567308, + -506.3920132900792, + -988.5802002967996, + 991.075765740135, + -935.5150539755562, + 749.7679029095107, + -923.3188682646087, + -994.4102072797203, + 487.2148342300543, + 317.14223676556, + 817.9858295254787, + -487.03400340866824, + 606.8057152033284, + -477.30695327552473, + -706.0136121657772, + -637.171946660839, + 509.89119878021006, + -829.5940631116887, + 597.3854178652025, + -330.37030049001294, + -375.62504994019537, + 559.9475953879762, + 355.91647212718203, + 656.3721752436218, + -340.3921476749183, + -502.5008210150683, + -761.6390158848578, + -296.316917168882, + -703.303501681868, + -609.7342115786664, + 664.2565646823491, + 753.1365140636797, + -363.1171375725572, + 213.385413729711, + 341.0783226238043, + -61.10648396444901, + -457.2169368911501, + 656.2384534739624, + 28.958108306236227, + 112.95570725937318, + -310.8849118361951, + 351.4825452075229, + 380.96639516135974, + -827.3299680304516, + -132.02123060963663, + -589.7348470323545, + -698.7955603299713, + 816.8891532800117, + -16.142129771457007, + -858.2057603134365, + -975.3058342570007, + 965.9377560720864, + 963.1725599914666, + -409.86322251566617, + 668.5638803117586, + 445.48878179860367, + 112.6898921847826, + 324.5232015360907, + -117.132695463333, + 327.4901579184998, + 719.2266595803269, + -96.67078193922009, + -949.1420697961495, + -589.2363090633546, + -258.34438348407946, + 259.45573124979137, + -714.4100480006127, + -572.3370122057491, + -36.178968782687434, + 301.1126672095663, + 182.2524322726474, + 5.85629213728464, + 341.2231236089124, + -842.751643081762, + 35.36131456206772, + -238.98704076804722, + -634.2833383204218, + 828.2176768793661, + 239.86460529359306, + 382.9123810357189, + 24.757484653665415, + -347.5338405729274, + -868.9929514100177, + -228.09309783946685, + 592.9755698273004, + 749.4940261074541, + -772.1648041399902, + 160.79946042568554, + 50.8770492020999, + -375.79450979929675, + -96.57611683067933, + 115.14633017066467, + 989.1386626258002, + -425.55805038989945, + 897.3475246312696, + -994.5057210673982, + 127.45680525080866, + -641.0631841842531, + 956.6322213468779, + 529.030568484596, + -48.144546239199144, + 391.4013488338792, + 551.6179444690247, + 211.9687494888658, + 173.02518585746543, + -383.16883168567676, + -184.524068343257, + -440.82410970508977, + 747.6373946399794, + -462.03781397887394, + -117.20672739793179, + 330.38697098231796, + -981.4917586163054, + -642.9484101901137, + -473.3623266418931, + 312.2725331649233, + -789.8197630855992, + 885.5162404417206, + 688.4190664844211, + -941.153828586933, + 285.8924606992705, + 781.4150561788181, + 597.6317155982983, + -33.70756732453333, + 853.3706394771302, + -142.03027085713416, + -975.8307995582678, + -749.8880650089766, + 133.7960915587878, + -376.39862134802195, + 271.69712888209165, + -428.3880627064565, + 864.2045128982704, + 728.3810860033557, + -543.2694170012578, + -396.0480781181948, + 211.91731568597538, + 782.9258942082608, + 156.63216491542312, + 38.597045147973404, + 621.2246820151622, + -557.7158183141103, + -389.5187237673339, + -572.6953120078358, + 651.600132406008, + -275.50929271760526, + -924.3483688512422, + 576.9896003128454, + -521.6141806766406, + -502.81651244778146, + -501.8877655694103, + -592.9792232912207, + 478.7945882085942, + -546.6258605983094, + 906.310969566244, + 685.2980747765248, + -441.19856381814793, + 693.4428168968452, + 158.53645895337377, + -56.4109383585527, + 454.08619836387925, + 798.2975977629374, + -706.0106620780871, + -849.7019673444086, + -564.3393390767764, + -99.8404302665947, + -164.0837264111385, + -713.3326756312592, + 374.72713741543885, + -812.9690957886693, + 568.1822337217438, + -575.0672331197013, + 113.24615365795535, + 519.8221187871766, + -362.60148766422003, + -575.5094478331044, + 872.7896882048549, + -960.1244871976539, + -16.907246152495304, + 322.0912398776843, + -617.8884981691028, + 314.48160719839575, + 222.9005887910107, + 850.3064372220376, + -194.8369325356773, + 775.565426562727, + 766.6757726175408, + -127.86142275399231, + 478.55123575341736, + -366.7778751144333, + -72.93715595074991, + 10.569671548522365, + -296.5984856066681, + 492.89074906589303, + -62.29213759351262, + -876.6274261775644, + -646.6410485105487, + -913.674851560061, + -372.334711704617, + -688.0875238446888, + -362.9811831006016, + 278.5643023389937, + -441.1378561718316, + -342.7880422395582, + -904.3664938406271, + 990.4176967147589, + -620.6610913165338, + -170.10579235119621, + -582.1442306968976, + 416.54406493709985, + -925.2940531736386, + -702.9218892195663, + -5.455509188505971, + 260.2205621945395, + 84.90802692723264, + 191.51631004282672, + 791.9793323815961, + -838.5548536674752, + 679.4323501216675, + 352.4245186816197, + -224.47268308642413, + -539.9618857003314, + -332.70339091353753, + -252.77712726495702, + -769.1991035035757, + 311.7440189566721, + -658.3212254315945, + -913.5390670628451, + -664.3803705522062, + -396.9811655128823, + -403.9155033723283, + 52.123271020297125, + -935.5280467174563, + 38.77040042803651, + 511.21602199098015, + -145.87977788819546, + -967.543852615071, + -480.54060015312143, + -281.793384833009, + -266.8042302769868, + -220.28966397913337, + 418.4497297906539, + 309.12216773555065, + 978.2317927159881, + -521.9916927789384, + 448.15670378966024, + -197.46816517012576, + 735.3432318030232, + -857.5281280321585, + -920.968638212831, + -413.38189108811196, + -534.5314585790617, + -341.8938073985496, + -156.9070961237693, + -865.0160324527038, + 969.8313614856245, + -451.72734652723, + 124.24811579423636, + -300.12308289535895, + -11.518020240235614, + 403.7379012562142, + 16.454110701229297, + 262.5703164803499, + -390.57388130702657, + -501.5766491320659, + -892.5904214635236, + 643.2998221691705, + 916.4051795384698, + 578.1294976116728, + -336.7441186689532, + -507.2256341125525, + -336.60931920364703, + 52.33739091882421, + -766.6487859045333, + 539.2960905795139, + -784.3478520428255, + 196.63346969096665, + -36.11656696240618, + 787.3955254266937, + -260.69377948863587, + 628.6937450421019, + -134.04879618799146, + -49.71421783660719, + -549.3562785103729, + 962.4011446419893, + 20.47021754926709, + -156.8451103319502, + -995.4445880500608, + 394.50890843697016, + 59.693831007050676, + -58.42603971747292, + -941.4465945736798, + -144.17109197082323, + 430.40904034977643, + 445.31893672254, + 947.0634750227707, + -803.5289351187713, + -597.5484329902185, + -836.9466091253004, + 682.264470847058, + -517.4165663857798, + -594.2014916829021, + -550.4552258936253, + -744.4141807385789, + 282.22628699382244, + 556.2373780889181, + -202.07110491344133, + 448.9488593424319, + -800.1425199747654, + 181.64717908597277, + -878.4890289971894, + -688.3600777499113, + -336.4571335496802, + -823.329150784693, + -133.44660843508984, + 674.6565915556587, + -593.8160657081844, + 665.6872166703622, + -756.1778851560257, + 801.1308542238348, + 500.4534692337995, + -17.79413854463587, + 968.6542917047152, + -900.3828284921453, + 33.394047726901135, + -205.40288073748013, + -74.24504067720488, + 683.7161916741861, + 676.4700534090025, + 407.13203753684706, + 536.0763808682862, + -207.8820549366418, + -623.1901206900841, + -264.63219686159505, + -330.8478876535397, + -547.9008629835987, + 658.5997422650557, + -481.51137633567464, + 890.7711880682511, + -93.79339447279426, + -379.74118933995226, + -447.536338814792, + -634.0389447550745, + 354.20969655140857, + 513.8852735299636, + -381.57065410731207, + 663.416482183082, + 281.8347059910043, + -412.7562253912573, + -264.84612076224505, + 269.5919854961446, + 759.9094338578825, + -759.8255981170283, + -889.4838406754759, + -568.3759833059754, + -886.7389298298623, + 293.4418127345625, + 335.4920492755498, + -441.64558431066723, + -38.215187968552186, + 773.7559729540967, + -116.0930947261138, + -350.4210403132047, + 719.8701485786819, + -155.1249176554237, + 835.3663805383753, + 277.12118597526637, + 422.9773940163602, + -621.3942589101827, + 993.6916442944771, + -50.706242489649185, + -199.88141262550528, + -112.13232730790469, + 5.082393089860034, + -242.58361996319672, + 922.4340296321261, + 485.93947337469785, + -892.2208918311266, + 716.1216927273374, + -248.39838028294014, + 744.2665727210717, + 398.74766949166656, + -296.91783357599274, + -285.99970311916945, + 128.70926293498815, + -713.4865538085255, + -853.5541637955621, + 31.251643871713895, + -860.9592041324206, + -171.93086763176302, + 755.010236538131, + 723.6809208994239, + -288.3052794251038, + -722.8953244153583, + 221.68822203808008, + 396.38189475131117, + 429.3577948008601, + -389.8109969114803, + -86.29895483443238, + 845.1148332901421, + 458.31342476171744, + -726.6376641835457, + 267.4972761755214, + 869.5147378834399, + -349.9693787517065, + 341.5125365658755, + 346.5465288072155, + 562.3753026493396, + 457.25233296525835, + -625.1315005964173, + 433.89308344533424, + 574.2037317183581, + 636.4041230981536, + -134.57941877993892, + -801.0181572017411, + -631.194680299771, + 374.65243922168406, + -611.3881281965789, + 55.233135241746595, + 582.8330905912883, + -424.80611004704883, + -150.73754712410482, + -241.446932285976, + 896.2669281077931, + 306.1627192757587, + 267.40840880013684, + -639.1622369218837, + -110.92646601509591, + 318.08672361838603, + 349.6002276682882, + 733.7616522154074, + 535.7633103772996, + 792.9822276184323, + 450.81146536655865, + 2.215056744162098, + 948.1144085320145, + 247.2344051912662, + -365.65243418473426, + 811.7193708881773, + 404.2527290794187, + 596.1951369201486, + 189.52916189191524, + -262.1727932338782, + -111.69102040742177, + -66.13405463053334, + -14.910636453124198, + 673.111392894843, + -449.57381632284887, + -577.676738744519, + -48.69765700853418, + 643.9740268716494, + 349.8323786869744, + -436.7045657864064, + -194.20027809699764, + -82.51868171833098, + -337.89840288290304, + 755.4109907050315, + 652.9283756558784, + -490.43655608972904, + -717.0463360914954, + 200.33034154422126, + -648.7108622012047, + -491.7190711144543, + -289.8560091172975, + -42.15806913158258, + 865.4545919864981, + -949.3174612805797, + 402.59319961240317, + -900.5258264602492, + -430.3579149649365, + 590.5543993052754, + 753.769576523822, + 312.9803945299316, + -605.1876198418686, + -208.20054510040495, + -991.1856462869748, + 746.1237589527175, + -1.3087024658440214, + 588.605715000926, + 119.1280104238026, + -40.04525743014665, + 922.5080956198772, + 672.4578145740925, + -758.4431216786849, + 519.1271023668733, + 654.1950658120757, + -300.93119187723346, + -757.6248191580228, + -410.7877509673683, + -642.564396165257, + -493.8372063322354, + 875.4825161561055, + 325.15726869133346, + -518.0682569395692, + 169.23750952046203, + -851.8261317559932, + 619.5117334033332, + -961.751765674458, + -532.2363121237863, + -295.1021507973346, + 941.182297016537, + -954.760415544629, + -269.22031780511134, + -144.56825980230144, + 915.0836935743416, + -97.68348550666155, + -338.3683301585785, + -903.489351524547, + 507.0684795831057, + -946.1869020525096, + 773.2652602413125, + -24.20990715981145, + -481.06315918215216, + 809.3467630345322, + -620.1640740706018, + -643.9731488561866, + -521.6139479934166, + -103.19251081327207, + 121.51836693782047, + 301.5202341735453, + 0.41562875771967356, + 97.28801930713075, + 269.04505530846086, + -734.5364937504495, + -403.98036857684576, + -124.74881924652163, + 297.97861346545346, + 919.51123822819, + -594.9045932096917, + 853.095588403087, + -712.2448544114011, + -70.34873269917296, + 348.95612343883886, + -547.8993199215001, + -64.56284779091129, + -152.11752993458765, + 704.346102079217, + -446.0877557651355, + -11.044523375833819, + -704.7478252062824, + -886.6682895451354, + 157.64101932310405, + 92.84095803772175, + 802.2217632701077, + 461.02478450275726, + 362.8567376946096, + 410.0552733056986, + 589.5683896582461, + -116.96831909796515, + 798.6584460318745, + -536.6540229501979, + 735.2091121769333, + 907.012041321171, + 850.4956280137317, + 874.5493679093606, + 48.44523628232878, + -452.8528762619475, + -386.8567083227923, + 479.58104837771634, + 143.38152312030275, + -565.9309514751423, + -905.6144833072739, + 753.1630617424673, + -221.6251353601275, + 351.57080788662097, + -262.05599096808305, + 839.1696656124284, + -357.206948326934, + 216.444481752123, + 539.5657546223861, + 215.14804128294304, + -325.93381583836606, + -376.1499128122807, + 601.8663425368482, + 165.31296947743886, + 94.85729620021766, + -440.35497194915376, + -642.9953601827183, + -464.3424891265935, + -967.4999079169157, + -161.85134821509143, + 135.12141965986234, + 824.5724736733498, + 859.8369273192391, + 470.73090364520704, + -865.1183611699553, + -730.2936549293686, + -81.28601123268004, + -443.19385994198535, + -580.5187184189109, + -227.25488465055173, + -929.3214779942123, + -863.75689334845, + 702.3360239869264, + -784.5949552525813, + -645.988015231218, + -530.9521889393909, + 313.6297035102134, + -744.5596315348424, + -591.0819254294515, + 264.3684199648874, + 643.4686249162739, + -138.68046187756522, + 799.4329878677513, + -282.9579001276028, + 168.54780510091882, + -746.4913110037323, + 171.13171693343497, + -505.35133664554064, + -529.4237427170217, + 789.4543714750682, + -688.4283325950912, + 88.77983418749636, + 399.88785216379756, + 519.842606727123, + -806.3220986737108, + 615.1554439660563, + 901.3286175519613, + 263.78114439558635, + -755.8694750862345, + 186.12203085874535, + 631.080317418684, + -150.05275687067137, + -299.73442453396524, + -89.08058304189308, + 762.260443720955, + 7.950784297508449, + -18.33585193823467, + 724.9437599011924, + 183.54770620620775, + -612.5490338726485, + 122.84199202392188, + 122.28132653937905, + 410.9301536779069, + 985.4677808095405, + -858.4827367310647, + 835.7765312160141, + -172.80632328130378, + -658.1270240335155, + -226.9638113414136, + 43.658625076852786, + -384.12842326298176, + -609.0299594674127, + 999.6837395927748, + -961.2694319983, + 532.2363204409876, + 802.791093790282, + -777.6645405901719, + -646.1365915431487, + 67.86601047147042, + -928.238694367488, + -933.7931835206809, + -940.4189535131655, + 95.86551650424758, + 193.70062356491508, + 35.42698328731717, + 246.97747663425844, + 834.8235693392514, + 145.52377204379513, + -235.17210993934043, + -781.2754862627238, + -407.4919676749573, + -944.8322466509802, + -786.9062664102602, + -240.95707236317685, + 253.56670303220267, + -61.4016793908969, + -967.0081315240309, + -976.5195338148513, + 603.8745039451021, + -971.2451136390785, + 296.8093984946836, + -391.7189557777749, + 303.0258425666418, + -3.38785782944683, + -801.3952092937518, + 528.8183712978127, + -585.8868072632333, + 784.4300228107672, + 454.9972744476838, + -631.4055028773226, + 263.7213555704393, + 873.6207279879691, + 281.95136594908126, + 715.4816852216006, + -325.24299939434513, + 528.6122704801398, + -710.2149263520582, + -687.4500824274055, + 403.15978745104053, + 57.99743054037094, + -624.4032096215512, + 786.1945743605893, + -115.49226241281406, + -168.02525826358487, + -372.34249429007855, + 752.5422364809235, + 243.1098293556363, + 157.7053516364515, + -876.3382940177611, + 840.1064423804291, + -473.8739257312759, + 85.21221973303955, + -546.5010296341051, + -955.9455451507883, + 670.2138293148084, + -108.77948099203036, + -841.6293911997161, + -198.2846635058944, + 88.37780754261439, + -715.9714571245413, + 67.76495888944532, + 736.7971236060641, + -383.72473084861497, + 307.30495767790035, + 45.310432632378934, + -617.4493549522888, + -59.44180308860166, + 648.5527836539147, + 525.6781395561818, + 903.6454817242463, + -406.90548890078685, + -267.1650791032296, + 333.72275865461506, + -797.4987596837826, + 563.4267214338661, + -357.0943096417867, + -82.97940347048336, + 699.0687492644533, + 480.22874470292254, + 472.4016324690665, + -395.6160644308371, + 7.449902810574599, + -495.0607612059101, + 870.1585285542085, + -472.22207476534936, + 22.021252230780078, + 330.19684078963064, + -790.1303006842714, + 643.8340540295844, + -643.7236048332586, + 552.6301338362971, + -122.67802713604772, + 374.09053913641173, + 153.11365633270907, + 561.2251207476436, + 462.6205535475117, + 633.5165531161119, + 340.1203713585228, + 252.8600331583441, + 864.8874173273682, + 6.55871818242872, + 733.1857261993403, + -551.5684197578062, + -350.97935809324963, + -866.7551729547552, + -428.08071863680425, + -667.1623194414622, + 757.3968807063768, + -327.5935719671148, + 978.7259196019666, + -84.271372274118, + -298.5135337269411, + 504.4708664674424, + 801.5749549770749, + -659.2146367434906, + 365.4108671039817, + 382.3614365479946, + -180.1096804132411, + -159.85110621041622, + 805.8947121834747, + 443.8929880032665, + -395.24823231341304, + 490.1650554793123, + 155.9507333922213, + 982.8443770422573, + -272.5500220824206, + -609.2452061889292, + -225.5758725821238, + 277.14047362356246, + -630.14664064375, + -275.81300147686386, + 801.898886439948, + -437.31209774600813, + 730.6665021929844, + -489.9573838042639, + -971.694435637073, + 307.54101709831934, + 719.8464877071106, + 119.4835691289993, + 509.6970312063122, + -370.61453547723613, + 506.90458588777597, + 627.8516964268065, + 126.65973804477107, + -306.6509972541651, + 504.45687641030736, + -277.03021577591676, + -889.2524074487523, + -806.3007616861211, + -870.5780027299843, + 354.8446324441977, + -336.7540221049337, + 331.3238233613163, + 896.3116507470143, + -289.76810851078665, + 379.87181020139406, + 335.7743281214846, + -807.3529881417909, + 122.74451576545152, + -128.38375437369837, + 438.43068804864106, +}; + +double y[4096] __attribute__ ((aligned (4096))) = { + 207.8933075049165, + 839.2780411990673, + 175.3644597137013, + 510.90470699665025, + -662.4506560109921, + 342.06766720171004, + 985.6396468852959, + -489.9654032704743, + -488.6052126724825, + -756.0767320083407, + 742.5723582539692, + 469.9500135372898, + -785.4143744324085, + -300.6919667000916, + -923.3462151549193, + 805.2026272418796, + 889.9280288970297, + 701.4652286515097, + 926.9853677440526, + -103.412784164409, + 885.8091380244446, + -158.7879791857731, + 932.223366788447, + 679.6191516465831, + -858.5546130227366, + -137.73695045000215, + -330.9251445375279, + 525.31694035645, + 97.37629594620489, + 980.9676098992293, + 379.3719925209298, + -750.9453151139231, + 858.9935715276529, + -704.945889337022, + -824.8863559523741, + -5.567914828140715, + -547.5002798562327, + 814.0602268866792, + -199.38611162392795, + -541.416055603594, + 534.6735812026241, + -539.2716910814027, + -728.5805906176126, + -793.7428453106936, + -785.0615092423657, + -590.8879845285646, + -972.0576553107654, + 394.0540190145896, + 199.6434393967129, + -486.6892230051758, + -850.8701916623145, + 854.7910612711194, + 276.748265921691, + -709.8653688039376, + -157.6498578642345, + -281.65665321470397, + 48.8153786084149, + 103.77982130335204, + 475.10101380298806, + -602.7399544160969, + -181.97361744046202, + 158.49650751568674, + 516.1623733776862, + -433.2502713724051, + 498.77465811205343, + -547.3865657607644, + 325.3183310138429, + 294.1230153538538, + 969.0741874715536, + -723.8331811911429, + -795.6359894689042, + -602.0312082813182, + -410.62609462754085, + -182.3938668251352, + 902.6318737312724, + -78.28080728413056, + 894.8169808845951, + 454.7462483016502, + -327.79561525815757, + -300.0852832348462, + -913.6398117917381, + -544.9533570394872, + -312.6466275616575, + 45.00259868700641, + -279.88493168492187, + -776.449744465403, + -856.486663149822, + 288.4227172345943, + -184.3487185995358, + 124.12510085213535, + -180.57059024136151, + -432.33519364008055, + 690.4701044272226, + 347.1401142928421, + 102.83588756448489, + -865.1353005791298, + 439.0552202571603, + 561.3036023438606, + 620.2224417307245, + -275.22964074324193, + 32.832923625084504, + 513.5127955579535, + -960.1791859039557, + -149.90028643308358, + -554.0008948573043, + 79.15492036642036, + 852.3622816888503, + -753.1272356359277, + 828.8199828754198, + 547.2559561344879, + 450.27757592707485, + -928.9871569617321, + -435.17281877150356, + -319.4834488768672, + 254.5039402744428, + -230.43807497623914, + -642.5248422824266, + 99.15360469695997, + -810.9123373412715, + 238.03732708333223, + -403.64333367893266, + 874.3671548484972, + 696.5066678049684, + 974.0078333693662, + -963.2532649394816, + 180.08243086023458, + 180.61905678686048, + -185.91249507092994, + -307.2500514849701, + -616.6663461999469, + 777.2035459336657, + -817.5488433338642, + 855.0023483394509, + -7.649663864070135, + 974.272442777562, + 402.51783352069674, + 397.81949602247823, + 774.6938192058253, + 267.7041109419538, + -353.5931584880259, + -327.2081797558167, + -814.1333888614353, + -189.8758977960597, + -847.8643340152372, + 25.46046636419237, + 125.39053565652034, + -950.486464707393, + -422.53511108936675, + -718.7427798819326, + -83.69287844394364, + -514.2735206297326, + -365.6369812813589, + -467.86220860033325, + 501.5347794231968, + -926.7509745624765, + -870.885847448252, + -394.06501932430297, + 867.8700842842811, + 24.51118932265331, + 252.63532547996078, + -721.0723124877554, + -883.3039255875228, + 412.3663822927201, + 880.3875191890511, + -570.6539039340839, + 131.53013338301776, + 527.9229245130919, + 239.74338359933722, + 122.05100546958624, + 663.0379856697441, + 399.29583601418494, + 35.0297646741119, + -368.50550304200874, + -845.0909792863455, + 463.02794419167185, + -41.31547165328129, + 619.7637347314421, + -628.0377618529702, + -427.926124456901, + 419.99910533179377, + 102.75181013214046, + 590.457607485379, + 94.4205473602367, + 566.7243141925803, + 388.40386856722375, + 328.4393048604361, + 611.5790448269931, + -960.867438487274, + -823.7939906557667, + -183.55177754998647, + -392.98334931049374, + 316.89854784248064, + 907.2109012943661, + -185.60092071456438, + 268.19735994801977, + 174.95165660173893, + 469.72843499324745, + -749.9770071977393, + -205.49193313256217, + -65.75471494702606, + 834.0876422829249, + -477.4681302008097, + 976.6002327383433, + -386.597783131287, + -762.1423349787783, + 201.55334850252757, + 652.1438574246079, + -593.1373348427671, + -672.7180170696647, + -788.206258657546, + 646.0848897723054, + -116.1534248561511, + -280.28347848468104, + 863.9855161241805, + -144.98262592123433, + 870.2252248845018, + 6.168947490573487, + 803.4896657343184, + -110.80068056672894, + -320.19163310264025, + 627.0059069055092, + -142.0606433844938, + 523.6990931816079, + 42.79715741635073, + -668.8410149236772, + 372.8933731494085, + 770.4587202756059, + -554.6438481618883, + -799.8339148281503, + -595.2116842813457, + 324.1668460363892, + 292.33925712558926, + 543.2402078598111, + -33.407011409904044, + -372.08610200794044, + 969.2876397299842, + -548.5488246659079, + -336.45270992939174, + -102.4284075511033, + 369.61947119961405, + 371.9521872575574, + 88.32604497815282, + 502.75473390737307, + -62.03936022620701, + 897.5763221945874, + 704.7131456258824, + -403.22115739122717, + 182.94179873295639, + 817.664206299268, + 109.07032306138512, + -171.95818661448664, + 136.64337338298765, + -298.00756555497605, + -536.5160393819473, + -79.84527881595409, + -441.53400255103395, + 640.3985780564212, + -114.99415672546127, + -846.8522381414127, + 674.7195188956173, + -524.3430944646241, + 867.1345471277484, + 872.009185356746, + 707.2130544616136, + -617.4604695812193, + 88.67505909313854, + 370.90730343331984, + 982.2744963484583, + 110.98806831809111, + 423.4614991708454, + 213.56592281970848, + -15.438093495387534, + 479.08636379774157, + -802.3570788149434, + 732.551458096761, + 155.69674386012753, + 81.63012476521112, + -891.4409502167555, + -631.891384170925, + -657.672782329163, + 867.1130020103531, + -846.2103855556793, + 687.2392483359251, + -709.6908018310473, + 438.1228432708008, + 996.4132977368074, + -18.50085302499417, + 533.4731318989961, + 628.8173765537535, + -708.3058813835703, + -963.2599621354672, + 773.9403920067741, + -976.5452347607348, + -850.9787983635357, + 5.076651322758266, + 198.66718015264564, + 512.4951539951599, + 311.2704583723453, + 96.1000675661428, + -408.59985249939655, + 533.4991505476019, + 990.0829578873688, + -33.3385554830237, + -104.92329452103081, + 261.5052457000629, + -391.6867765217236, + 82.76175128506634, + -274.2362739841102, + 439.37171145468346, + 262.19664261056073, + 792.0834193419678, + 107.41237658890145, + -487.9570094155947, + 713.0292589974069, + 155.76602972953538, + 45.34764224448577, + 398.51660638277895, + -926.4585572711787, + -314.8818390313892, + 176.4649934800325, + 738.6487693122522, + 566.2430639928448, + -992.4740572728658, + -511.75710182472557, + 74.95095450879012, + -550.9328767433594, + -397.9479866769377, + -49.040487203666316, + 732.3213620720039, + 303.6731965740123, + 497.27286991922506, + 456.7382948591692, + 358.7582064320088, + -752.6540794870773, + -655.9707608243073, + -126.3843960927486, + -670.7142063124936, + 618.0153183409484, + -851.5672065984126, + 32.583017014047755, + -997.811900846556, + -573.0395729787101, + -98.65162765482262, + -856.1776855972352, + 934.5123314902614, + 397.23019089339846, + 310.43320809336296, + -728.4806512105579, + -58.463052650540476, + 384.22054894748794, + 788.3752824901462, + 842.8819435701848, + -507.1500968576166, + 487.7050276626801, + 44.509555920472394, + -867.17525895548, + -718.3531440655959, + -108.17987070518154, + 825.3268010449051, + -448.4244890406377, + 136.79217441213723, + -956.0959484767512, + 134.13073504694376, + 573.3271398070715, + 602.5660806674198, + -301.72507040932044, + -647.9750950377685, + 227.01388085904068, + -8.83541647685297, + -415.32671902565573, + -747.3072696798861, + 808.217727183586, + -468.69480207833476, + 532.2322731294539, + -287.33397732787137, + -693.481662893164, + -868.7537832440071, + -492.9082081020053, + 819.7093721400627, + 993.3894003667076, + 216.02039588897264, + -841.8313284164327, + -108.32387755893433, + 954.3893353117389, + -609.8936431310982, + -281.5193113874177, + -716.2877530683396, + -77.34830004830997, + 2.9867348063561394, + -366.08869439842647, + 720.0820444559558, + -426.04560614660204, + 235.62804195866306, + -355.41596437657734, + 418.35750920038595, + 446.6696723897744, + -308.3042383854007, + 282.3722829572289, + -719.5980243902709, + 835.1421964137844, + 935.7031459933728, + 667.4085640291853, + 894.7493772691766, + -738.1579655327946, + -974.2832222174591, + -331.0183223219152, + -777.1072882194918, + -520.7547776035799, + -824.608928684853, + -475.07435044700514, + -831.6708857925264, + -946.2539201291846, + -445.6666214607592, + 952.1049947152173, + -55.31376089123842, + -532.6098352202387, + 135.42626563647968, + -163.76347290428112, + 311.762610709937, + 966.7463868672676, + 188.76400726054294, + -116.19467025817573, + 469.7327101801295, + 851.6465835815247, + -137.22461043461692, + 631.6461433937425, + 889.6144319427376, + 868.2837832917289, + -641.5734369665913, + 878.1217365371128, + 173.68051166906162, + -505.9589194564036, + -712.0677422595099, + -750.0060969687647, + 729.8488923475595, + -418.08336793755507, + 515.1404140086358, + -266.16772284117496, + 104.7980961049675, + 807.8448418035434, + -703.9127620664649, + -696.5406878687793, + -893.2344895896966, + 764.1405570809686, + 415.44132197673866, + -917.0938719920136, + 864.2304155942024, + -135.43796447524483, + -743.6237022458954, + 970.9961840855678, + -697.1926928028948, + -75.33966488688941, + -965.3354142515451, + 719.2600413562698, + -791.0370482887132, + -118.86557354980937, + -874.0502332771836, + 701.3611568375293, + -98.5722569986782, + 518.3381544847891, + -924.8598821663911, + 559.2655633762117, + -486.8556531738144, + -917.490772223809, + -659.2172984475346, + -244.67769683446352, + -133.72826380614947, + -222.3210033593848, + 533.5017103396847, + -132.58925974976137, + 25.629900593902676, + -798.1957590673294, + 188.4565756661384, + -568.638415292843, + 798.9121033034455, + -891.8435906202926, + 524.3734670570595, + 826.4641154336655, + 707.0408851106945, + -837.4575496470502, + -968.7115054482034, + -23.911632138711184, + 356.3780822275364, + -949.4971045548399, + -199.45532459039987, + 293.36865226733426, + 376.74094807629035, + -181.4256253033899, + 898.0319534229882, + 346.1828288099814, + -277.5110030326873, + -415.05146761660103, + -752.6629513411576, + 284.0206429196048, + -941.4707965053759, + -278.79819793422064, + -150.28960953564672, + 98.35088122085472, + 42.38989438885574, + -90.29418037506014, + 869.9269461840202, + 387.33507794287493, + 644.3520197536889, + -426.47738751192117, + 584.9176064984215, + -861.4813384885487, + -301.8450030598257, + -509.36365788348394, + 295.0063216198871, + -69.7666303483486, + 700.1169376206615, + -825.6404395098004, + 972.0907439464868, + -106.73928576962032, + -318.80416439617454, + -20.092756272201314, + -300.49722229235294, + 496.04592948782533, + -399.1923703012619, + -554.5382425977059, + 327.2166211108831, + 316.67696130202626, + 947.2676940660581, + 728.8050453278304, + -599.769036416905, + 123.70997243371085, + -938.1963890353051, + 520.4300499895658, + -393.51879182304606, + 299.9198764921646, + 241.62800029195046, + -568.8525733564397, + -916.248816252943, + -686.6309254467571, + -691.2370665379286, + 877.0352723148178, + 847.4239538363477, + 947.0302181160789, + -949.2680003574133, + 992.8567346172772, + -802.8126383948928, + 68.33926694439788, + 388.0230722464132, + 600.5054888545317, + 344.9724468593063, + -917.2687448151762, + 791.6563072571339, + -988.5002480068579, + 138.29295811614338, + 278.95767179323025, + 707.522667518723, + -92.1211950997291, + 657.633633980081, + 452.3903429364768, + 989.7360891394312, + 195.92091936778024, + -935.3579261149451, + 711.8063244239943, + -183.97493940167078, + -792.184799098622, + -877.2601574136324, + -589.6266417124618, + 572.1884941966068, + -664.8780797091584, + -757.5360622260403, + -885.5198419230821, + -674.2460869036195, + 345.54825039708476, + -132.4255077469503, + -177.05691582064924, + 966.428497410435, + 502.3644477802918, + -346.4969256324832, + 796.5499416054424, + 618.9085625095972, + -671.1025093964492, + 527.9349567703637, + 926.4378885754372, + -775.4148504109355, + -485.6973093432655, + -88.65208627464938, + 553.0563197359697, + 537.8270692480239, + 728.4877870207692, + 340.8245480109997, + 59.464597404647975, + -46.12745037613024, + 54.13621507683479, + 929.9428658083689, + -244.419161007041, + 420.1007252847942, + -49.03865415628377, + -736.3356981337057, + 775.8544017259969, + 374.24668408434536, + -288.45352308894826, + 138.9373022474797, + -389.515149194551, + -691.371704729821, + -819.2533932832757, + -955.5878491601044, + -861.0596290985839, + -911.9762330738847, + -263.1711788523859, + -229.24855951209258, + -943.8221562175506, + 270.02720171603437, + -111.51462646291543, + -30.020842059817824, + 52.868423172686335, + -656.1570795934817, + 640.8846532554469, + -385.5108922483819, + 79.54714752312839, + -91.32123341909164, + -856.514907753839, + -877.4353671432444, + 876.0758085376974, + -637.2685758754111, + -479.8728791061237, + 297.12881495922534, + 830.3298366715094, + -237.1136669722738, + 383.5223458155954, + -492.24450952324594, + 640.8189537722878, + 17.2714304322634, + -895.2862049624024, + -437.7597462918652, + -51.557889328611964, + -358.9113111417455, + 557.9097419670093, + 414.54159602427876, + -950.5147894558961, + 980.6766908516265, + -586.9435012907779, + 222.09372145196585, + 933.9299718778252, + -462.29234572665655, + 891.8864636184003, + -373.95883350563736, + 988.213404150543, + -496.469363438967, + -439.3425372921429, + -995.0791928873506, + -652.2019875618752, + 836.7834037677044, + 544.7248212124318, + -708.4598367704698, + -10.700395665841597, + 782.1880594471786, + 531.7523036597283, + 501.30472611489154, + 13.068769921837202, + -858.6876234600085, + -434.6812522775674, + 252.5799302558496, + -496.30571768797193, + 73.53860886812049, + -883.9379106199812, + 50.474981140845784, + -940.4150857710526, + -27.126696931219612, + -708.0403731429913, + -383.8827580511088, + -468.5031292043458, + -130.25831127839308, + -892.0156368997029, + -5.265777396786348, + 432.4178465357677, + -478.0144155047003, + -13.085805138627961, + 736.1380757572288, + -402.49342901220245, + 853.3396790843658, + 543.9613944168971, + 25.77997798765864, + -751.5067709768886, + 365.25778502997264, + 485.1421126041548, + 327.70114529866737, + -212.95816576786854, + -770.2162194854751, + 868.8941345810827, + -213.02192647075185, + -291.4794396742326, + -670.757637404892, + 707.1662989593406, + 979.4388495584992, + -693.6219864398115, + -240.05113785649405, + 717.8611615514121, + 513.5269519670865, + 819.6373740546919, + -926.5426430979842, + 603.2011743038013, + 83.76841385353805, + 157.1453309925223, + -646.2139448581729, + -667.847557171305, + -652.3570111477151, + 839.5591082866572, + -54.909616314649384, + -253.6412565433899, + -206.71572633523022, + 665.6117209971742, + -724.2106644307984, + 516.7545782758755, + 896.928019553103, + 582.6386726010749, + 94.68148626288462, + 983.0642399735482, + -638.8657671340969, + -859.1842700876899, + 343.9175850217473, + 449.4751051105202, + -244.78781685755507, + 442.8737059783905, + -395.6966963889257, + 299.2705121415738, + -961.9196779047375, + -424.38085471051704, + -946.0421942541543, + -516.2762046757309, + -266.6818420308075, + 103.11631743369117, + -116.85963901256332, + -545.6944500935501, + 647.3558605515016, + 361.06087480233236, + 980.8195978292827, + 937.4283794863902, + 756.8069586923702, + -347.7629187442461, + -982.5134168130427, + -48.304304576562345, + -421.639566646312, + -371.29344200128276, + -722.3288077930574, + -940.3548916301545, + 247.48746499876165, + 597.056896031462, + -830.4128394014805, + -840.0083252209198, + 124.18873729984512, + -137.57898170911528, + 3.970548970622758, + 820.4722092830709, + -858.5345112815592, + -818.4202899121424, + -100.36153253812529, + -848.0266687944122, + 479.8328809016243, + -245.32383128924448, + -668.6739211595653, + -718.4585709525329, + -728.7146637901037, + -878.0750674320157, + 98.13900226713076, + 986.4122946608454, + -158.7991235346915, + 517.5756891480387, + -766.7429845635095, + -616.1156372024135, + 776.5053826772739, + -69.19131460915116, + -772.6660782927435, + 540.454264977973, + -231.37634212479963, + 988.1348206581274, + 835.8392413353722, + 307.99254503102, + -390.59069274867636, + -26.43993452295797, + 334.4216804614907, + 228.68353404994832, + 520.4291325281229, + -511.0740621675072, + -628.7255440644765, + -67.92607611417509, + 460.68968247648013, + -735.7464762042437, + 156.23199976104775, + -465.7501296846409, + 367.1666968767538, + -834.4319596790646, + 267.52468903782164, + 387.5334825065472, + -179.7046467465384, + 606.3956213081788, + -264.4883773569255, + -404.03630549640206, + -652.998298373737, + -128.7909008935202, + -339.83961157240844, + -392.5455521601606, + 877.9631747511348, + 154.8222183299115, + -177.58101513503925, + -806.8565699320187, + 633.0272812108119, + -253.12221423009908, + -61.32599679877319, + -176.38395088547452, + -865.4258532888737, + 407.597912832171, + -976.0069288018067, + 599.034436629441, + -936.1496767443083, + 620.140596834116, + -831.6750358169869, + 442.8035814472796, + 75.12141374624775, + -183.0968882499053, + -52.45626075500434, + -138.26031609305596, + -913.2686760085071, + 318.6441518675781, + -79.7762148985421, + 727.1873673800706, + 848.9166792505268, + 229.05310108985577, + -690.4702116298174, + 750.5396181328651, + 295.47829307392226, + 991.3209449674491, + -866.1548509305728, + 230.2465034260499, + 254.05957572983743, + 314.5645584851593, + -630.6486696072475, + 378.44244728889953, + -972.9662122049418, + 833.4026564392927, + 698.7818285250564, + -866.6855657898647, + -373.22754553911716, + -914.4327575178164, + -605.7404480580004, + -247.47324247432664, + 50.162067448596645, + -38.76482056510679, + 845.0442479985973, + -135.8934158133851, + -476.06347928294235, + 776.3131436708888, + 383.68068120241674, + -954.3158744579645, + 740.9902138798125, + -698.4549138731118, + -996.6468143532852, + 61.22931589638188, + -786.9984513161721, + -883.924363132671, + -433.7892737180613, + 684.2477433418883, + -459.69280772666616, + 372.95098399827975, + 459.0065369915135, + -382.567597831136, + -207.18308340646115, + 240.75135691312653, + 850.1680499017073, + -350.1457232898075, + -447.8303061677151, + 288.6793659680234, + 316.4372250513434, + 139.63524504408383, + -772.4991219939876, + 93.83004603355721, + 318.92592693387815, + 777.3062936338824, + -510.4398932720324, + -418.7751479844819, + 800.4047827384297, + 65.73460674813714, + 190.08510986653073, + -158.26446090024433, + -677.4392381399783, + -927.960724971721, + -862.6115397099381, + 13.648028196897371, + -351.36373070138393, + -935.7336404981625, + -499.61650875860664, + 526.6039806683912, + -763.8473596912114, + 122.00862344965776, + 577.8771425430332, + -347.3766368739899, + -290.2258078993243, + 599.2963610965555, + 338.974197762313, + 29.488631852178287, + 854.6631168867152, + 447.6990317018999, + -338.24879175744013, + 402.8587005669913, + -426.9389667409962, + -789.4874249300885, + -73.02022396799805, + -832.5174315836655, + -887.5893579160521, + -501.90708945887707, + 861.3671290547195, + -861.420301385449, + -397.1100679280464, + 844.7455864485637, + 212.6816876824878, + -80.89586097259667, + 538.2557458233737, + -238.6486730049195, + 419.654174686294, + 958.4740970720227, + -243.98566869601473, + -640.8451244039966, + 402.93472996677883, + 667.3034092430992, + -873.4172815487451, + -579.2349824668104, + 578.9667188731892, + 618.3679190957037, + 511.8842425689145, + -477.2218351090212, + 976.2452744793904, + -961.603086707239, + 463.4289270905608, + 20.261811329577426, + -224.27032329439612, + -142.85038275969896, + -244.45988676339266, + 559.3477389266022, + 93.26567641347901, + -19.512009662655487, + -567.199256329383, + -742.9252286312877, + -966.4311686072322, + -997.7671513117039, + -447.8574513635567, + -309.17042671893194, + -844.7079860060376, + -791.7496919523869, + 612.5997405995392, + -677.2276837806132, + 997.9532686908481, + -20.59447062080517, + 661.1099670175581, + 242.3122481406417, + -75.73004911378553, + -299.9931474124944, + -528.3366479907701, + 368.69960798291754, + 525.9704891126478, + 101.91881129366175, + -249.7130407104637, + 311.7874718450639, + -801.8785534853989, + 220.63070660144467, + 357.20928427312083, + 346.3919860196838, + 493.34692491420583, + -902.2391526244338, + 225.11108236361565, + 29.2876568641002, + -947.2164389172999, + 272.1342448232708, + -971.4018368322011, + -360.1213578725109, + -674.0954272508321, + -815.2904145381867, + -471.4495708047648, + -33.2546668598643, + -507.0845579326342, + -15.323257229723026, + 95.28366388869131, + 242.74518269052214, + -71.98803577626211, + -754.1320496521042, + -541.9143097958053, + -418.9602913785071, + -963.5784597667505, + 908.2440831702397, + -351.4225881807704, + 635.5239017844581, + 958.6940371252426, + 180.32413117075725, + -228.8714435284296, + -84.11200432763621, + -890.1503185297723, + -359.7705027984106, + -576.6606237269973, + 119.53048563246352, + -169.00332795210522, + 967.1843925481548, + 198.2467607866663, + -942.9497139481326, + -530.455231236617, + 742.0500688818966, + -788.5874612318236, + -151.8887965417572, + -621.8848991885379, + 542.2379043229157, + 532.4722724940552, + -928.4685610703982, + -912.4509257473235, + 156.4352262643688, + 461.21516900574557, + 745.4950607043081, + 63.75694450659557, + -198.1982998186918, + -436.3371690890434, + 282.4440978823268, + 666.5153738066881, + -681.282684714007, + -428.57785409087717, + 529.3295106263904, + -975.1040094817729, + 108.15370681892932, + 111.13608400846829, + 943.6090433270215, + -808.9994356878076, + 672.7905380077168, + -458.92455300961603, + 990.357150877175, + 527.9012426138518, + 866.0181079644003, + 460.0535637979515, + 482.024354584667, + -532.4131359323638, + 355.52782642041143, + 608.9730161995917, + -92.09523238892439, + -972.3911112975943, + -460.17163669174965, + 535.0867592159766, + 638.3544927852165, + -700.0017991039356, + 500.6817795997713, + -359.3481720042282, + -110.89727974536333, + 370.3691416092033, + 204.66789271871107, + -667.1699227571866, + 697.1813689965259, + 7.259633827404741, + 852.7692610820345, + 96.85881547855229, + 386.04973508568787, + -508.22309225748353, + -550.79302362415, + 856.3781201612828, + -626.4425606972209, + -457.9726099731196, + 176.05455507359488, + -830.5165091184108, + -287.7388163750958, + 371.13481124411396, + -410.98583348898353, + 655.2220740389007, + -535.8009543629796, + -504.69947558530805, + 201.06423593327736, + -465.71471008814797, + 323.1548724622353, + 715.1056270286438, + -622.3491565132799, + -557.6517707643136, + -10.451306171046326, + 449.6783710984971, + 766.6298994029491, + 173.57966868719745, + -741.908395147678, + -829.0037251331444, + 754.0023317249777, + -752.3754081727587, + 329.72370429609214, + 515.3515761435538, + -224.48295626507763, + 392.7627574932494, + -68.49072954740757, + -198.78789821173814, + -28.98455085457249, + -563.6463814253227, + 525.4879458506969, + -642.8702644212232, + -308.13153058692126, + 561.4627774040457, + -988.2453877386532, + -540.6303817781964, + 690.5799511432715, + 55.66045822816068, + -565.2431226015191, + 912.4901794076566, + 66.7027464465657, + -921.8646678038868, + -222.36785941458083, + 511.7699883895557, + 890.4716379568092, + 77.26541983349557, + 997.276304236445, + 650.4756439944526, + -955.4649211342314, + 352.67567620405225, + -743.9717611922824, + 678.476532944653, + 662.3904335975915, + -529.405999552175, + -126.02557421505662, + 453.9528505822002, + -474.9723428139174, + -821.7425816325988, + 514.4001881386421, + 284.99595919142416, + 660.3392309277506, + 227.18273094783672, + -87.4113507222063, + -344.8705774233349, + 830.6546162109541, + 637.9291160568444, + -64.32566579075672, + 717.6862694799063, + 829.3159138464853, + 59.866807024307946, + 568.8478321846949, + 436.8988719244062, + 563.2136342760409, + -245.04511667903773, + 360.1792446716306, + -34.10561744687277, + -292.49950797623717, + -180.6678976001998, + -11.886159191860884, + -395.65991716938686, + -788.9574280292549, + -31.940254681737997, + 476.7576364009117, + 679.6214870566196, + 472.37473200863883, + -132.0545735663461, + -494.3762474598008, + -639.9268899076337, + 780.5937392439494, + -605.8512763218536, + -222.43579343859324, + 142.34992465406958, + -68.09845303667612, + -970.7340776264841, + 372.51855224243127, + 759.446777829779, + 796.3692603955164, + 333.6795872290743, + -237.2314563665592, + 323.3451859856391, + 288.3843341278198, + -339.6410577792774, + 476.09545638165423, + 513.2488303502353, + 718.7293521860408, + 183.64267481877982, + -761.6715816231772, + 118.89139757675684, + -819.9457541028535, + -677.3026528096431, + -126.01707999847031, + -488.887139995926, + -736.4215099340688, + -877.92953610665, + -285.7343974001225, + 102.97832438669298, + -482.0881257434355, + -252.32938855733096, + 181.0784537021234, + 175.3123267778317, + -280.8779992382016, + -741.8991724174159, + -250.4825358154983, + 419.75553544581703, + -263.2045186345398, + 938.259635528414, + 47.61724753522344, + -133.32268634353466, + -460.95168374347656, + -335.90766460795726, + 489.1838483756885, + 543.5765077790347, + -135.94858743274062, + -641.4052860094632, + 401.28160031667426, + -107.86488952175625, + -442.7107795751526, + 701.9505137404922, + -638.5206605414891, + -466.42524364566884, + -161.8208627448521, + 684.7521667465378, + 748.9832706830468, + 330.15198660589135, + -737.0967736509291, + 459.2488242432423, + -503.39362319705106, + -227.24578108614207, + 239.76226320676506, + -699.1861068664484, + 622.4044055276456, + -395.61694806120465, + -90.26607587809156, + 662.3452756355616, + -156.93894057532873, + -502.0962548588601, + 339.0249527848546, + -88.06277945667728, + 215.93143689084582, + -552.2148459767081, + 680.9271542114943, + 956.8325101195176, + -761.8648591890558, + -815.4042046603238, + 372.3079239282922, + 197.56983963300263, + -659.5699343428291, + 588.1388672770304, + -4.081403117760942, + -90.51397862904673, + 53.09204632427554, + -848.3309018245307, + 615.6964675584784, + -642.26540941416, + 780.2592675958456, + 566.1370908065107, + 352.9820190891776, + 88.77352400948257, + -187.26344344016252, + -842.7588431222672, + 581.697623193746, + 430.65054270647965, + -529.2535370792505, + 508.16216090326225, + -489.7772323220375, + -856.0492249065672, + -871.1006771654797, + -475.2912512148122, + -497.6740769229622, + 167.3956156233378, + 276.10472613550473, + 163.8235404994357, + 438.65628542859736, + 39.364340048396116, + 872.0206682545609, + -750.704345734948, + 626.3326230824362, + 894.358657900583, + 754.4429623531448, + 480.7364345466922, + -794.8472879980258, + 66.18854553331266, + 999.3037958264586, + -166.5986968002187, + 478.812531212104, + 279.3756986873036, + -528.5021505422399, + 879.0476729680099, + -53.38369969525388, + 773.6285631815003, + 876.2031978913956, + -340.7718288094554, + -323.2034652796094, + 854.1746738044167, + 936.4625047101465, + -79.49447636705577, + 607.7538708077743, + -350.13835336900945, + 649.1051040751784, + 568.0961206239988, + 226.42289010275795, + 579.8602272964545, + 394.0379075949634, + 287.42962577659637, + -322.1129034399486, + -808.023996160333, + 150.04663264545297, + -125.0073668086809, + -276.3182667012363, + 407.1025287583975, + -255.66768860543118, + 526.0075129561544, + 953.9288285726916, + 367.7088474941545, + 247.52289155625817, + 869.0695686337972, + 52.329233479290906, + -288.3126656235145, + 519.0288608179858, + -655.448438728853, + 792.1719352619666, + 149.4438321567784, + 271.26700986539436, + 168.28131821914258, + -757.8541089794132, + 857.0825457093601, + -508.0774337499674, + 391.617226626611, + -751.8886328195815, + 662.9381331408078, + 589.6694400170911, + 801.5866642986728, + 557.8382365010928, + 21.8700641615701, + 6.403754795907275, + 613.3868675433359, + -410.4078091819341, + 213.40898567703744, + 251.82451477686868, + 748.7267562045822, + -725.5404824171914, + 879.0738087041486, + -191.4107456105454, + -688.2659243685647, + 752.9259161641726, + 451.08897765863526, + -442.0180979152202, + -646.1305836361502, + 953.8670563675348, + 923.4511035496855, + 937.4247797863745, + -728.2516393999514, + -910.5204561626283, + 771.1338542502749, + -801.2800454713378, + -876.4887367626941, + -653.6525899284944, + -7.125140105672926, + -815.1676255430662, + -973.1479515054447, + -501.09750830305154, + 822.5716474167655, + 733.8264619294937, + 98.6530460629831, + -832.787515559144, + -244.1205455155988, + 336.62777775749123, + -862.7773146843973, + -451.68979518179196, + -225.6869800343551, + -11.346189372372123, + 853.5037517861267, + 30.485088426210496, + 882.4736188820573, + 83.53839448531016, + -122.35966556957885, + -339.1145544681957, + -127.91395337583617, + 679.6931849555635, + -28.264892397083827, + 364.28035315493594, + 888.395640781288, + -913.4234478572437, + -926.4426442437863, + 476.18098078728235, + -36.1311630121553, + 830.9133082098826, + -344.17174681906636, + 149.6332650762513, + 460.042696093873, + 766.5166547733609, + 895.9680590152461, + 926.8691240940072, + 212.35168731722524, + -995.1024344739054, + -784.869840588158, + 175.30259939129974, + -500.8884033683141, + -292.69403727298265, + -304.1756905575728, + 178.79704404122936, + 658.9845378415873, + 832.6433968688439, + -29.95823010586514, + 194.47961621274317, + -709.0734075492986, + -31.577088073273558, + 145.66180572682902, + 546.1331619110845, + -18.16729033728609, + 550.1443776380172, + 606.2843181794267, + 807.0015755491843, + -547.3240455213863, + 654.0895076329261, + 856.9142044816228, + 675.426253216674, + 854.238630900842, + 585.320389230679, + -907.6864248543764, + 159.5476517086131, + -634.2532409335136, + 493.42174844765555, + -358.8551011176429, + 33.137442544591295, + 86.69916337616723, + -994.3837074517687, + 226.3423628183648, + -334.37046441888367, + -792.5057743246447, + -685.8973719529469, + -52.07782840858363, + 507.86492628698034, + 692.4063904038974, + 828.0298933967445, + -702.2468165519202, + 886.6200182589018, + 372.4563324392441, + -747.7327874928403, + 835.8541328455249, + 370.5452286115881, + 418.688555057287, + -786.5889250847888, + -528.6359544888803, + -35.57105596971735, + -495.1195253328291, + 696.5485938194643, + 420.88403339985575, + 542.6310171878908, + -75.043098970649, + 61.33039168330242, + 210.91789586226378, + 737.9806566686666, + -94.95950757102992, + 846.5967368791603, + 565.6362589323214, + 176.82604213963077, + -345.1961670776003, + -464.8076185976345, + -727.5844710060371, + 997.9951486953801, + 446.89858234347366, + 745.6469490954669, + -959.8384118782743, + -909.2856953124535, + -133.85629263676196, + 544.2954667298275, + 925.7086993668604, + -183.35135261243465, + -950.0234273411214, + -194.41665524628422, + -331.09773389414704, + -888.7362909297183, + 822.4711043000395, + -163.55880320782387, + 189.85974972791382, + -287.1482993505159, + 68.14771590404212, + 79.19448081576252, + 132.02104552632522, + 216.58937943436672, + 5.048219755018181, + -61.897836921304815, + -506.30031435322144, + -584.5504277010155, + 526.1141259916494, + -811.8070389724554, + -114.0785461663678, + 614.7541428356494, + 270.8961698547014, + -54.133795867936215, + -314.58838939947543, + -881.816327032261, + 140.13308615276014, + 273.66806921136435, + -75.5315547497986, + -146.98721486051556, + -973.933364307793, + -833.1243724748751, + 439.3681598587957, + 362.86935057393544, + -754.0069259803283, + -346.89272742230287, + 866.999573106194, + -732.7636127088736, + -735.7716066619346, + 61.498091062022695, + -402.7004981057163, + -39.96222148028835, + 915.8158288873419, + -356.06450383760205, + 455.2645391627889, + -758.7052764894497, + -646.8188666839749, + -305.08313001939746, + 261.09580326560376, + 215.04521533189904, + 610.1245729700615, + -931.7344857745073, + -287.23170170982826, + -986.6547321994285, + 7.007752869500109, + -735.9724586111005, + 463.18402316953916, + -882.5894662634164, + 136.48591513796077, + 986.2587902023927, + 267.4206654391544, + 217.13812870979314, + -601.4535398414284, + 538.1793290574433, + 193.00738618682158, + 532.4546840406956, + -357.7669977093019, + 29.495353037951872, + 21.04543058435388, + -412.8700602347037, + 622.256235009273, + 349.02466062184885, + 337.8542921424305, + -889.9428697082923, + -785.7346415796062, + 391.4672018037759, + -244.27527516113673, + -116.3582947804125, + -26.10092313599546, + -861.9751524521453, + 0.5503647985623275, + -834.8144529602177, + -54.62306192776305, + 809.1397274989006, + -558.0151619693883, + -845.4557785127947, + -281.8175405598014, + -425.4795847692159, + 869.3566279001088, + 974.6235087067778, + -74.3222527366438, + 757.8021306417588, + -209.2948972983271, + -410.2487014132912, + -717.5511854400727, + -246.79272991585322, + -193.46330387348382, + 799.582725260565, + -453.70957569467805, + 980.6226906023239, + 728.181446385217, + 376.3903177651407, + 719.692200640847, + -690.0301325488514, + -244.34074347327714, + 56.091936610748235, + -652.820169796521, + 514.9467681435499, + 960.8009250677721, + -404.7243781312093, + 469.00036524566417, + -546.4791449156057, + 856.8692254250966, + 32.24642962081634, + 706.3130538932467, + 121.1650956878359, + -898.1639389510585, + -282.9421449756064, + 55.41296909446328, + -641.9905221375639, + -565.2539823000707, + -620.5813776129465, + 187.84376880114405, + 666.6111658238362, + 706.7635292345744, + 719.5337805350812, + -41.95918063595445, + 691.0358316138468, + 679.4877134923818, + 634.689766134547, + 265.2606768805988, + -792.650677881302, + -201.00732868409455, + -821.2255406608444, + 337.0212766020777, + -23.162207142620787, + 999.1135648363486, + 733.0929076151399, + 520.127422222253, + 712.2027736178468, + -525.0253970370147, + 663.3504091138043, + -300.5670686135047, + 571.9864189529235, + -361.9371410095529, + 247.24222602652208, + -63.40569809394901, + -165.94622504657002, + -639.3556706004069, + 918.7076274832198, + 663.0498544098982, + -826.5999643072998, + 656.7010660038693, + 557.4796745448571, + -550.6979126361666, + 216.42841030810905, + 373.96119135084564, + 755.3969033304929, + -804.6563473021009, + -929.2055426313028, + -663.0931530113819, + 230.04614832034736, + 840.528685970238, + -529.9679999737874, + 542.3851471612011, + -665.8057137090598, + -58.039646493382975, + 653.9099045597179, + -89.46341801349013, + 859.9430900920188, + 181.35207272617026, + -32.54919086053155, + 353.3591176856155, + 811.3341856132765, + -914.681461688915, + -792.1839789834764, + -294.98832278573377, + 304.92064278300063, + -987.4226729849876, + -799.7164254820497, + -835.6127585957036, + 311.72497711755545, + 369.90439336263535, + -29.729697874899557, + 946.3512015211161, + -453.6581888369402, + 483.81199250596455, + 356.1912723471464, + 939.7171371709685, + -905.6430124728225, + -65.03277206870712, + 46.338735993758746, + 907.0349001219804, + 440.537764098264, + 304.3870651604566, + -644.3698542028209, + 992.0023784067903, + -699.2491910351043, + 733.3572016594899, + -46.35403987326424, + 721.8084554529084, + -905.8909316243958, + 525.9306916451258, + -821.1666685645447, + -415.1004363133501, + -464.9477732244882, + 961.8458894386249, + -73.58740177554796, + -149.88303358165058, + -483.59138126173536, + -406.5122577385747, + 717.1528474430004, + 697.5344975911498, + 442.58920049045787, + -684.3643584239514, + -15.348423278812334, + -481.4266721935046, + -553.3095565794315, + 136.18925763206767, + 81.75342763296635, + 224.3371950149333, + -953.8132392267867, + -985.5506744695224, + -195.57932785148057, + 761.1574683028873, + 871.2814500898999, + -32.29216312323376, + -486.58496386206343, + 445.19796941955155, + -295.3529391732759, + 281.56023770887464, + -868.9119492032914, + -889.2126885263588, + 959.558249635156, + 32.02863984939063, + -462.2512625330821, + 882.2235551475751, + -904.7138585964829, + 347.07850917101587, + -103.53299069027685, + -112.06909958665938, + 924.2695077241392, + -0.6774829623594769, + 983.5734443947485, + -615.0058827648379, + 427.5646780518441, + 489.4890243750324, + -471.6222005686484, + 81.4881092832768, + -652.1259448838161, + 539.6004352984094, + 637.8823915482567, + -594.6036405997129, + -269.8628169725183, + -748.392818260929, + 396.05012182407836, + 940.1366603931342, + -687.4795946001045, + 690.2175262575722, + -576.0188605834544, + 142.19685642801824, + 214.88234358060436, + 240.76951079210494, + -255.53465178367207, + -799.1471806948425, + -787.4097345968536, + 652.9663206757389, + -166.784068790657, + 598.1185179284721, + -825.6446687869234, + -917.4042157644193, + 642.6068480375945, + -275.25317306199986, + 3.9068749758714603, + 826.282546605798, + 124.05720771862184, + -155.83510417866296, + 849.3895163657774, + -516.3381333258055, + -78.11499547441849, + 657.2303054612416, + -249.5668180617272, + 209.3336081940431, + -122.38714367485511, + 948.2875149633526, + 431.99444054554056, + 142.29599244978294, + 685.3750896955592, + 38.81511811179985, + -557.5221306289635, + 335.20846336422323, + 589.934275343898, + 84.50803969819913, + 151.17711657160498, + 761.9928024453723, + 639.0139339778561, + 303.43180564193335, + 352.7942729150002, + -174.11544352701515, + 116.88579938097155, + 32.1200281734566, + 235.57495605406712, + 534.5876276406464, + -179.6250976904479, + -55.01735744384018, + -885.3273627619656, + -683.9812046518919, + 693.1692071266273, + -503.1119343091686, + -480.29161958569273, + -680.7631281461246, + -669.5883330840657, + 803.0602335913302, + -320.26429544903715, + 144.69599797124783, + -301.53798136788134, + -800.6051377151033, + 0.26613726394271, + -673.8581506852674, + 523.1432786644848, + -659.027004959521, + 647.1722075232481, + 429.0916815627261, + 520.8380782399695, + 697.8734676657675, + -37.802535823413336, + -150.4549660443439, + -35.626688347417485, + -260.5630627687651, + 576.9093153692254, + -829.5775597695058, + -714.5919074209381, + 420.6717394820648, + -433.2684263327262, + -427.45280070101614, + 480.85869473393564, + -316.6250172502181, + -57.42794015855873, + -169.9962344714338, + -963.0187912716193, + -821.1880384338383, + -192.78824871933887, + 898.3276618438881, + 879.4915614441531, + 802.6317657555812, + 198.78506609620194, + 204.43114526863405, + 455.86931300009496, + -146.79096676447136, + -802.4082186390062, + -943.8190119563476, + -490.95667147590547, + 954.6296349817899, + -865.5942165863146, + 863.2099785062078, + 134.50978080040773, + 990.4480690144544, + -212.8331446376062, + -859.4460962023416, + -85.11246824028683, + -130.19289281768295, + 696.9066868104026, + -976.5769856268706, + -502.2317831084986, + 938.3782380145126, + 63.84170875561904, + -930.1382923373513, + -495.23714736122406, + -106.92254841186207, + -963.8663444159874, + 557.2467794320012, + 953.2589742043263, + 124.485636051141, + 672.0300269015529, + 966.3401717689067, + 391.41514023293826, + 337.82888552903023, + 293.84565417540375, + -271.35163582657196, + -812.0984814040812, + -623.9047278969192, + 575.8499455762933, + 639.2214131583041, + -405.89209632172935, + -709.3324482774457, + 514.859979746022, + -864.3059790827539, + 332.5848717164795, + -407.0018051990944, + 638.7428595678562, + -0.24253573551914087, + 385.3597330216203, + 614.2059505722073, + 966.9953257259688, + 197.49381743309414, + -161.0444957879031, + 290.06768486403485, + 446.8723327855362, + -80.80519249181964, + 604.4292524071361, + -713.5661897527499, + -358.44886154649043, + -879.4280628115771, + -405.69163078526094, + -944.7243058429447, + 268.585572257477, + 599.0199611157311, + -319.9615378762377, + -920.1743972985197, + -982.7970513376525, + -406.1312623855508, + -960.2602303017022, + 356.44545028640596, + 891.453067644944, + -969.8667449038321, + -347.6858401571998, + 108.0333324025662, + -221.82812096596933, + 167.59477937619386, + -417.5239117581315, + 218.8073169616439, + 786.662764949434, + 842.0572358123891, + 316.2490182966719, + 920.7051976600569, + -496.0701345496523, + 614.4858336460725, + -476.6837618309195, + -629.8983421436158, + 558.390848847476, + 793.5393028878545, + 783.644476703581, + -849.680599739034, + -967.8151750647554, + 433.82234787793436, + 835.3034088188276, + 305.420798407893, + 111.13696778744747, + -190.1760467556985, + -200.02411624956437, + -817.213439970359, + -631.9465989136877, + 46.97284013349645, + 994.3493205211316, + -805.7000722656455, + -905.7687053971273, + -272.3442695514542, + 325.1152792449989, + -885.0583194670851, + 689.0029827722165, + 78.66601418391156, + 115.61110457440145, + 892.1310314037323, + 40.26081992309037, + -918.6199481761192, + 760.229253194658, + -493.8472699260883, + -850.1297781219564, + -830.5402251471617, + 612.2123559932288, + 10.775602221352074, + -635.6412248305091, + 261.2574192298757, + 268.32666503553673, + -369.0732593996469, + -487.1798865725485, + -146.16723800224543, + 416.99558887253056, + -594.9928450890629, + 456.92202715145027, + -671.7857176244921, + -561.1233763645387, + -698.3369566374888, + -935.2089479021681, + -795.3538840982835, + -82.59457698006884, + 37.457021778141325, + 739.6401492938155, + 213.24942096016002, + -816.3658234728443, + -499.8831246278639, + -23.877942870027482, + -969.7113059194271, + 518.2662083364933, + 548.4634297856544, + 59.006229372319694, + 984.9080535219441, + 215.64784263706747, + 736.4827418435264, + -339.42243653631124, + 233.5193350570603, + -994.6888641200877, + 18.87439157945562, + -192.65017064595315, + 510.8948220039397, + 813.4978751046444, + 701.7591591024845, + 784.1292421652206, + -320.3145655051534, + -857.3990789609716, + 719.9689584847008, + 721.2361805659918, + -342.910607439622, + 324.16849063010386, + 170.65675374455304, + 707.5957244309407, + 686.0889169017487, + 767.3633032228072, + 398.81407016077696, + 136.98944168213234, + 397.3169224947362, + 267.43778693334184, + -862.3157665054604, + 738.9048446129661, + 167.51061128159495, + 258.7526464959992, + -783.4748559923288, + 936.5553780586602, + 267.17924527228934, + 791.0472601513254, + 565.7515116247712, + -836.176685701096, + -239.54149113880942, + -128.89483633215514, + 833.237315172043, + -336.0776986517185, + 424.6387478864972, + -299.1862046974205, + 609.7086568609188, + -770.4610424496949, + 222.72921121503123, + -108.61818736620558, + -997.5152946659509, + -854.6629784472799, + 858.2105608841143, + -261.5975286648977, + -706.5151338968637, + 954.4609732172739, + 463.08781540975974, + -131.97828261485415, + 884.4345162525158, + -160.65087030664142, + -249.66806851399895, + -250.73678917021323, + -32.7058617296683, + -258.57615174037176, + -69.14100280319428, + -523.556658197947, + 837.4395840168206, + -926.8865210018741, + 413.4985649047883, + -378.9655403889916, + 785.1232479511104, + -137.5498503927637, + 659.4153618255318, + -637.3616786991913, + -271.64732951550263, + 304.3587030549754, + 335.99001034123535, + -742.8148147293003, + 396.47419812035923, + 18.78547201094102, + -363.2153596739771, + -844.7630366983556, + -537.9002018417644, + 50.393951215927245, + -777.3191971680609, + 722.4447623590961, + 688.4287799580375, + 108.16942486577818, + 7.6596123266700715, + -902.3814864031979, + -242.16527174302826, + 758.9413451077605, + -980.2949257751161, + -649.5707695291151, + 98.12457396600189, + 497.64776764640146, + 360.44234115095355, + 162.24775733330603, + -21.353950575949057, + -300.8808239322234, + -637.5069708028677, + 323.6612948277739, + -71.28244147035616, + -568.7503072363327, + 830.7880053509014, + 896.1425010269809, + -994.8757136922013, + 925.4172866458621, + -410.8984954581456, + 645.3520812534034, + -683.6798947781551, + -205.17455134944714, + 348.3345558578235, + -925.9696668688797, + 645.4995646725031, + -59.783442616678826, + 976.0719773982639, + 363.19037133515826, + 135.70586120833013, + 893.6809183685357, + -531.8454778700907, + -153.20953688721977, + -652.855283120434, + 65.92813560333866, + -522.1148205518913, + 941.2944672228928, + 845.4713388084572, + -778.5581929585657, + 822.1690828676037, + 278.16353821686675, + -107.9845100009851, + 619.5953776343683, + -79.8024976920691, + -876.4378813034343, + -465.2801060991452, + 574.6107993786304, + 655.7658086302786, + -53.087590964475226, + 260.74153918791285, + -113.19182021569429, + 612.522089594253, + 616.6185804106531, + 155.23309219766202, + 73.90977592878039, + 529.8501829666404, + 93.5926413532593, + -26.866291343900798, + -639.1295087393103, + -482.841997607546, + 946.7312165639798, + 1.0582093264483774, + -449.5977372224602, + -67.14451742564529, + -464.4410030053882, + 837.9145593009187, + 786.0264791710968, + 950.1693461021448, + -299.99164245168197, + -180.8293037125801, + -630.5439471798722, + -360.6672907035248, + -339.2622584914635, + -477.57931428081827, + -427.18631311704974, + -286.1754502669189, + 524.1726763647803, + 723.027835055587, + 992.214746675905, + 950.439358680964, + 44.05234144433871, + -696.5670640146358, + -957.1455004579473, + 799.6047015046836, + 393.2226369964603, + -725.5305063860524, + -592.0044583104054, + 30.53861416377208, + 51.90908471532339, + -731.0075484794563, + 290.9227716879466, + -20.458260043828318, + 260.25480758866115, + 482.8591447224853, + -615.6364186539156, + 184.91291848105539, + -261.39001788046005, + 912.1636159685945, + -961.3081445270013, + 730.7993518978146, + 933.4281497349261, + 28.84813553211461, + -28.94818455013558, + -756.0763435081724, + 782.3253433239545, + 622.6399221178901, + 424.9903162632206, + -320.11802590116486, + -689.3368348166389, + 148.76652704764524, + 926.3997552659655, + 140.50573160716772, + 549.5256588452992, + -653.3616124288783, + -0.36118679719004376, + -47.96429696538132, + 989.7771759727968, + -852.85737973896, + -723.6724771511605, + -362.38521668434817, + 778.4640479639172, + 318.06590409870046, + -166.8953077684805, + -254.8748348185403, + -63.97356575327785, + -798.316831276233, + -845.9179032807363, + 449.82156476478485, + -801.023065879136, + 376.09827079394154, + 63.83690572119917, + -124.90903308662337, + -835.5983105196115, + 145.09250961953535, + -565.295348479949, + 569.7949810122448, + -412.76839004877615, + 788.4950780295421, + -629.1078167608198, + 311.46218923700735, + -829.7669482315766, + 28.022909920143547, + 26.89432030070475, + 304.3637631348927, + -84.50205383577122, + -368.0136935735312, + -750.4862900301488, + 952.2376938807911, + -161.85109966232085, + -690.0220289820782, + 928.1143389975732, + 518.797794989486, + -129.07937547631707, + -581.8215645907499, + 15.608431767950606, + -331.1007979125146, + -23.504310731124633, + 625.2821092524869, + -446.1725401192666, + 279.5155005690574, + -645.9020742678497, + 64.28615756835393, + -928.1787001576663, + 726.2963983139518, + -304.54250682132806, + 277.7781966635771, + -866.336266669746, + 179.37862563694557, + -966.1836971503619, + -950.9911892328951, + -525.2080098026717, + 630.3129970648213, + -398.34004218053747, + 479.80309160654224, + -524.0762088233253, + -938.4575735255422, + 272.1641401510635, + -934.2560954667663, + -112.86466242425149, + 835.1371818691398, + -451.4329511581625, + -117.60431800057529, + -972.404941037369, + 800.1073231909345, + 773.7345565953149, + -882.5523587779956, + 538.5385607130547, + 393.95671957725517, + 908.4305405867876, + 834.1800881462079, + -722.24964986707, + -528.208572614069, + -329.7160601118851, + 503.5622076612533, + 908.9321492161002, + -682.6724440694156, + -960.0289754772413, + 130.76171163797972, + 302.59865699656325, + -125.99694073954424, + 295.53999891917647, + 253.1209300468222, + 186.96363678617854, + 781.5283186855863, + -438.11264363058683, + -630.3309141565533, + 832.2036616297969, + -359.29964549871295, + 291.4223946251075, + 798.2353780381818, + 275.550625663652, + -329.3150087084074, + -551.5285242127732, + -404.8216822455288, + -922.8717824629175, + 757.4020964689669, + 828.225600583482, + -789.0467136340569, + -530.9023233160086, + 244.34588914152414, + -470.4656589189491, + -450.7431570325118, + 518.0916674247778, + 930.3532333842679, + -786.1118971076421, + 200.25084467858233, + 786.9727127872732, + 133.94387162918065, + -464.55075008061965, + 57.23012457511254, + -372.62835052112405, + 126.99966086736686, + 353.83230092473764, + 390.1391316014524, + -956.9752652128108, + 733.6322294378051, + 931.103861020983, + -496.0138232103963, + -148.59569646970522, + -980.3726889594628, + 28.301627212637868, + 133.6659549389267, + -524.2462208696388, + 908.0753449856727, + 257.5596181596711, + 890.9357361932578, + -194.06371813243027, + 718.4289623459438, + 335.943837310708, + 185.77421501256458, + -211.57173586441354, + -202.40439616400897, + -56.29631826028424, + 12.696150991778268, + -740.3119241956683, + -694.8853981941563, + 889.1817836977007, + -979.4797662446957, + -236.1066640410205, + -867.9424159780181, + -872.7303154116742, + 174.99502265842898, + 443.52571380595964, + -625.0755022721204, + -177.88039056665662, + 232.77959462853437, + -193.7941272286996, + 953.9524493867239, + 855.1487653591073, + 337.47008846745825, + 180.71326488947284, + 124.84583525534845, + -316.69735483662055, + -573.4035932472234, + -162.03982575036946, + -543.4671928033017, + 202.9805788938586, + -169.8398893381226, + 122.01644689006639, + -820.4954557250859, + -74.17837031343151, + -56.12302120423249, + -533.6649736617776, + 605.3864507945989, + 312.50278137320015, + -71.6043576601761, + -447.39950468148186, + -949.290783724863, + -428.6804849206802, + -676.2895864504867, + 304.57980162200784, + 474.8923467670552, + 142.98218671927498, + -12.725830321744752, + 535.027741588902, + 504.5343118172118, + 763.4784834109221, + 652.6842128309374, + -546.1022002849406, + -423.5166039636973, + 307.23152179117506, + 181.31483013503703, + 742.052546422786, + 816.5378500980155, + -840.5756768173511, + 238.59983729322994, + -26.66551238623765, + -71.5021624138326, + 390.0764837206498, + 164.4393846664343, + 3.7442672730841196, + 683.6430592761762, + -294.35236111976644, + 643.0763549568455, + -265.7934236525921, + -180.84806131581342, + 795.2001086749149, + 187.38249364199305, + -465.1627551654534, + 160.5890240858489, + -641.5488681673158, + 662.8636600486934, + 358.2502105145222, + 315.6285978114963, + 843.4035038319457, + -494.53704443868986, + -119.81689539388344, + -258.60942527224665, + -561.9777076267872, + 894.0320961248331, + 383.64814299531236, + -312.40524498855484, + -708.9666504097283, + 352.6637642474582, + 452.7875302027544, + 456.33305376546673, + -999.072110825816, + -514.9353490526198, + -498.1358963279918, + 881.5629492921375, + 956.0540607465621, + 129.77875984178968, + 51.380983503703646, + 377.3574315338774, + -134.29101387451124, + 685.3785022371653, + 793.0784489945997, + 704.990561812536, + -904.9795058768892, + -20.554835880097585, + 458.6595872360765, + 728.0737959827825, + 240.96129308213244, + -670.4358876262002, + -375.3155445361183, + 436.08826343728197, + -941.4123318230927, + -385.29676235405793, + -154.22274022075828, + -930.8197917620014, + 57.774002452173136, + 677.7928880616571, + -707.821666045621, + 922.9736295991736, + 692.4620803965181, + -858.152967814583, + 484.5021777431343, + 590.7922615516036, + 639.5641141707401, + -782.0657557927022, + -499.6162837264286, + 879.3865754869005, + 583.4894558159067, + 380.2975570158492, + -923.3161740852536, + 608.6640323649965, + 26.767403903435707, + 883.3739119025263, + 921.5786208125733, + -543.7394431968696, + -821.1243986740686, + 644.2005004600926, + 165.6802745090704, + 528.2821305798227, + 697.4038230595045, + -6.289644140223572, + -439.1451567534963, + 22.41870028451399, + 934.6982439291339, + -749.3975140633833, + -943.6306890483803, + -727.6471767820831, + -144.68159112258672, + -25.794947035306677, + 633.09925847213, + -844.6935301588654, + -343.01718765043927, + -773.0165377636582, + -720.6873861467052, + -307.941485174877, + -213.4022112062088, + -212.387796093563, + -567.050850437565, + -513.4371023027536, + -989.0339037683344, + 270.7018959613847, + -903.3789442258553, + 426.4582693309951, + -301.85621671004185, + -222.12967813129808, + -114.89406790094222, + 741.2792854448887, + -39.40751731738044, + -0.27570019416930336, + -170.00024749059799, + 750.824207382331, + -644.8458425000476, + -737.1446120387228, + -540.9113848067337, + -867.7897805710435, + -574.1560830318706, + -34.82657394433477, + 149.65010440318747, + 159.51171085359056, + 29.87110928439256, + 341.960698705592, + -189.81906671488719, + 429.9829596116888, + 665.6636909209108, + 683.2369103874391, + -294.0253328304751, + -241.01375594399087, + 661.7844798958754, + -492.49162423165194, + -468.41609618376515, + -314.4147409141915, + 431.51642451601106, + -858.0579894491835, + 772.0847888251187, + -153.3328864792802, + 708.4391298503699, + 830.6389117090198, + -185.0536047085352, + 331.6803762295433, + -907.8867870443535, + 87.60521165622663, + -888.4652702850806, + 245.19504839501133, + -840.9002860080363, + -974.2368495294671, + -311.64892127258565, + 698.722046481565, + 105.04859216656632, + -878.69463608311, + 997.8918730376934, + -308.85862890684245, + -693.4616159257833, + 180.59094041629373, + -384.0699165295738, + 87.15083351090175, + 593.2523036875211, + -151.53737244067452, + 138.60532464735957, + -616.712685945982, + -207.51847109145945, + -965.0572606390264, + 83.65837206274955, + 395.2403865581789, + -355.4886138631513, + 642.7787724255893, + 75.49249130978342, + 949.6934588267675, + -777.5651002803111, + -215.01323218072605, + 295.4951310861222, + -885.7581036648526, + 977.9147290126091, + -79.67323689299849, + -873.3271663369018, + 568.8378213860935, + 757.6325093268342, + -264.475772029714, + -891.2491398938636, + 860.8918310309834, + 381.20818266130914, + 954.0956413311683, + -154.2716443602916, + 102.76675295720611, + -921.482262133398, + 359.68867198899716, + 688.7020219727797, + -370.4221393289016, + -127.85619008124115, + -123.8474141799577, + -628.1989772602315, + -783.7638966262275, + 999.5986860516141, + 961.5517251789913, + 585.9001289929217, + 483.3701277019952, + -155.08392220406677, + 766.3542472968647, + 812.2139325898133, + 531.2882266532692, + 245.94940489178475, + 703.6420201277801, + 81.40578229566313, + 653.3121729559123, + -564.2905878370115, + 81.90325728399284, + 30.386366684670747, + 100.92057977378636, + 489.34449167964726, + 432.9219272625687, + -374.73708857110637, + 720.4665469988768, + 89.10792615579044, + 360.36346961766753, + -792.1705062891282, + 588.0048724022838, + -212.26742805572746, + -637.9633698930609, + -498.0285852265929, + -147.54446743782762, + 410.0278322404606, + 188.4507872377426, + -166.98871563154262, + -902.401159204042, + -747.3301929061657, + 991.9807262696611, + 278.0122607174019, + -434.70425569366535, + -540.8647826895539, + -644.3769154832337, + 994.4071575990813, + -563.0711086491062, + -858.2317540032611, + 945.3362499397765, + -834.4677159493299, + -424.82326397135694, + -546.5032621850253, + 690.29017948205, + 901.7995639818623, + -494.6311665330558, + 362.40072815244866, + -967.6785041591182, + 180.86120788480252, + -861.9838395875656, + 59.37098702684921, + -229.7107126018933, + -200.62889827199194, + 113.14500834457681, + 547.6476823173628, + 988.8137554482178, + -201.64402078738647, + 951.2159898226605, + 406.3686068833574, + -152.904734980885, + -72.26770530650356, + -206.29949280176493, + 968.4001648945334, + 842.6379473409979, + 722.3821375326957, + -582.8802557683891, + -344.536200182352, + -430.55404160194905, + -319.4187306227001, + 391.41910965237685, + -7.5381794449072, + 188.4072695919681, + 954.303414161948, + -237.2104029822608, + 703.3922630258874, + 893.7787856471705, + -730.6022493860615, + -21.884869624260205, + 1.867586842277774, + -799.8820786197316, + -876.7392079837431, + 718.6992212387615, + 446.5679349015927, + -535.4766064081357, + 920.82967689872, + 891.8098124088842, + 913.739697970761, + -49.73603925348584, + -416.71733446162636, + -954.8804499198325, + -805.4462338464637, + 420.64951323090236, + -695.761491529016, + -965.5256701389443, + 104.56676375073948, + 48.90780931310246, + 229.58990830674907, + -691.721700102969, + 300.9686528531754, + -981.4028967437216, + -213.00922112345336, + 621.66847720646, + -536.6397973901949, + -887.9705218747797, + 850.1139221375599, + 112.26181496848653, + -76.12036649596803, + 634.230689669625, + 112.753231902062, + 157.82634353681897, + 155.19887115034726, + 309.0230977676565, + 119.87370374175407, + 908.5628419923373, + -907.209598273639, + 871.9968437035116, + -331.25580910278927, + -418.1934239975111, + -722.5576935263914, + 215.04866929634773, + 100.92714007481914, + 17.75991817371687, + 549.0624624216048, + -334.7539825307755, + 102.22973104282119, + 897.9516470870622, + -609.8956828539606, + 237.31531837306375, + 865.1678692867265, + 746.153316336206, + -169.876395873737, + 525.9847288296489, + 486.9521439240548, + 109.95714345237684, + 283.79164680428653, + 605.1279588328684, + 170.06478033144936, + 825.5617981454698, + -28.55660237380107, + -867.2337350407373, + -615.8953746606687, + 685.5135060111534, + 724.44659377993, + 323.25903144245194, + 6.458554944323055, + 863.1275352502582, + -119.50285713372, + -260.8776941038167, + -222.06608393641216, + 38.17282347786431, + -596.8807372899485, + -552.6575681305246, + 190.77311263901697, + -807.8097279528406, + -998.4038482834121, + 103.35292026245747, + -247.14305395885242, + -852.0907768783727, + -327.8371424416662, + 946.0251447029102, + -332.339919153825, + -762.1946938606343, + -836.8214517694641, + 839.7373668102755, + -287.71576504795223, + -808.8109297054966, + -71.60593554426725, + 561.267389093839, + -472.0358122935098, + 139.4505501512392, + 609.3521657627812, + -70.1885869902818, + -68.17947460346033, + 548.2846601793078, + 382.3401049629947, + 648.760466194904, + 485.83257138409886, + -743.2288699077226, + -311.91212731831786, + -489.1710633143378, + 660.0619801702458, + -160.60127749713195, + -369.66519778627924, + -762.5950911020911, + 455.79164527297326, + 397.76962791514006, + -640.4774291114211, + -87.58914820518919, + -497.77119722855457, + -211.23890887832397, + 657.0485390089509, + 40.22749707705157, + 196.38764225673935, + 143.5338344812585, + -575.1042423865817, + -911.6532648431921, + -54.57395619157546, + -441.69444430430644, + -499.6031527067921, + 617.2132665166221, + -445.66960230118036, + 577.7144493943599, + 689.5997097538718, + -260.83848795411234, + -207.112809350902, + -367.45295585289045, + 827.1654430619253, + 846.9593257971919, + -202.02447706525288, + 698.7790426451613, + 722.395222552515, + -711.5977146803582, + -843.5444876216789, + 36.49288542628415, + -67.39875907202486, + 185.82480779342654, + 688.2046708192086, + 639.8506974151439, + -686.8064393234961, + 571.2364505586395, + 737.4166232801877, + 811.0782243345909, + -460.96179194491276, + -703.069074596699, + 155.7935442754299, + 652.1519347169858, + 50.8244509504641, + 437.78294905091184, + -178.79906399151355, + -98.3229851837475, + 163.8203898062784, + 406.39390320842017, + 529.648741668595, + 796.4244399858876, + -267.9476361816453, + -727.4967143437865, + 882.5269174550051, + -367.074694426464, + 897.052913626457, + 997.1812039603644, + -902.6989968589978, + 947.2434073597958, + -399.6994730152263, + -38.844618457283445, + -493.1145699785364, + 56.83467186062967, + -654.5833632688218, + 87.90106918683182, + 532.0720761862342, + -761.9617079592836, + -323.8418660201032, + 879.0364616308213, + -175.5379589248629, + 706.4697361990334, + 562.8469097077491, + 912.0894006725478, + 614.4213210913629, + -454.46819304669623, + -995.8314903465149, + 165.34412105522324, + 579.0847417334053, + 983.7454385976964, + 279.73065361382714, + -320.8834962046632, + 929.2907849353946, + 741.0910420502851, + -822.6548042255579, + 879.456395273309, + -221.00080353265764, + 697.9253320067317, + 627.1154802739161, + 514.6622731989992, + 286.1314940733673, + -306.0118203233367, + -227.70322312564724, + -990.2480468661588, + 292.4537339199803, + 577.6892760114406, + 575.1300647959813, + -348.7971525904745, + -436.89338277367744, + 286.36786091772797, + 219.2960371415479, + -895.3942151876075, + -28.357402369449005, + -849.9525206073981, + -69.76606446306846, + 532.7322654846507, + -744.5470323485872, + -553.8763123078982, + -515.4832899043098, + -557.9584862223298, + 836.8735295017743, + -908.2192031721399, + -329.5700321500552, + 274.8573736898047, + -252.57990344089023, + 984.8280417054889, + 632.3690517299394, + -689.2480620154929, + -745.7389651515367, + -6.2517646056954845, + 12.202560048816963, + 109.15210143543095, + 440.4823136300247, + 812.6191103600454, + 626.6432877761642, + 568.8307428502533, + 838.9411957697487, + -254.06082388685718, + -832.6968315519919, + -916.604512554986, + 503.6872370116705, + 672.0619591575712, + 836.6496997734698, + 676.8475816490827, + 676.7194965031856, + 31.964867922845542, + -223.12150733262808, + -985.1858581234951, + -768.3651792273032, + 998.2565853680742, + -143.70651095980236, + -565.3703097159157, + 88.69309141045665, + -871.5495207529318, + -696.5206624252703, + 182.28126391080718, + 578.3649169201949, + -594.7640328591401, + -220.88735737074637, + 999.13613117716, + 318.16188138001166, + 19.204329811000775, + 442.8110612130288, + 18.621070132222712, + -499.15779019408046, + 670.994446076148, + -568.9834674063685, + -856.2111560341225, + -352.9495817065002, + -14.747514585958584, + -671.1482931495118, + 776.5356706860498, + -360.34367514041037, + 564.3150447543283, + -961.371988664695, + -648.0282590840179, + 772.262809374349, + 705.9264299532326, + -163.50623447722137, + 42.80847975149959, + -531.8698576308625, + -848.4404198608663, + 61.167614687426294, + 911.146370756574, + 62.04378824500827, + 477.29531661433, + 880.3546813604348, + 673.9768563560804, + -639.8531665927993, + 834.6586237047222, + 477.2084424662928, + -982.514680055349, + -347.7658930206435, + -357.4063428781511, + -930.2946718597511, + 337.1333494894527, + 904.3452668140612, + -902.8343557781661, + -134.80586948055782, + -577.9069368334347, + -719.5943721552364, + 233.04874294140564, + -637.0662353247174, + 830.6272460042394, + 204.38339209109745, + 623.6905533892277, + -969.7315141013747, + -221.24834771361907, + -615.5969335003841, + 944.0571758401404, + -591.541733243191, + -809.7214305833588, + 753.0004664176549, + 883.0220993222085, + -239.22809559974905, + 63.40277179887721, + 629.7266259957148, + -799.4381399504514, + 439.19865106160955, + 977.3175259356797, + 807.4068622962345, + 998.7574136375893, + -58.77770316494275, + -19.28303361503606, + -641.3491167283855, + 329.8979605849545, + -987.510892212942, + -775.2013834806446, + 130.7778712087336, + -546.7696355439056, + 746.2299988650852, + -435.22762644142074, + -682.5957103019891, + 208.0905953370309, + 428.40934440423325, + -852.1509156814735, + 792.9842112597626, + 919.476293119455, + -534.6639176006955, + -771.9217710463145, + -353.42853494058477, + 687.9666848145889, + -418.5675594322804, + 200.57380898566294, + 736.8909630496339, + -312.5606169476349, + -959.3363301418954, + -284.93603880878186, + 673.5378868162284, + 132.42135303365103, + -810.1531794715755, + -419.2603752542275, + -940.8231759995376, + 899.137541259824, + -705.1624039331781, + -514.382186217859, + 497.23205599002836, + -249.31430535232573, + -731.2434497179768, + 652.7519981343905, + -119.89427276998458, + 365.0544266513832, + 454.52752099599115, + -345.3539009969593, + 102.52983050215835, + -324.76954398607734, + 479.0330452346557, + -232.1335184962901, + -194.51113953955314, + -216.45694865441794, + 133.85032465023437, + 501.21711348891495, + 887.0908743558091, + 993.4734881386739, + -103.46791294111779, + 849.4695526753626, + -799.9957353090361, + -859.2591524200801, + -599.1970622410213, + 262.02783100457805, + 547.5420403790097, + 34.79415805379267, + 56.05257199727589, + -287.94543751953495, + 927.9425212258748, + 946.9134740457146, + 161.13269322716337, + 572.2932281031046, + 32.39419466407958, + 194.1788817427332, + 597.9370687615103, + 391.5535801094443, + -183.25330852587342, + -827.9055505566062, + 823.7011824248673, + 717.5311803221523, + -715.0664180194697, + -149.16146046316817, + 691.6047571593679, + -405.1839644458089, + 113.87997038083063, + 922.9995116505297, + 849.2994804111709, + -990.7647310805335, + -681.1142452692276, + -787.553963112368, + -607.8724404696688, + 520.2915440000309, + 888.8986899510328, + 61.38595174489569, + 959.3167063742271, + -618.90001223636, + 164.05225556742425, + -993.024316239675, + 189.25706262741778, + 224.79107965951403, + -127.3111957382796, + -772.5016968037859, + -582.8668301592752, + 313.13573313589404, + -736.131293374148, + 829.4171390391878, + -834.3695785897798, + -618.2549906472124, + -911.0605101108338, + 629.3100354825892, + 478.67641925345265, + 9.462319323415386, + 861.848547697864, + -102.56711317070597, + -418.43960576593315, + -329.24152010788225, + 507.4770235001956, + 769.8167671054055, + 912.6264837220524, + -891.6266791141387, + 273.8965151941113, + 767.9002680818041, + -387.1532539649205, + -470.3813656764057, + -178.41509257625353, + -890.711296566314, + -543.3852681739463, + -8.552883096674577, + 94.76186722954435, + -396.79053195796496, + -871.384625853803, + 478.16940701408, + 911.4470589501834, + 559.5098978499839, + -887.9991849886885, + -680.7365731782651, + -17.154165201153774, + -717.4121461691354, + 861.4206296650016, + -33.87916139550077, + 956.1813137568329, + 405.5889958954522, + -233.4667897794061, + -499.50402355806455, + -708.5694819224237, + 371.39102513027274, + 210.87478873730788, + -856.2154926799521, + 719.6059270269661, + 906.85962389324, + -148.70154130313313, + -24.730567597210893, + -116.48488231088811, + 537.8112355428198, + -557.5614758328879, + -855.0639295170183, + -2.638204711343178, + 546.147239934756, + -133.6514878525652, + 505.7294421114002, + 527.2822273064583, + -957.5827444819687, + 152.29252236295883, + -272.052509734954, + 92.5096315166411, + 188.54675415419024, + -940.7335002261417, + 147.9519678365025, + -367.0325383372997, + 942.4918164488495, + 517.4167916128042, + 875.2110284532512, + 840.3128495268427, + 248.75374296226755, + 851.3388524172958, + 98.61310149825863, + 595.7136853009456, + -982.9318073985751, + 407.76138461363917, + -793.1571488307422, + -376.69706094453284, + -453.8412122774904, + -767.7585246846595, + -766.0303349681519, + -749.7206137011059, + 886.3272588238704, + 712.0691388474506, + -607.5419984060645, + 781.2996239547904, + 690.9748420834351, + -591.0036975571784, + 191.08965005948335, + 635.1842901999457, + 457.69489207159177, + -71.18250789961508, + 947.3165220858887, + -484.35612516129004, + -678.765466566552, + 621.3690143639724, + -908.5338149169457, + -725.638193901359, + 655.9512992593748, + 78.49414529429987, + 246.262530164611, + 144.1720428031672, + -92.0407063677302, + 215.8302749828881, + -779.546335228993, + 854.0867879641548, + 182.75441167416602, + 137.61314824399915, + -548.4407191584241, + -906.4514432914865, + 832.2828624694839, + 532.0181851320647, + 286.660143860051, + 994.962800886274, + 12.127827815554951, + -201.04201449228992, + -361.68911911260864, + 152.8608751418767, + 497.4785504323188, + 778.0229132151574, + -611.3812266861429, + -29.429718716333923, + -817.946060562896, + -912.0123341519642, + -903.9660704329356, + -548.5532274212817, + -477.00390332448615, + -266.13967858888725, + -72.06079317762158, + -827.648650726884, + -843.8236420314404, + -400.6363074399384, + 865.4440756395879, + 554.4231025346317, + 564.0424964094022, + -371.9908353099099, + -531.6131405985432, + -593.7894304499076, + -738.5015901523373, + 870.3605337695024, + -413.8603253078055, + -946.4369019949372, + -624.7255259091394, + -972.2818958076283, + -167.1895931568697, + -260.334009692357, + 797.7262966458554, + 582.1426872926279, + 54.8199763231828, + -397.3936481517817, + -174.76340544152856, + -673.9942496750273, + -698.1958288109913, + 627.6783225179461, + -342.6605570674719, + -345.3788130139999, + 842.2416955805143, + 647.8013980099761, + -316.9301287320325, + -394.7101687876635, + -362.1798003814365, + -871.3803775475726, + -740.9756650847416, + 672.2974909745506, + -501.0821354606487, + -428.55598133240755, + 975.0534182352019, + -382.5292176588464, + -428.6052123984791, + 426.7224789661452, + 894.207405688993, + -893.4831142068314, + -884.1065989828838, + 891.8617970063954, + 988.4393945002892, + -307.7011313972147, + 90.45092400758881, + 458.9307384556248, + -154.93944724932635, + -133.86492202944873, + -889.7306640916119, + -664.0416710365885, + 455.98242519931046, + -398.4100145708022, + 341.09496828489523, + 268.77764146366485, + -467.52853231158895, + 732.8174562270365, + -754.3402993644263, + 953.0784771680721, + 805.344955010351, + -603.4949910474647, + 732.6961490218214, + 352.94624875597833, + -802.973301067488, + 989.9923042151006, + -756.2026645879372, + 145.3589688468669, + -705.428972335397, + 211.41284629013285, + 642.2000348902975, + 954.271888655159, + -830.5783622695404, + 452.9004383646775, + -396.7046472282965, + 425.1144727738633, + 590.9418073903137, + 178.85097154662185, + 86.98693223959071, + -669.8050638064778, + 380.1353487158892, + -441.9242432373653, + 843.3168148468551, + -717.3624130490282, + -392.65013446788055, + 179.81779308609202, + -26.035210980947227, + 832.0014138810398, + 674.2003048002434, + -942.79804374255, + 698.4617999617083, + -325.81117866954344, + 845.2161166307901, + 601.4958882244932, + 483.8223364780688, + -822.0885092778744, + 147.68636139420937, + -354.4517345150899, + -558.6732406461874, + 224.17371240865123, + -911.4862848345191, + -327.1770248286765, + -713.8427910513352, + 349.5748876800694, + 803.7665766204284, + -374.050473633617, + -80.44301716907091, + 319.7893682601973, + -77.31859030123769, + -145.06003398456846, + 414.06133736725656, + 362.19479803461763, + 823.3208249098136, + 365.4793743696314, + 374.9727172426774, + -91.84257198473665, + 607.1962367082604, + 283.89902022448655, + 677.4704449708881, + 272.724771256213, + -940.7880486483671, + 811.0933575615647, + -727.8514169301633, + 888.9291001390131, + 52.37517914824775, + 99.22080137104422, + -537.4435414244631, + -107.3782639412924, + -867.3888353522403, + -328.8779268826305, + 449.89654956811864, + -108.14080001451168, + 925.9353203286537, + 581.1599695973855, + -91.49864963269863, + 986.1089784935036, + -527.5470440864763, + 649.3236637850496, + -861.9178169046569, + 460.7964175750626, + 24.944438361904986, + -314.1441470602156, + -504.6400571670642, + -954.2419160642162, + -686.7154098462904, + -993.4201759445114, + -461.4211741604371, + 830.0038628454286, + -17.727465505995838, + 912.3319410224726, + -660.2134820367214, + 861.0314077859143, + -813.0021620196244, + -569.9086602376503, + -36.70214177271714, + 929.8612087775998, + 242.3809118656336, + -902.2964600797923, + 390.271800966324, + 940.8761556893442, + 201.298389485602, + 588.5881762492802, + -701.1657001262686, + -527.133751758337, + 802.2735257489405, + 784.1674973020642, + 9.423303727327038, + 484.05712922718703, + -10.55379716245011, + -90.52735358682696, + 662.0364113949286, + 98.2238246101283, + -96.92403930905516, + -867.4159085897866, + 471.32629102700275, + 557.958725929589, + 411.0595209993103, + 505.3007686341166, + 409.68218701923183, + 356.32446842169315, + 752.6017261819134, + 26.987817981088938, + -668.0527802252302, + -430.44318540938355, + 520.4128857177225, + -726.4626134970631, + -568.8287173628553, + -431.4314500871121, + -856.8233428116425, + -616.0233389063137, + -856.4133274582916, + 769.0970764988831, + -12.291453113086163, + 902.6363524717879, + 145.0858635160098, + -957.0581247796637, + 0.30338755864158884, + 352.8574132576109, + -527.500031725372, + -479.52522018194395, + -699.4435623610209, + -222.6421295674321, + 509.09108306606436, + -658.442565598345, + -269.1785558302669, + -862.6390418585377, + -671.4885708366161, + -670.8434087547723, + -14.779283572018016, + -292.3738125575437, + 27.311405975489834, + -471.3913320525536, + 910.4122833739877, + -186.60145671133523, + -671.8157266417318, + -48.44710341682594, + -401.39936589632373, + -462.218213229507, + 483.3687963268369, + 484.06433171330764, + 569.0199910924932, + -93.09125223548472, + -774.0592354839275, + -923.3294713419724, + 20.04578619656013, + -273.9833947171628, + -314.9776967269411, + -801.3556062708351, + 487.26785932676785, + -947.8852291003578, + 603.3892583878198, + 757.685462422648, + -418.1276787810601, + 548.3857499065434, + 513.4707537678792, + 313.4289770527748, + 421.47417585973585, + -549.8938430028413, + 591.6563081391519, + -835.8758230392334, + 891.595033801573, + 154.81921368237863, + 494.1662229369731, + -199.95855591491193, + 959.3540080451, + -173.57212184077662, + -537.6730401445595, + -258.4042208831818, + -76.5933001497416, + -57.9129444808475, + -447.43853036562723, + -701.683674457879, + -857.2089597221095, + -939.2414628172152, + -7.630049376419379, + 859.0946303373373, + -235.26769111273916, + -124.48647577521353, + -858.7842109934312, + 915.4954382444434, + 580.7336398315217, + 872.0649521177536, + 223.08978288453363, + -773.4762646159361, + -292.42498863230094, + -197.57374634817972, + -178.84171484942613, + -557.3025980823219, + -893.4705733755417, + 897.9642017953765, + 695.7482474116514, + -564.7062232765238, + -195.918485471773, + -438.3002014226414, + 897.0352702328121, + 691.8333303874904, + -556.4289868836216, + 677.0048111350461, + 554.970248864739, + 375.31537304952076, + -122.41167114228642, + -516.3306039610786, + -612.1110119366962, + -484.5084308265315, + -529.0527632702873, + 273.56060378655184, + 460.38258887348775, + 648.143921983914, + -222.73021207173178, + 835.1623859895026, + -624.5251623065116, + 400.30525270876933, + -406.88771854847096, + -716.1045673904347, + -134.24337856774753, + -931.2793764381688, + 164.64973473813325, + -614.8679582289371, + 793.5575716832325, + -200.36332571692367, + 64.0540138055087, + -663.972459373405, + 708.3996212854634, + 116.93257952196359, + -353.3858342151384, + -153.0558208451289, + 569.0555167752389, + -121.38885361871598, + -186.65453879221116, + 237.82589804089162, + -936.3865787991754, + -355.2371706982991, + -198.86240379464095, + 106.57495931448261, + -655.7057683463789, + -455.64939049587827, + 848.2297136519117, + -37.7153000047083, + -80.82933599440298, + 325.7405649436655, + 142.35413885742878, + -217.99984155827872, + 318.9836769536764, + 97.06195898036731, + 660.7785191805465, + 655.2262801880136, + -295.02498626391446, + 402.6886656804336, + -644.0030087898251, + -56.64397385207678, + -411.24357001950966, + -581.152094361534, + 587.8174912221057, + 631.8536469912581, + -85.80724163810396, + -677.5548230364093, + -569.3003019086591, + -439.5867942981133, + -541.1848433549877, + -492.63037120600785, + 809.9801416394787, + 8.031709797378767, + -977.5625405385122, + 866.6277538117617, + -411.5888610120817, + -884.2668004774227, + -134.09381967847912, + 386.54924396761976, + 314.59933241406725, + -369.67130227470295, + -425.46450342442336, + -718.9035670174474, + 808.3420746176366, + 94.25727791457166, + -449.3022123868269, + 319.6567988641316, + -939.9642872105749, + -274.9168336984709, + -752.1604241648263, + -710.0478482918928, + 52.21410822772418, + -558.9305223339204, + 943.8114004731517, + -370.2844141250763, + 477.181104998441, + 294.3174387118936, + -150.62581045739205, + -968.875345520077, + -248.60107303585096, + 35.53773178784809, + 716.7337210713345, + 414.34447016893364, + 490.93795585754697, + 464.3744182771409, + -965.2041081188419, + 608.2544011381408, + 105.89432265663754, + -195.6741222341294, + 751.3460009393359, + 540.287059314948, + -616.1547497952049, + 292.3722857012997, + -131.51190865974854, + -852.2082313108187, + -983.1452190187795, + -688.5415945512423, + -412.54899548373317, + -411.3697710687105, + 258.55875882647206, + -747.7547732044878, + 396.14660557702405, + -722.114552359544, + -685.9642579573429, + 735.1363573646267, + 668.5886967207666, + 305.72105494214134, + 942.7523380820353, + 385.10148802491085, + -857.721566019102, + -533.6694151953068, + 799.5654565500249, + 303.83729312395303, + 377.38550868524817, + -90.66821630741413, + -355.2517757259435, + 638.6452135083964, + 437.8335602115412, + 916.7078745479992, + 644.8673163920746, + 385.21976230453924, + -197.85798644418605, + -192.98355149528174, + 870.5870844407066, + -791.9845876340111, + 835.984981403989, + -149.09013343925892, + 887.0168592055431, + 909.4511924384624, + -827.5008649613064, + 590.1116437340856, + 469.4549918197913, + 674.4299615716359, + 3.6841255133084587, + 348.55414364377225, + 290.75633784048046, + -182.85344251215417, + 730.4776311594267, + 757.0839756505418, + -61.44269271820474, + 176.6286145286067, + -540.7430313742145, + -982.0248506176576, + 476.2427859731256, + 668.512957645414, + 217.32219431467365, + 257.67542077508506, + -272.12305325185434, + -264.48008329252514, + -883.2924434273799, + 694.1160787545186, + -96.7010064873748, + 986.8553243941428, + 508.9591430461485, + 582.247092954346, + -301.6503169755649, + 42.21796832631321, + -675.7299572582388, + -315.43680874011693, + 681.695161668403, + -875.1406606143171, + 974.5262468980427, + 971.0583848281069, + -181.7804689739229, + -24.32144827273055, + -986.5304373376491, + -180.75889088219355, + 756.0543822346042, + -658.5996819737195, + -327.71114959316105, + -623.3507114229124, + 971.0459038974273, + -892.281179163462, + -220.2987013333468, + 581.0608580110709, + -898.5265644620823, + -193.70816297610395, + 547.8330859941059, + 770.286837769859, + -956.7740127986872, + 269.4174530381838, + 785.7378708352712, + 212.7188533069209, + -368.5428759829465, + -37.89051294665626, + -222.78146569610863, + 347.2337808985121, + 362.3758754489593, + -53.49122213852888, + -169.56653822175576, + -143.5794401881658, + -216.90447274476196, + -941.4789102054098, + -535.8080535695211, + -884.8062320671488, + -858.0659898180224, + 425.2796929913052, + 884.2192915451456, + -527.3830717876344, + 387.73016382389665, + 939.5856802087151, + -316.6223152951726, + 465.54894007401094, + -165.08452456240036, + 970.0231395474723, + -689.3052499383318, + 340.78054848162105, + -66.4881697357473, + -542.254541047781, + 948.3891080395576, + 930.7129327466009, + -276.3105057703075, + -646.1281905470136, + 182.67686583704335, + -715.3806701351957, + 325.9276579590444, + -207.57489253931567, + 692.033682529421, + -992.7725064166308, + -438.42807631774576, + 680.1571872443546, + -995.9111924177693, + 339.67509000221, + 28.70067582252409, + 499.060334001651, + -459.7037727791085, + -382.70361908543157, + 235.3001881094774, + -110.44649656766364, + -3.675863985439264, + 519.5266910665437, + 103.60983352324865, + 512.3826618404241, + 81.79142244820537, + -5.58242092401656, + -926.8466046845589, + 300.26742170796615, + -239.18133057169769, + -847.101025865739, + 302.03382939607354, + 796.0791482706834, + 333.9889093346658, + 3.4531627404492156, + -550.871869033437, + -605.3422486293991, + -830.8057225521899, + -811.3170681187445, + 26.717694465092336, + -13.47947226890551, + -432.76008537109396, + -781.9949111330744, + 65.99990162032509, + -244.35679365737735, + 773.2975798789928, + -43.05652287433429, + -467.5590659979132, + -615.0929235268587, + 543.4776478473066, + -993.190853584486, + 78.9654260681591, + 43.244802664154804, + -673.8030174951035, + 785.8447114376222, + -89.9090859315545, + -305.15266506417845, + 357.93590917861684, + 267.81337864492025, + 475.4036734736185, + 96.6530802984812, + -977.9333323023445, + 870.3209020034606, + -103.09537709653375, + 197.43468392748696, + 505.0076613071426, + 118.12945178892278, + 738.879773377216, + 682.1156049589242, + 451.37932399986335, + -343.45174447996226, + -578.3262809079506, + -880.819427606016, + -769.3308124710196, + -495.8832603622301, + -203.03283973794396, + -921.2288450126899, + 781.5541494461058, + 774.4987621743117, + -515.930056296563, + -128.31322622175992, + -760.2120644529522, + -760.3445729580998, + 812.5751014971468, + -238.31508075140744, + -764.4269825918925, + -813.8464381098415, + -192.89338849137903, + -907.9740717989187, + -573.5902923982641, + 558.2790356989424, + -852.2887412593234, + -941.4390783374407, + -917.1644182323968, + -786.1875496680309, + 475.50105606200464, + 81.69849509962182, + -185.0621532599963, + -517.2249259759063, + -190.33058945531116, + -879.2890487962796, + -168.61294390723253, + 544.2746727920976, + 756.0739966855626, + 990.9659246787689, + 300.80640342237643, + 700.9335452681305, + -4.434321308404606, + -570.6493800724847, + -870.1812070984333, + -15.699688253540558, + 308.34074470175256, + -885.2578498549735, + 39.5083782184779, + 672.7749830064133, + -841.6348799128895, + 728.8110266827716, + 90.83959044264634, + 388.26200296534284, + 556.9832730278542, + 614.3202044643467, + 409.3013094411085, + -160.19452934399612, + 76.986665119887, + -700.7958798936382, + -95.66323477141145, + -491.6574296063916, + 215.48898090788975, + 107.09107745871847, + -594.2786911761455, + 313.9420248452516, + 304.8280253497189, + 884.5258303802982, + 365.6075998211711, + -18.41282116871423, + 760.2093934794793, + -380.7398755918032, + -117.30071422398703, + -581.1290543186145, + 433.0106117445464, + 673.6638965151096, + -732.2749247623166, + -435.9774714705187, + -817.7387421718629, + -548.6391519040752, + -328.40451000353755, + -783.9593993746856, + -201.2885191733285, + 874.8148147627167, + 88.09660147176328, + 704.0328888817694, + -385.68264152662186, + -379.11579952258796, + -378.3990510826611, + 716.0331209659109, + 139.043851992481, + -954.4300605635676, + -303.9781658916345, + -443.35812714619794, + 913.7241023207366, + 191.39586542153143, + -103.04888898522563, + 349.8574953309378, + -959.0844605000992, + 206.85488511000062, + -864.1627693718672, + -145.0160886134679, + -21.155873041435598, + -210.49719511795445, + -683.4714876431542, + -106.07560700937711, + 734.1560950790033, + -939.4218311107641, + 706.6825278968352, + -33.64697340446105, + 83.04075685832913, + 123.19230639945158, + -674.9205752195311, + -397.4455962079369, + 86.4466616185091, + -307.5466567619276, + -613.1490256601635, + 65.02772460028336, + 148.15534624516818, + -98.02574161368977, + -916.9501685826265, + 17.49682310499543, + -94.2079908548501, + -632.8909656213526, + -142.85087625612357, + -234.5633043976676, + 64.21091328676835, + 835.8709903785787, + 295.87993884363686, + 456.38562286671686, + 641.322697122924, + -76.3637481394361, + 824.8196709191604, + -892.7436195471086, + 941.9217227111112, + -124.27425906673966, + 829.4097547935942, + 257.37159710031733, + -560.3532908297107, + 219.01047379909642, + -381.68650286482705, + -894.8468140221348, + -164.89716631600277, + -184.97321888493093, + -818.8202265011311, + 199.3621417640129, + -404.12882943102613, + -475.2936391865161, + 639.4536202795236, + 653.4972881017911, + -649.7443323421217, + -657.3429598378104, + 662.1321688376929, + 415.84633855262587, + 210.4179219394789, + -229.087748108479, + -358.00049214381954, + -844.4643508421672, + -34.68875400395882, + -185.2715015074025, + 93.59812843436612, + 754.4518368891302, + 879.1913875506414, + 827.1407899042779, + -446.6152186480299, + 440.37182306795717, + 127.54256094086372, + 697.7043773856178, + -487.35660687434154, + -269.522517729538, + 932.6139646566489, + -887.3578132399468, + 691.7479932516683, + -724.0618935445934, + 608.6020075512408, + 449.3742040038644, + 772.2121996153221, + 606.4254428791535, + -208.6447766069199, + 546.9072416894533, + -685.7560572879415, + 423.97374196194824, + 246.76401130698218, + 75.94332538176536, + -755.0238076885461, + 137.67263690157824, + 984.4393676919888, + -50.604097393703455, + -499.6843637901811, + 231.03027481960453, + 16.6152826217982, + 245.38191205931298, + 905.7259437130015, + 896.027675484359, + 280.3624899375468, + -231.06751589006262, + -642.9224066863876, + 968.0088128203959, + 590.7978219341715, + 241.10976774593473, + -104.20628241478937, + 476.37581042005013, + -70.32593788499366, + -301.4633122084549, + -307.20426638950426, + -393.5409983240535, + -826.60567165933, + -379.4296256662601, + 634.4614939396747, + 826.5520233833261, + 371.2406008645187, + 88.66782821428978, + 350.2256833069978, + -778.3780953100037, + -849.6640006348534, + -849.2636291927478, + -460.56012312939583, + 859.730033447285, + -201.7069472386479, + -331.2032051128824, + 416.8640014944699, + -575.0430212711599, + 483.026164264679, + -29.539810253179667, + -395.790367160898, + 581.4231650913334, + -103.09599211053524, + -67.95187915473196, + -558.4168996146312, + -73.62588988313678, + -2.621597600263044, + 557.37247724244, + -919.3511805652363, + -547.0264749865556, + -16.527822086165997, + -194.21191269437622, + 420.0897245863291, + -903.2925024104381, + -463.391782154617, + 56.60640279512927, + -906.9528666321382, + -25.372371160122157, + 63.25637768233514, + 526.2068764263363, + 49.32097029316765, + 658.8167429559633, + 60.03125724222832, + -336.6875602330965, + -460.2623957230394, + -474.4902274492746, + -751.3017838183265, + -397.18278648406886, + 130.31092453650535, + -203.30047864705045, + 290.0462040398402, + 629.1035800448515, + 599.4603895165517, + -712.4256930136789, + -48.379419665612204, + 310.645941435969, + 330.49991995923483, + 401.0761947328424, + 361.7482422328751, + -819.4325244519911, + 747.2785060158999, + -140.0347438326761, + -547.2096798893011, + 564.5515538641698, + 102.62299124817787, + 381.26065329425296, + -567.7576632231518, + -661.9684438041313, + -518.5893500714241, + 469.45006692862944, + 859.8829375090484, + 772.2617697110109, + 828.8697785647478, + -632.2579125319163, + 611.7530559072623, + 285.36772374747943, + -266.8820743895783, + -969.690374750531, + 813.2138144264459, + 944.284645349536, + 975.4563464263701, + 277.3475134021169, + -635.1589659473154, + 767.8153041757273, + 572.4985615196454, + 801.6133211208155, + -138.79576764264948, + 489.98805818368396, + 953.9325639880285, + -592.6429496649264, + 287.9726132336111, + -752.5692922344798, + -279.5491374933372, + -125.6382423742865, + 320.08692224533297, + 88.33106299873612, + -119.28264788581532, + 466.1195854410769, + -719.8110549426458, + -35.67720653396498, + 419.5454547477477, + -81.92063818500992, + 976.3586202416184, + -8.255363190452954, + -53.54886723836478, + 68.32964107226508, + 347.0913676090622, + 570.5991453878191, + 526.2208551860058, + -36.701832194064195, + -28.4423530358049, + -332.40574479279155, + 290.09378692566247, + -222.13918838455425, + -347.632885986715, + 609.9032670937124, + 501.6037855791733, + -67.4955853163093, + -107.58983713480256, + -797.3007519808186, + -978.8157767393244, + -401.2832590736033, + 855.5454104971004, + -669.8552387431766, + -534.6803295110057, + 357.83499672332596, + -853.0080262268966, + 629.7357420631058, + -321.64998713531884, + -925.5539009368379, + 814.2248715516116, + -500.90957928305977, + 544.1028022412645, + -232.14405081243638, + 134.72302161249922, + -276.4383804654884, + -309.5977881906804, + 173.6475144019264, + 940.0809843009151, + 540.8625638656426, + -502.99563647666366, + 641.987265708136, + 956.8802314760853, + 124.9447365990145, + 836.9690839003872, + 749.9354567387691, + -100.64341626236887, + 787.9894581961353, + 760.9834553765847, + 339.4806338081121, + 298.5839676945254, + -841.3371365590672, + 630.7743279236813, + 484.66766180517016, + -165.26185999479947, + -271.23760550623444, + -663.741837129212, + 936.9387583028295, + 859.1395257245256, + -28.05756719781334, + 106.66353789063214, + 842.884122068235, + -766.0655541779408, + 832.0895937785003, + -717.7811820129456, + -23.459684671084347, + 233.12350779347366, + 130.78633251501765, + -856.8755395294152, + 771.7687200078142, + -445.14422161708706, + 934.897149790253, + -505.13542724813163, + 575.3767176669842, + -185.51894896758574, + -173.75680530573527, + 256.9295864191049, + 632.7076404906365, + -665.9422505478474, + -822.7446336312055, + 159.3255790612725, + -624.3498185676289, + 628.8277491443664, + 423.9245760267779, + 742.7282949558746, + 312.83041995585677, + -173.70683718910857, + -456.2811166630876, + -340.2978369641056, + -889.5635029732593, + 677.2875920865908, + 214.83563093822477, + -613.0249794141154, + 332.82403637640573, + 430.52957806820245, + -650.5412551165955, + 967.1412574735082, + 539.479174925093, + -868.4336935721757, + -292.8784869796581, +}; + +double result __attribute__ ((aligned (4096))); + +#ifdef BIST +double g = -20630028.9982514; +#endif // BIST + diff --git a/sw/blas/dotp/data/params.json b/sw/blas/dot/data/params.json similarity index 70% rename from sw/blas/dotp/data/params.json rename to sw/blas/dot/data/params.json index 66dfcf770f..329a03b50a 100644 --- a/sw/blas/dotp/data/params.json +++ b/sw/blas/dot/data/params.json @@ -1,4 +1,4 @@ -// Copyright 2023 ETH Zurich and University of Bologna. +// Copyright 2024 ETH Zurich and University of Bologna. // Licensed under the Apache License, Version 2.0, see LICENSE for details. // SPDX-License-Identifier: Apache-2.0 diff --git a/sw/blas/dotp/scripts/datagen.py b/sw/blas/dot/scripts/datagen.py similarity index 84% rename from sw/blas/dotp/scripts/datagen.py rename to sw/blas/dot/scripts/datagen.py index 94a5e1be1c..e0b5695855 100755 --- a/sw/blas/dotp/scripts/datagen.py +++ b/sw/blas/dot/scripts/datagen.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# Copyright 2023 ETH Zurich and University of Bologna. +# Copyright 2024 ETH Zurich and University of Bologna. # Licensed under the Apache License, Version 2.0, see LICENSE for details. # SPDX-License-Identifier: Apache-2.0 @@ -9,10 +9,10 @@ sys.path.append(os.path.join(os.path.dirname(__file__), "../../../../util/sim/")) from data_utils import format_scalar_definition, format_array_definition, \ - format_array_declaration, format_ifdef_wrapper, DataGen # noqa: E402 + format_scalar_declaration, format_ifdef_wrapper, DataGen # noqa: E402 -class AxpyDataGen(DataGen): +class DotDataGen(DataGen): MIN = -1000 MAX = +1000 @@ -38,7 +38,7 @@ def emit_header(self, **kwargs): section=kwargs['section'])] header += [format_array_definition('double', 'y', y, alignment=self.BURST_ALIGNMENT, section=kwargs['section'])] - header += [format_array_declaration('double', 'z', [n], alignment=self.BURST_ALIGNMENT, + header += [format_scalar_declaration('double', 'result', alignment=self.BURST_ALIGNMENT, section=kwargs['section'])] result_def = format_scalar_definition('double', 'g', g) header += [format_ifdef_wrapper('BIST', result_def)] @@ -48,4 +48,4 @@ def emit_header(self, **kwargs): if __name__ == '__main__': - sys.exit(AxpyDataGen().main()) + sys.exit(DotDataGen().main()) diff --git a/sw/blas/dotp/scripts/verify.py b/sw/blas/dot/scripts/verify.py similarity index 63% rename from sw/blas/dotp/scripts/verify.py rename to sw/blas/dot/scripts/verify.py index 5ea42423e0..9d61ff4667 100755 --- a/sw/blas/dotp/scripts/verify.py +++ b/sw/blas/dot/scripts/verify.py @@ -1,32 +1,31 @@ #!/usr/bin/env python3 -# Copyright 2023 ETH Zurich and University of Bologna. +# Copyright 2024 ETH Zurich and University of Bologna. # Licensed under the Apache License, Version 2.0, see LICENSE for details. # SPDX-License-Identifier: Apache-2.0 import sys from pathlib import Path -from datagen import AxpyDataGen +from datagen import DotDataGen sys.path.append(str(Path(__file__).parent / '../../../../util/sim/')) from verif_utils import Verifier # noqa: E402 -class AxpyVerifier(Verifier): +class DotVerifier(Verifier): - OUTPUT_UIDS = ['z'] + OUTPUT_UIDS = ['result'] def get_actual_results(self): - return self.get_output_from_symbol('z', 'double') + return self.get_output_from_symbol('result', 'double') def get_expected_results(self): - a = self.get_input_from_symbol('a', 'double') x = self.get_input_from_symbol('x', 'double') y = self.get_input_from_symbol('y', 'double') - return AxpyDataGen().golden_model(a, x, y) + return DotDataGen().golden_model(x, y) def check_results(self, *args): return super().check_results(*args, rtol=1e-10) if __name__ == "__main__": - sys.exit(AxpyVerifier().main()) + sys.exit(DotVerifier().main()) diff --git a/sw/blas/dotp/src/dotp.h b/sw/blas/dot/src/dot.h similarity index 52% rename from sw/blas/dotp/src/dotp.h rename to sw/blas/dot/src/dot.h index f2052e7397..582eaac992 100644 --- a/sw/blas/dotp/src/dotp.h +++ b/sw/blas/dot/src/dot.h @@ -4,24 +4,24 @@ #include "snrt.h" -inline void dotp_seq (uint32_t N, double *input_A, double *input_B, double *output) { +inline void dot_seq(uint32_t n, double *x, double *y, double *output) { // Start of SSR region. register volatile double ft0 asm("ft0"); register volatile double ft1 asm("ft1"); asm volatile("" : "=f"(ft0), "=f"(ft1)); - snrt_ssr_loop_1d(SNRT_SSR_DM0, N, sizeof(double)); - snrt_ssr_loop_1d(SNRT_SSR_DM1, N, sizeof(double)); + snrt_ssr_loop_1d(SNRT_SSR_DM0, n, sizeof(double)); + snrt_ssr_loop_1d(SNRT_SSR_DM1, n, sizeof(double)); - snrt_ssr_read(SNRT_SSR_DM0, SNRT_SSR_1D, input_A); - snrt_ssr_read(SNRT_SSR_DM1, SNRT_SSR_1D, input_B); + snrt_ssr_read(SNRT_SSR_DM0, SNRT_SSR_1D, x); + snrt_ssr_read(SNRT_SSR_DM1, SNRT_SSR_1D, y); register volatile double res_ssr asm("fs0") = 0; snrt_ssr_enable(); - const register uint32_t Nm1 asm("t0") = N - 1; + const register uint32_t Nm1 asm("t0") = n - 1; asm volatile( "frep.o %[n_frep], 1, 0, 0 \n" "fmadd.d %0, ft0, ft1, %0" @@ -38,18 +38,18 @@ inline void dotp_seq (uint32_t N, double *input_A, double *input_B, double *outp output[0] = res_ssr; } -inline void dotp_seq_4_acc (uint32_t N, double *input_A, double *input_B, double *output) { +inline void dot_seq_4_acc(uint32_t n, double *x, double *y, double *output) { // Start of SSR region. register volatile double ft0 asm("ft0"); register volatile double ft1 asm("ft1"); asm volatile("" : "=f"(ft0), "=f"(ft1)); - snrt_ssr_loop_1d(SNRT_SSR_DM0, N, sizeof(double)); - snrt_ssr_loop_1d(SNRT_SSR_DM1, N, sizeof(double)); + snrt_ssr_loop_1d(SNRT_SSR_DM0, n, sizeof(double)); + snrt_ssr_loop_1d(SNRT_SSR_DM1, n, sizeof(double)); - snrt_ssr_read(SNRT_SSR_DM0, SNRT_SSR_1D, input_A); - snrt_ssr_read(SNRT_SSR_DM1, SNRT_SSR_1D, input_B); + snrt_ssr_read(SNRT_SSR_DM0, SNRT_SSR_1D, x); + snrt_ssr_read(SNRT_SSR_DM1, SNRT_SSR_1D, y); register volatile double res_ssr_0 asm("fs0") = 0; register volatile double res_ssr_1 asm("fs1") = 0; @@ -58,7 +58,7 @@ inline void dotp_seq_4_acc (uint32_t N, double *input_A, double *input_B, double snrt_ssr_enable(); - const register uint32_t Nm1 asm("t0") = (N >> 2) - 1; + const register uint32_t Nm1 asm("t0") = (n >> 2) - 1; asm volatile( "frep.o %[n_frep], 4, 0, 0 \n" "fmadd.d %0, ft0, ft1, %0 \n" @@ -86,3 +86,61 @@ inline void dotp_seq_4_acc (uint32_t N, double *input_A, double *input_B, double : "f"(ft0), "f"(ft1)); output[0] = res_ssr_0; } + +static inline void dot(uint32_t n, double *x, double *y, double *result) { + double *local_x, *local_y, *partial_sums; + + uint32_t start_cycle, end_cycle; + + // Allocate space in TCDM + local_x = (double *)snrt_l1_next(); + local_y = local_x + n; + partial_sums = local_y + n; + + // Copy data in TCDM + if (snrt_is_dm_core()) { + size_t size = n * sizeof(double); + snrt_dma_start_1d(local_x, x, size); + snrt_dma_start_1d(local_y, y, size); + snrt_dma_wait_all(); + } + + // Calculate size and pointers for each core + int core_idx = snrt_cluster_core_idx(); + int frac_core = n / snrt_cluster_compute_core_num(); + int offset_core = core_idx * frac_core; + local_x += offset_core; + local_y += offset_core; + + snrt_cluster_hw_barrier(); + + start_cycle = snrt_mcycle(); + + // Compute partial sums + if (snrt_is_compute_core()) { + dot_seq_4_acc(frac_core, local_x, local_y, &partial_sums[core_idx]); + } + + snrt_cluster_hw_barrier(); + + // Reduce partial sums on core 0 +#ifndef _DOTP_EXCLUDE_FINAL_SYNC_ + if (snrt_cluster_core_idx() == 0) { + for (uint32_t i = 1; i < snrt_cluster_compute_core_num(); i++) { + partial_sums[0] += partial_sums[i]; + } + snrt_fpu_fence(); + } +#endif + + end_cycle = snrt_mcycle(); + + snrt_cluster_hw_barrier(); + + // Copy data out of TCDM + if (snrt_is_dm_core()) { + *result = partial_sums[0]; + } + + snrt_cluster_hw_barrier(); +} diff --git a/sw/blas/dot/src/main.c b/sw/blas/dot/src/main.c new file mode 100644 index 0000000000..fa5df8805a --- /dev/null +++ b/sw/blas/dot/src/main.c @@ -0,0 +1,28 @@ +// Copyright 2023 ETH Zurich and University of Bologna. +// Licensed under the Apache License, Version 2.0, see LICENSE for details. +// SPDX-License-Identifier: Apache-2.0 + +#include "snrt.h" + +#include "data.h" +#include "dot.h" + +int main() { + + dot(n, x, y, &result); + +// TODO: currently only works for single cluster otherwise need to +// synchronize all cores here +#ifdef BIST + uint32_t nerr = 1; + + // Check computation is correct + if (snrt_global_core_idx() == 0) { + if (result == g) nerr--; + return nerr; + } + +#endif + + return 0; +} diff --git a/sw/blas/dotp/src/main.c b/sw/blas/dotp/src/main.c deleted file mode 100644 index 794bc08b83..0000000000 --- a/sw/blas/dotp/src/main.c +++ /dev/null @@ -1,110 +0,0 @@ -// Copyright 2023 ETH Zurich and University of Bologna. -// Licensed under the Apache License, Version 2.0, see LICENSE for details. -// SPDX-License-Identifier: Apache-2.0 - -#include "snrt.h" - -#include "printf.h" - -#define XSSR -#include "dotp.h" -#include "data.h" - -int main() { - double *local_x, *local_y, *local_z; - double *remote_x, *remote_y, *remote_z; - - volatile double sum; - - uint32_t start_cycle, end_cycle; - - // Calculate size and pointers for each cluster - uint32_t frac = n / snrt_cluster_num(); - uint32_t offset = frac * snrt_cluster_idx(); - remote_x = x + offset; - remote_y = y + offset; - remote_z = z + snrt_cluster_idx(); - - // Allocate space in TCDM - local_x = (double *)snrt_l1_next(); - local_y = local_x + frac; - local_z = local_y + frac; - - // Copy data in TCDM - if (snrt_is_dm_core()) { - size_t size = frac * sizeof(double); - snrt_dma_start_1d(local_x, remote_x, size); - snrt_dma_start_1d(local_y, remote_y, size); - snrt_dma_wait_all(); - } - - // Calculate TCDM size and pointers for each core - int core_idx = snrt_cluster_core_idx(); - int frac_core = n / snrt_cluster_compute_core_num(); - int offset_core = core_idx * frac_core; - local_x += offset_core; - local_y += offset_core; - local_z += core_idx; - - snrt_cluster_hw_barrier(); - - // Compute - if (!snrt_is_dm_core()) { - start_cycle = snrt_mcycle(); - dotp_seq_4_acc(frac_core, local_x, local_y, local_z); - snrt_cluster_hw_barrier(); - -#ifndef _DOTP_EXCLUDE_FINAL_SYNC_ - if (!snrt_cluster_core_idx()) { - sum = 0; - for (uint32_t i = 0; i < snrt_cluster_compute_core_num(); ++i) { - sum += local_z[i]; - } - } - snrt_fpu_fence(); -#endif - - end_cycle = snrt_mcycle(); - } else { - // DMA should also sync with the computational cores - snrt_cluster_hw_barrier(); - } - - snrt_cluster_hw_barrier(); - - if (!snrt_cluster_core_idx()) { - unsigned int runtime = end_cycle - start_cycle; - double performance = (double) (2 * n - 1) / runtime; - double util = 100 * (performance / (2 * snrt_cluster_compute_core_num())); - - printf("Core %d execution time: %u cycles\nPerformance: %f DP-FLOP/Cycle\nUtilization: %f%%\n", - snrt_cluster_core_idx(), runtime, performance, util); - } - - snrt_cluster_hw_barrier(); - - // Copy data out of TCDM - if (snrt_is_dm_core()) { - size_t size = frac_core * sizeof(double); - snrt_dma_start_1d(remote_z, local_z, size); - snrt_dma_wait_all(); - } - - snrt_cluster_hw_barrier(); - -// TODO: currently only works for single cluster otherwise need to -// synchronize all cores here -#ifdef BIST - uint32_t nerr = 1; - - // Check computation is correct - if (snrt_global_core_idx() == 0) { - if (sum == g) nerr--; - printf("%f %f\n", sum, g); - } - - return nerr; -#endif - - return 0; -} diff --git a/target/snitch_cluster/sw.mk b/target/snitch_cluster/sw.mk index 329b606a57..28ab6668d8 100644 --- a/target/snitch_cluster/sw.mk +++ b/target/snitch_cluster/sw.mk @@ -42,7 +42,7 @@ APPS = sw/apps/lto APPS += sw/apps/nop APPS += sw/apps/blas/axpy APPS += sw/apps/blas/gemm -APPS += sw/apps/blas/dotp +APPS += sw/apps/blas/dot APPS += sw/apps/dnn/batchnorm APPS += sw/apps/dnn/conv2d APPS += sw/apps/dnn/fusedconv diff --git a/target/snitch_cluster/sw/apps/blas/dotp/Makefile b/target/snitch_cluster/sw/apps/blas/dot/Makefile similarity index 84% rename from target/snitch_cluster/sw/apps/blas/dotp/Makefile rename to target/snitch_cluster/sw/apps/blas/dot/Makefile index 63f748994d..41e58a5340 100644 --- a/target/snitch_cluster/sw/apps/blas/dotp/Makefile +++ b/target/snitch_cluster/sw/apps/blas/dot/Makefile @@ -4,7 +4,7 @@ # # Matteo Perotti -include ../../../../../../sw/blas/dotp/Makefile +include ../../../../../../sw/blas/dot/Makefile include ../../common.mk $(DEP): $(DATA_H) diff --git a/target/snitch_cluster/sw/run.yaml b/target/snitch_cluster/sw/run.yaml index e5f07c731f..3842e3e706 100644 --- a/target/snitch_cluster/sw/run.yaml +++ b/target/snitch_cluster/sw/run.yaml @@ -78,6 +78,8 @@ runs: cmd: [../../../sw/blas/axpy/scripts/verify.py, "${sim_bin}", "${elf}"] - elf: apps/blas/gemm/build/gemm.elf cmd: [../../../sw/blas/gemm/scripts/verify.py, "${sim_bin}", "${elf}"] + - elf: apps/blas/dot/build/dot.elf + cmd: [../../../sw/blas/dot/scripts/verify.py, "${sim_bin}", "${elf}"] - elf: apps/dnn/batchnorm/build/batchnorm.elf - elf: apps/dnn/maxpool/build/maxpool.elf # - elf: apps/dnn/conv2d/build/conv2d.elf # Fails with wrong results diff --git a/util/sim/data_utils.py b/util/sim/data_utils.py index 9763d416f5..2ed621b34e 100644 --- a/util/sim/data_utils.py +++ b/util/sim/data_utils.py @@ -144,6 +144,16 @@ def format_scalar_definition(dtype, uid, scalar): return s +def format_scalar_declaration(dtype, uid, alignment=None, section=None): + attributes = _variable_attributes(alignment, section) + s = f'{_alias_dtype(dtype)} {uid}' + if attributes: + s += f' {attributes};' + else: + s += ';' + return s + + def format_array_initializer(dtype, array): s = '{\n' array = flatten(array)